CVE-2017-7871: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') (CWE-79)
value: trollepierre/tdm before 2017-04-13 is vulnerable to a reflected XSS in tdm-master/webhook.php (challenge parameter).
CWE description: The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
CVSS v3 base score: 6.1
Published: 2017-04-14T18:59Z
Repository: https://github.com/trollepierre/tdm
Language: PHP
Files changed: .gitignore, CONTRIBUTING.md, README.md, _newREADME.md, analyticstracking.php, article.php, articles.php, challenge.php, challenge/1/text.php, challenge/2/text.php, challenge/save/challenges_img.php, challenge/save/save.txt, challenge/save/text.php, challenges.php, contact.php, css/bootstrap.min.css, css/demo_notif.css, css/en.css, css/filters.svg, css/fr.css, css/jquery-jvectormap-1.2.2.css, css/main.css, css/normalize.css, css/ns-default_notif.css, css/ns-style-other_notif.css, css/style.css, destination.php, destination/destination_en.php, destination/destination_fr.php, destination/destination_img.php, destination/triposo.php, destinations.php, fonts/Angelina.svg, fonts/codropsicons/codropsicons.svg, fonts/codropsicons/license.txt, fonts/glyphicons-halflings-regular.svg, fonts/linecons/linecons.svg, index.php, js/M0.js, js/b5.js, js/b9.js, js/bootstrap.min.js, js/classie.js, js/comptearebours.js, js/comptearebours_en.js, js/jquery-1.8.2.js, js/jquery-jvectormap-1.2.2.min.js, js/jquery-jvectormap-world-mill-en.js, js/load-image-meta.js, js/load-image-orientation.js, js/load-image.js, js/modernizr.custom.js, js/notificationFx.js, js/snap.svg-min.js, js/url-map1.js, lang/en.php, lang/fr.php, lang/lang.php, lang/langchange.php, lib/ajax/challenge_update.php, lib/ajax/convert.php, lib/ajax/menage.php, lib/ajax/repare.php, lib/ajax/traitement, lib/ajax/traitementrecontact.php, lib/ajax/url.php, lib/ajax/verifconvert.php, lib/creerBdd.php, lib/cumulus/com/roytanck/wpcumulus/Tag.as, lib/cumulus/com/roytanck/wpcumulus/TagCloud.as, lib/cumulus/swfobject.js, lib/cumulus/tagcloud.xml, lib/cursor.txt, lib/cursorC.txt, lib/dropbox-sdk/Dropbox/AppInfo.php, lib/dropbox-sdk/Dropbox/AppInfoLoadException.php, lib/dropbox-sdk/Dropbox/ArrayEntryStore.php, lib/dropbox-sdk/Dropbox/AuthBase.php, lib/dropbox-sdk/Dropbox/AuthInfo.php, lib/dropbox-sdk/Dropbox/AuthInfoLoadException.php, lib/dropbox-sdk/Dropbox/Checker.php, lib/dropbox-sdk/Dropbox/Client.php, lib/dropbox-sdk/Dropbox/Curl.php, lib/dropbox-sdk/Dropbox/CurlStreamRelay.php, lib/dropbox-sdk/Dropbox/DeserializeException.php, lib/dropbox-sdk/Dropbox/DropboxMetadataHeaderCatcher.php, lib/dropbox-sdk/Dropbox/Exception.php, lib/dropbox-sdk/Dropbox/Exception/BadRequest.php, lib/dropbox-sdk/Dropbox/Exception/BadResponse.php, lib/dropbox-sdk/Dropbox/Exception/BadResponseCode.php, lib/dropbox-sdk/Dropbox/Exception/InvalidAccessToken.php, lib/dropbox-sdk/Dropbox/Exception/NetworkIO.php, lib/dropbox-sdk/Dropbox/Exception/ProtocolError.php, lib/dropbox-sdk/Dropbox/Exception/RetryLater.php, lib/dropbox-sdk/Dropbox/Exception/ServerError.php, lib/dropbox-sdk/Dropbox/Host.php, lib/dropbox-sdk/Dropbox/HttpResponse.php, lib/dropbox-sdk/Dropbox/OAuth1AccessToken.php, lib/dropbox-sdk/Dropbox/OAuth1Upgrader.php, lib/dropbox-sdk/Dropbox/Path.php, lib/dropbox-sdk/Dropbox/RequestUtil.php, lib/dropbox-sdk/Dropbox/SSLTester.php, lib/dropbox-sdk/Dropbox/Security.php, lib/dropbox-sdk/Dropbox/StreamReadException.php, lib/dropbox-sdk/Dropbox/ValueStore.php, lib/dropbox-sdk/Dropbox/WebAuth.php, lib/dropbox-sdk/Dropbox/WebAuthBase.php, lib/dropbox-sdk/Dropbox/WebAuthException/BadRequest.php, lib/dropbox-sdk/Dropbox/WebAuthException/BadState.php, lib/dropbox-sdk/Dropbox/WebAuthException/Csrf.php, lib/dropbox-sdk/Dropbox/WebAuthException/NotApproved.php, lib/dropbox-sdk/Dropbox/WebAuthException/Provider.php, lib/dropbox-sdk/Dropbox/WebAuthNoRedirect.php, lib/dropbox-sdk/Dropbox/WriteMode.php, lib/dropbox-sdk/Dropbox/autoload.php, lib/dropbox-sdk/Dropbox/certs/trusted-certs.crt, lib/dropbox-sdk/Dropbox/strict.php, liens.php, merci.php, planif.php, repare.php, robots.txt, src/Email.php, src/Webhook.php, tests/EmailTest.php, thanks.php, w/0fonctions.php, w/1head.php, w/2lightbox.php, w/3intro.php, w/4headerScroller.php, w/5notification.php, w/6contact.php, w/7comments.php, w/8footer.php, w/9end.php, w/traitementrecontact.php, webhook.php
Commit date: 2017-04-13 09:44:41 +0200
Commit message: fix(TDM-1) : fix issue #1

Diff: diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e003828
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,223 @@
+#################
+## Eclipse
+#################
+
+*.pydevproject
+.project
+.metadata
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.classpath
+.settings/
+.loadpath
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# CDT-specific
+.cproject
+
+# PDT-specific
+.buildpath
+
+
+#################
+## Visual Studio
+#################
+
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+
+# User-specific files
+*.suo
+*.user
+*.sln.docstates
+
+# Build results
+
+[Dd]ebug/
+[Rr]elease/
+x64/
+build/
+[Bb]in/
+[Oo]bj/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+*_i.c
+*_p.c
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.log
+*.scc
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opensdf
+*.sdf
+*.cachefile
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# NCrunch
+*.ncrunch*
+.*crunch*.local.xml
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.Publish.xml
+*.pubxml
+
+# NuGet Packages Directory
+## TODO: If you have NuGet Package Restore enabled, uncomment the next line
+#packages/
+
+# Windows Azure Build Output
+csx
+*.build.csdef
+
+# Windows Store app package directory
+AppPackages/
+
+# Others
+sql/
+*.Cache
+ClientBin/
+[Ss]tyle[Cc]op.*
+~$*
+*~
+*.dbmdl
+*.[Pp]ublish.xml
+*.pfx
+*.publishsettings
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file to a newer
+# Visual Studio version. Backup files are not needed, because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+
+# SQL Server files
+App_Data/*.mdf
+App_Data/*.ldf
+
+#############
+## Windows detritus
+#############
+
+# Windows image file caches
+Thumbs.db
+ehthumbs.db
+
+# Folder config file
+Desktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Mac crap
+.DS_Store
+
+
+#############
+## Python
+#############
+
+*.py[cod]
+
+# Packages
+*.egg
+*.egg-info
+dist/
+build/
+eggs/
+parts/
+var/
+sdist/
+develop-eggs/
+.installed.cfg
+
+# Installer logs
+pip-log.txt
+
+# Unit test / coverage reports
+.coverage
+.tox
+
+#Translations
+*.mo
+
+#Mr Developer
+.mr.developer.cfg
+lib/dropboxAPI.php
+lib/alwaysdata.php
+lib/app-info.json
+z dev.txt
+.htaccess
+lib/en.txt
+lib/fr.txt
+lib/you.txt
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..ba81c0d
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,42 @@
+tdm
+===
+
+*www.recontact.me*
+
+
+ 1. Windows Installation.  
+ 2. Linux Installation. 
+ 3. Others sections to be written:
+* About updated your fork:  
+* About testing:  
+* About what to check before send a pull-request:  
+
+
+-------------------------------
+
+__Install Windows :__
+
+1. Install Wamp (64bits is better) : http://www.wampserver.com/#download-wrapper 
+2. Install GitHub for Windows : https://windows.github.com/
+3. On GitHub for Windows, clic on + to add repository
+4. But choose to Clone your fork into C:\wamp\www\ and call it "tdm" 
+5. Then on the navigator, the URL is localhost/Site or localhost/tdm/Site
+
+-------
+
+**Install Linux :**
+
+1. sudo apt-get install lamp-server
+2. sudo ln -s /folder/perso/tdm/Site /var/www/
+3. Then on the navigator, the URL is localhost/Site or localhost/tdm/Site
+
+** And you need also   
+Ubuntu: apt-get install php5-curl  
+Fedora / Amazon Linux: yum install php-curl  
+from [http://mtdowling.com/blog/2013/05/02/requiring-curl-in-your-php-library/][1]
+
+** and php_pdo_mysql
+from [http://fr.openclassrooms.com/informatique/cours/concevez-votre-site-web-avec-php-et-mysql/lire-des-donnees-2][2]
+
+  [1]: http://mtdowling.com/blog/2013/05/02/requiring-curl-in-your-php-library/
+  [2]: http://fr.openclassrooms.com/informatique/cours/concevez-votre-site-web-avec-php-et-mysql/lire-des-donnees-2
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..eb74f6a
--- /dev/null
+++ b/README.md
@@ -0,0 +1,60 @@
+# tdm
+# Travel blog updated with Dropbox webhook - learn Dropbox webhooks, PHP, SQL, JS,...
+===
+*to write again*
+
+Visible sur l'adresse [www.recontact.me](www.recontact.me)
+
+
+## Synopsis
+
+This project is a project and task manager program. Developed from scratch with PHP/jQuery
+
+Le site raconte notre voyage et se remplira au fur et Ã  mesure de notre synchronisation sur Dropbox.  
+On utilise PHP (avec l'extension php_curl)  
+et l'interface avec Dropbox se fait avec la Core API Dropbox. (cf le dossier lib)
+
+## Code Example
+
+**Contenu**
+
+Dans ce dossier, on trouve de nombreux dossiers et fichiers. Ainsi :
+
+    article/ permet l upload automatique d articles. L appel Ã  ce dossier vient de
+    article.php, le modÃ¨le de page des articles
+    challenge/ idem
+    challenge.php idem
+    destination/ contient le contenu des pages destinations c'est Ã  dire img et le fichier d import image : destination_img. Ãgalement le contenu textuel sÃ©parÃ© entre les diffÃ©rentes langues
+    destination.php pour l appel de ses destinations
+    ...
+
+
+## Motivation
+
+Share the articles and pictures of my website when travelling. Uploads come from Dropbox. Dropbox webhooks are used to launch synchronisation.
+
+## Installation
+
+Fork it
+
+## API Reference
+
+None
+
+## Tests
+
+Use your localhost
+
+## Maintainer
+
+[Pierre Trolle](https://github.com/trollepierre) - [@trollepierre](https://twitter.com/PierreTrolle)
+
+## License (MIT)
+
+Copyright (c) Pierre Trolle ("Author")
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/_newREADME.md b/_newREADME.md
new file mode 100644
index 0000000..00ac5ac
--- /dev/null
+++ b/_newREADME.md
@@ -0,0 +1,9 @@
+**PHP UNIT**
+
+Lancer chaque test :
+
+    phpunit --bootstrap src/Email.php --testdox tests
+
+Lancer tous les tests :
+
+    phpunit --bootstrap src/Email.php tests/EmailTest.php      
\ No newline at end of file
diff --git a/analyticstracking.php b/analyticstracking.php
new file mode 100644
index 0000000..6f2738f
--- /dev/null
+++ b/analyticstracking.php
@@ -0,0 +1,10 @@
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-51243444-1', 'auto');
+  ga('send', 'pageview');
+
+</script>
\ No newline at end of file
diff --git a/article.php b/article.php
new file mode 100644
index 0000000..1bc88cd
--- /dev/null
+++ b/article.php
@@ -0,0 +1,128 @@
+<?php   
+    include("lib/creerBdd.php");
+    $reponse = $bdd->query('SELECT count(*) AS count FROM article');
+    while ($donnees = $reponse->fetch()){
+        $count= htmlspecialchars($donnees['count']) ;
+    }
+    $id = (isset($_GET['id'])) ? htmlspecialchars($_GET['id']) : $count ;    
+    $reponse->closeCursor();
+    require("w/0fonctions.php");
+    require("w/1head.php");
+?>
+    <script type="text/javascript">
+        <?php RemplirWindowImage('article'); ?>
+    </script>
+<?php    
+    echo '<style type="text/css">';
+    IconBackgroundA('article');
+?>
+    </style>
+   
+</head>
+
+<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
+    <div id="fb-root"></div>
+<script>(function(d, s, id) {
+  var js, fjs = d.getElementsByTagName(s)[0];
+  if (d.getElementById(id)) return;
+  js = d.createElement(s); js.id = id;
+  js.src = "//connect.facebook.net/fr_FR/sdk.js#xfbml=1&appId=661854923873753&version=v2.0";
+  fjs.parentNode.insertBefore(js, fjs);
+}(document, 'script', 'facebook-jssdk'));</script>
+<?php require("w/2lightbox.php");?>
+<?php require("w/4headerScroller.php");?>
+
+    <div class="mobile-content">
+        <div class="flexslider">
+            <div class="slides">
+                <?php ArticlesClock('article');?>
+            </div>
+        </div>
+    </div>
+    <div class='timeline' style="">
+        <div class='timeline-bg timeline-bg1 show'></div>
+        <div class='timeline-controller'>
+            <div class='mode-icon mode-icon1 show' >
+    <?php 
+    include("lib/creerBdd.php");
+    global $id;
+    $reponse = $bdd->query('SELECT img_link FROM article_contenu WHERE article_uid = '.$id.' AND position = 1');
+    // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
+    while ($donnees = $reponse->fetch()){
+      echo '<img style="border : 1px solid black;" class="centreImgTime" src="'.htmlspecialchars($donnees['img_link']).'">';
+    }
+    $reponse->closeCursor();
+    ?></div>
+        </div>
+        <div class='inside'>
+            <div class='clocks'>
+                <div class='time'>
+                    <span class='hours'>1</span>
+                </div>
+            </div>
+            <div class='modes' id="dest">
+                <?php ArticlesTime('article');?>
+            </div>
+        </div>
+    </div>
+    <div id="lesAutresPhotos"></div>
+    <div class="carousel" >
+        <div class="ourArticles">
+           <a  class="discover btn btn-xs btn-primary" role="button" target="_blank" title="<?php echo ALTVLAPDLA; ?>" href=
+                <?php 
+                include("lib/creerBdd.php");
+                 global $id;
+                  $reponse = $bdd->query('SELECT dropbox_link FROM article WHERE article_uid = '.$id.' ORDER BY id');
+                while ($donnees = $reponse->fetch()){
+                    $dropbox_link=htmlspecialchars($donnees['dropbox_link']);
+                    echo '"'.$dropbox_link.'"';
+                }
+                $reponse->closeCursor();
+                ?>
+                >
+                 <h1> <?php echo VLAPDLA; ?> </h1>
+            </a>
+        </div>
+        <div class="flex-slider carousel">
+            <ul class="slides">
+            <?php
+            include("lib/creerBdd.php");
+            global $id;
+            $reponse = $bdd->query('SELECT img_link FROM article_galerie WHERE article_uid = '.$id.' ORDER BY id');
+            while ($donnees = $reponse->fetch()){
+                Carroussel($dropbox_link, htmlspecialchars($donnees['img_link']));
+            }
+            $reponse->closeCursor();
+            ?>   
+            </ul>
+        </div>
+        <div class="ourArticles">
+             <a href="articles.php"  class="discover btn btn-xs btn-primary" role="button" title="<?php echo ALTVLAA; ?>">
+                <h1> <?php echo VLAA; ?> </h1>
+            </a>
+        </div>
+         <div class="flex-slider carousel">
+            <ul class="slides">
+               <?php 
+               include("lib/creerBdd.php");
+$reponse = $bdd->query('SELECT nom, name,article_uid,img_link FROM article ORDER BY article_uid DESC');
+while ($donnees = $reponse->fetch())
+    {
+       $nome = ($lang==='fr') ? 'nom' : 'name' ;
+        ImgCarroussel(htmlspecialchars($donnees[$nome]),htmlspecialchars($donnees['article_uid']),'article', htmlspecialchars($donnees['img_link']));
+    }
+    $reponse->closeCursor();
+                ?>
+            </ul>
+        </div>
+
+    </div>
+    <div class="fbCenter">
+        <div class="fb-comments" data-href="http://www.recontact.me/article.php?id=<?php echo $id; ?>" data-width="600px" data-numposts="5" data-colorscheme="light"></div>
+    </div>
+<div class="espace"> . </div>
+    <div id="caracteristiques"></div><!--INDISPENSABLE : WHY?-->
+    <div class="galery" id="gallery"></div>
+
+<?php require("w/8footer.php");?>
+<?php require("w/9end.php");?>
\ No newline at end of file
diff --git a/articles.php b/articles.php
new file mode 100644
index 0000000..d14943c
--- /dev/null
+++ b/articles.php
@@ -0,0 +1,90 @@
+<?php   
+    require("w/0fonctions.php");
+?>
+<?php    
+    require("w/1head.php");
+?>
+    <style type="text/css">
+        .clocks{
+        z-index: -2;
+        }
+    </style>
+    <script type="text/javascript">
+        <?php 
+        include("lib/creerBdd.php");
+  global $id;
+  $reponse = $bdd->query('SELECT img_link FROM article ORDER BY article_uid DESC');
+  // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
+  $images = array();
+  echo 'window.images = [' ;
+  $compteur=1;
+  while ($donnees = $reponse->fetch())
+    {
+     $compteur++;
+     echo '"'.htmlspecialchars($donnees['img_link']).'",';
+    }
+    echo "];";
+    $reponse->closeCursor();
+     ?>
+    </script>
+   
+</head>
+
+<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
+<?php require("w/2lightbox.php");?>
+<?php require("w/4headerScroller.php");?>
+
+    <div class="mobile-content">
+        <div class="flexslider">
+            <div class="slides">
+                <?php /*ArticlesClock('article');*/?>
+            </div>
+        </div>
+    </div>
+    <div class='timeline' style="">
+        <div class='timeline-bg timeline-bg1 show'></div>
+        <div class='timeline-controller'>
+            <div class='mode-icon mode-icon1 show' >
+    <?php 
+    include("lib/creerBdd.php");
+    global $id;
+    $reponse = $bdd->query('SELECT img_link FROM article WHERE article_uid = '.$compteur);
+    // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
+    while ($donnees = $reponse->fetch()){
+      echo '<img class="centreImgTime" src="'.htmlspecialchars($donnees['img_link']).'">';
+    }
+    $reponse->closeCursor();
+    ?></div>
+        </div>
+        <div class='inside'>
+            <div class='clocks'>
+                <div class='time'>
+                    <span class='hours'>1</span>
+                </div>
+            </div>
+            <div class='modes' id="dest">
+              <?php 
+              include("lib/creerBdd.php");
+                  global $id;
+                  $nom = ($lang==="fr") ? "nom" : "name" ;
+                  $voirlarticle = ($lang==="fr") ? 'Voir l\'article' : 'See the article' ;
+                  $reponse = $bdd->query('SELECT article_uid,'.$nom.' FROM article ORDER BY article_uid DESC');
+                  // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
+                  while ($donnees = $reponse->fetch()){
+                    $au=$compteur + 1 - htmlspecialchars($donnees['article_uid']);
+                    echo '<p class="mode mode'.$au.'" data-bg="'.$au.'">
+                         <br/>        <span class="titreArticle">     '.htmlspecialchars($donnees[$nom]).'      </span>
+                          <br/> <br/> <a class="btn btn-lg btn-primary"  href="article.php?id='.htmlspecialchars($donnees['article_uid']).'"> <span style="display:block; font-size: 30px; font-weight: normal;font-family: inherit;"> '.$voirlarticle.'</span> </a>
+                        </p>';
+                  }
+                  $reponse->closeCursor();
+                  ?>
+            </div>
+        </div>
+    </div>
+    
+    <div id="caracteristiques"></div><!--INDISPENSABLE : WHY?-->
+    <div class="galery" id="gallery"></div>
+
+<?php require("w/8footer.php");?>
+<?php require("w/9end.php");?>
\ No newline at end of file
diff --git a/challenge.php b/challenge.php
new file mode 100644
index 0000000..23f453f
--- /dev/null
+++ b/challenge.php
@@ -0,0 +1,99 @@
+<?php   
+    include("lib/creerBdd.php");
+    $reponse = $bdd->query('SELECT count(*) AS count FROM challenge');
+    while ($donnees = $reponse->fetch()){
+        $count= htmlspecialchars($donnees['count']) ;
+    }
+    $id = (isset($_GET['id'])) ? htmlspecialchars($_GET['id']) : $count ;    
+    $reponse->closeCursor();
+    require("w/0fonctions.php");
+    require("w/1head.php");
+    ?>
+    <script type="text/javascript">
+        <?php RemplirWindowImage('challenge'); ?>
+    </script>
+<?php    
+    echo '<style type="text/css">';
+    IconBackgroundA('challenge');
+?>
+    </style>
+</head>
+
+<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
+       <div id="fb-root"></div>
+<script>(function(d, s, id) {
+  var js, fjs = d.getElementsByTagName(s)[0];
+  if (d.getElementById(id)) return;
+  js = d.createElement(s); js.id = id;
+  js.src = "//connect.facebook.net/fr_FR/sdk.js#xfbml=1&appId=661854923873753&version=v2.0";
+  fjs.parentNode.insertBefore(js, fjs);
+}(document, 'script', 'facebook-jssdk'));</script>
+
+<?php require("w/2lightbox.php");?>
+<?php require("w/4headerScroller.php");?>
+
+    <div class="mobile-content">
+        <div class="flexslider">
+            <div class="slides">
+                <?php ArticlesClock('challenge'); ?>
+            </div>
+        </div>
+    </div>
+    <div class='timeline' style="">
+        <div class='timeline-bg timeline-bg1 show'></div>
+        <div class='timeline-controller'>
+            <div class='mode-icon mode-icon1 show' >
+                  <?php 
+    include("lib/creerBdd.php");
+    global $id;
+    $reponse = $bdd->query('SELECT img_link FROM challenge_contenu WHERE challenge_uid = '.$id.' AND position = 1');
+    // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
+    while ($donnees = $reponse->fetch()){
+      echo '<img style="border : 1px solid black;" class="centreImgTime" src="'.htmlspecialchars($donnees['img_link']).'">';
+    }
+    $reponse->closeCursor();
+    ?></div>
+        </div>
+        <div class='inside'>
+            <div class='clocks'>
+                <div class='time'>
+                    <span class='hours'>1</span>
+                </div>
+            </div>
+            <div class='modes' id="dest">
+                <?php ArticlesTime('challenge'); ?>
+            </div>
+        </div>
+    </div>
+     <div id="lesAutresPhotos"></div>
+    <div class="carousel" >
+        
+
+        
+        <div class="ourArticles">
+           <a href="challenges.php"  class="discover btn btn-xs btn-danger" role="button"  title="<?php echo ALTVLAD; ?>">
+                <h1> <?php echo VLAD; ?> </h1>
+            </a>
+        </div>
+ <div class="flex-slider carousel">
+            <ul class="slides">
+                <?php 
+                include("lib/creerBdd.php");
+                $reponse = $bdd->query('SELECT nom, name,challenge_uid,img_link FROM challenge ORDER BY challenge_uid DESC');
+                while ($donnees = $reponse->fetch()){
+                    $nome = ($lang==='fr') ? 'nom' : 'name' ;
+                    ImgCarroussel(htmlspecialchars($donnees[$nome]),htmlspecialchars($donnees['challenge_uid']),'challenge', htmlspecialchars($donnees['img_link']));
+                }
+                $reponse->closeCursor();
+                ?>
+            </ul>
+        </div>
+    </div>
+     <div class="fbCenter">
+        <div class="fb-comments" data-href="http://www.recontact.me/challenge.php?id=<?php echo $id; ?>" data-width="600px" data-numposts="5" data-colorscheme="light"></div>
+    </div>
+    <div class="espace">. </div>
+    <div id="caracteristiques"></div><!--INDISPENSABLE : WHY?-->
+    <div class="galery" id="gallery"></div>
+<?php require("w/8footer.php");?>
+<?php require("w/9end.php");?>
diff --git a/challenge/1/img0.jpg b/challenge/1/img0.jpg
new file mode 100644
index 0000000..b1d2585
Binary files /dev/null and b/challenge/1/img0.jpg differ
diff --git a/challenge/1/img1.jpg b/challenge/1/img1.jpg
new file mode 100644
index 0000000..b1d2585
Binary files /dev/null and b/challenge/1/img1.jpg differ
diff --git a/challenge/1/img2.jpg b/challenge/1/img2.jpg
new file mode 100644
index 0000000..bfdb259
Binary files /dev/null and b/challenge/1/img2.jpg differ
diff --git a/challenge/1/text.php b/challenge/1/text.php
new file mode 100644
index 0000000..035d088
--- /dev/null
+++ b/challenge/1/text.php
@@ -0,0 +1,19 @@
+<?php 
+
+$contentArticles = array (
+	array('TITLE',  'Â§'),
+	array('Challenge', "
+			Version Francaise en-dessous.
+			On this page, you will find all the challenges we realised during the world trip.
+			Post a lot of challenges because we count on you to make our trip becoming exciting!
+			If you are just curious, have a look to the list of proposed challenges
+		"),
+	array('Les dÃ©fis !', "
+		Sur cette page, vous retrouverez l'ensemble des defis que nous realiserons.
+		Postez un max de defis car on compte sur vous pour agrementer nos tours du monde.
+		Si vous cherchez des idees de defis, jeter un oeil a la liste des defis proposees.
+		")
+	);
+?>
+
+
diff --git a/challenge/2/img0.jpg b/challenge/2/img0.jpg
new file mode 100644
index 0000000..65b7afa
Binary files /dev/null and b/challenge/2/img0.jpg differ
diff --git a/challenge/2/img1.jpg b/challenge/2/img1.jpg
new file mode 100644
index 0000000..65b7afa
Binary files /dev/null and b/challenge/2/img1.jpg differ
diff --git a/challenge/2/img2.jpg b/challenge/2/img2.jpg
new file mode 100644
index 0000000..cc44a97
Binary files /dev/null and b/challenge/2/img2.jpg differ
diff --git a/challenge/2/text.php b/challenge/2/text.php
new file mode 100644
index 0000000..85454c4
--- /dev/null
+++ b/challenge/2/text.php
@@ -0,0 +1,20 @@
+<?php 
+
+$contentArticles = array (
+	array('TITLE',  'Â§'),
+	array('Paperclip Exchanging', "
+			Version Francaise en-dessous.
+			Each of us will start with one paper clip. 
+			The aim of this challenge will be to exchange the paperclip for another object, the object for another one...
+			The winner is the one with the best object at the end of the trip.   
+			Discover all the objects we get.
+		"),
+	array('Les dÃ©fis !', "
+		Chacun d'entre nous partira avec un trombone.
+		Le but de ce dÃ©fi est de revenir avec le meilleur objet Ã  la fin du voyage en rÃ©alisant des Ã©changes d'objets.
+		DÃ©couvrez tous les objets Ã©changÃ©s !
+		")
+	);
+?>
+
+
diff --git a/challenge/paysage.gif b/challenge/paysage.gif
new file mode 100644
index 0000000..3b5b153
Binary files /dev/null and b/challenge/paysage.gif differ
diff --git a/challenge/save/Ben&PiR.JPG b/challenge/save/Ben&PiR.JPG
new file mode 100644
index 0000000..ef1e5f2
Binary files /dev/null and b/challenge/save/Ben&PiR.JPG differ
diff --git a/challenge/save/challenges_img.php b/challenge/save/challenges_img.php
new file mode 100644
index 0000000..52e130c
--- /dev/null
+++ b/challenge/save/challenges_img.php
@@ -0,0 +1,53 @@
+<?php
+	if (isset($_GET['dest'])) 
+	{
+		$dest=htmlspecialchars($_GET['dest']);
+		if ($dest=='southAmerica') 
+		{     
+		/*	Page south america.php	*/
+		$LINK = array ('brazil', 'argentina', 'paraguay', 'bolivia', 'peru', 'chile');
+		//define('GMAP', '<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=d&amp;source=s_d&amp;saddr=Rio+de+Janeiro,+%C3%89tat+de+Rio+de+Janeiro,+Br%C3%A9sil&amp;daddr=S%C3%A3o+Paulo+-+%C3%89tat+de+S%C3%A3o+Paulo,+Br%C3%A9sil+to:Iguazu+Falls+-+Puerto+Iguaz%C3%BA,+Misiones+Province,+Argentine+to:Ciudad+del+Este,+Paraguay+to:Encarnaci%C3%B3n,+Paraguay+to:Asunci%C3%B3n,+Paraguay+to:Resistencia,+Province+du+Chaco,+Argentine+to:Salta,+Province+de+Salta,+Argentine+to:Lima,+P%C3%A9rou&amp;geocode=FWxyov4dnt1s_SkLtSRC_n6ZADHuWWyEPCWI-Q%3BFcilmP4do244_SnRYaSDgUTOlDGuWzP_CEupmw%3BFTkGef4dQKK__CEW9lXJdAbN2yl37f_jEpP2lDEW9lXJdAbN2w%3BFYWlev4dpZ2-_CnRsbb-mYT2lDEeC3Drnsszzg%3BFbwpYP4djdOq_Cnrz5dVXpVXlDFxwAX_R9L3bw%3BFWs5fv4d5I6Q_Cn122luB6hdlDHJNhm_RnrrrA%3BFfgeXf4d9PB7_CkL9_WmYgxFlDFtzcIRZcg68A%3BFazXhf4dxeMZ_Cn5t1FRo8MblDEG8ofVLJnNpQ%3BFdovSP8dl2to-ylnllMe28gFkTEp2nugilNFTw&amp;aq=0&amp;oq=Lima&amp;sll=-23.443089,-55.634766&amp;sspn=23.454806,43.286133&amp;t=h&amp;gl=US&amp;hl=fr&amp;mra=ls&amp;ie=UTF8&amp;ll=-23.443089,-55.634766&amp;spn=15.423874,33.848259&amp;output=embed"></iframe><br /><small><a href="https://maps.google.com/maps?f=d&amp;source=embed&amp;saddr=Rio+de+Janeiro,+%C3%89tat+de+Rio+de+Janeiro,+Br%C3%A9sil&amp;daddr=S%C3%A3o+Paulo+-+%C3%89tat+de+S%C3%A3o+Paulo,+Br%C3%A9sil+to:Iguazu+Falls+-+Puerto+Iguaz%C3%BA,+Misiones+Province,+Argentine+to:Ciudad+del+Este,+Paraguay+to:Encarnaci%C3%B3n,+Paraguay+to:Asunci%C3%B3n,+Paraguay+to:Resistencia,+Province+du+Chaco,+Argentine+to:Salta,+Province+de+Salta,+Argentine+to:Lima,+P%C3%A9rou&amp;geocode=FWxyov4dnt1s_SkLtSRC_n6ZADHuWWyEPCWI-Q%3BFcilmP4do244_SnRYaSDgUTOlDGuWzP_CEupmw%3BFTkGef4dQKK__CEW9lXJdAbN2yl37f_jEpP2lDEW9lXJdAbN2w%3BFYWlev4dpZ2-_CnRsbb-mYT2lDEeC3Drnsszzg%3BFbwpYP4djdOq_Cnrz5dVXpVXlDFxwAX_R9L3bw%3BFWs5fv4d5I6Q_Cn122luB6hdlDHJNhm_RnrrrA%3BFfgeXf4d9PB7_CkL9_WmYgxFlDFtzcIRZcg68A%3BFazXhf4dxeMZ_Cn5t1FRo8MblDEG8ofVLJnNpQ%3BFdovSP8dl2to-ylnllMe28gFkTEp2nugilNFTw&amp;aq=0&amp;oq=Lima&amp;sll=-23.443089,-55.634766&amp;sspn=23.454806,43.286133&amp;t=h&amp;gl=US&amp;hl=fr&amp;mra=ls&amp;ie=UTF8&amp;ll=-23.443089,-55.634766&amp;spn=15.423874,33.848259" style="color:#0000FF;text-align:left">Agrandir le plan</a></small>');
+		} elseif ($dest=='newZealand') {
+		/* 	Page new zealand.php 	*/
+		$LINK = array ('auckland','tekapo','cook','queenstown','milford','haastPass');
+		//define('GMAP', '<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=d&amp;source=s_d&amp;saddr=Christchurch,+Canterbury,+Nouvelle-Z%C3%A9lande&amp;daddr=Tekapo,+Canterbury,+Nouvelle-Z%C3%A9lande+to:Mount+Cook+National+Park,+Canterbury,+Nouvelle-Z%C3%A9lande+to:State+Highway+8,+Alexandra,+Otago,+Nouvelle-Z%C3%A9lande+to:Dunedin,+Otago,+Nouvelle-Z%C3%A9lande+to:Queenstown,+Otago,+Nouvelle-Z%C3%A9lande+to:Milford+Sound,+New+Zealand+to:Wanaka,+New+Zealand+to:Southern+Alps+Media,+Southern+Alps+Media,+695+Aubrey+Rd,+Wanaka+9343,+Nouvelle-Z%C3%A9lande+to:Haast+Pass+to:Greymouth,+West+Coast,+Nouvelle-Z%C3%A9lande+to:Christchurch,+Nouvelle-Z%C3%A9lande&amp;hl=fr&amp;geocode=FerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ%3BFXljYv0dfB8qCim31PesCZkrbTHA2GSrhu8AKg%3BFWLMZv0dfv8lCiFgWFxlh-8ADyntspyr4cUrbTFgWFxlh-8ADw%3BFWloTf0dgbEYCilri_vT3UgqqDFpox-JNLWbTw%3BFRjyQ_0djqopCik9UV8P4OQrqDFBmXmEhu8ABQ%3BFQbhUP0ddJYNCilf3qjX8R3VqTEApnmEhu8ABQ%3BFYbTVv0dJOkBCinhSUu6TeDVqTEA3mSrhu8AKg%3BFTPiVf0dQsAUCilvLey5HUbVqTHgwXmEhu8ABQ%3BFXBBVv0dIkIVCik1K2EDBU_VqTEsiDsybb6qgA%3BFWAWX_0dcBMYCikxSDxKRmLVbDENhi9khLXo6Q%3BFShCeP0dCng0CilTENVN2T8vbTGgcnmEhu8ABQ%3BFerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ&amp;aq=0&amp;oq=chr&amp;sll=-43.133061,171.606445&amp;sspn=4.690365,10.821533&amp;mra=ls&amp;ie=UTF8&amp;ll=-43.133061,171.606445&amp;spn=3.681025,4.905224&amp;t=m&amp;output=embed"></iframe><br /><small><a href="https://maps.google.com/maps?f=d&amp;source=embed&amp;saddr=Christchurch,+Canterbury,+Nouvelle-Z%C3%A9lande&amp;daddr=Tekapo,+Canterbury,+Nouvelle-Z%C3%A9lande+to:Mount+Cook+National+Park,+Canterbury,+Nouvelle-Z%C3%A9lande+to:State+Highway+8,+Alexandra,+Otago,+Nouvelle-Z%C3%A9lande+to:Dunedin,+Otago,+Nouvelle-Z%C3%A9lande+to:Queenstown,+Otago,+Nouvelle-Z%C3%A9lande+to:Milford+Sound,+New+Zealand+to:Wanaka,+New+Zealand+to:Southern+Alps+Media,+Southern+Alps+Media,+695+Aubrey+Rd,+Wanaka+9343,+Nouvelle-Z%C3%A9lande+to:Haast+Pass+to:Greymouth,+West+Coast,+Nouvelle-Z%C3%A9lande+to:Christchurch,+Nouvelle-Z%C3%A9lande&amp;hl=fr&amp;geocode=FerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ%3BFXljYv0dfB8qCim31PesCZkrbTHA2GSrhu8AKg%3BFWLMZv0dfv8lCiFgWFxlh-8ADyntspyr4cUrbTFgWFxlh-8ADw%3BFWloTf0dgbEYCilri_vT3UgqqDFpox-JNLWbTw%3BFRjyQ_0djqopCik9UV8P4OQrqDFBmXmEhu8ABQ%3BFQbhUP0ddJYNCilf3qjX8R3VqTEApnmEhu8ABQ%3BFYbTVv0dJOkBCinhSUu6TeDVqTEA3mSrhu8AKg%3BFTPiVf0dQsAUCilvLey5HUbVqTHgwXmEhu8ABQ%3BFXBBVv0dIkIVCik1K2EDBU_VqTEsiDsybb6qgA%3BFWAWX_0dcBMYCikxSDxKRmLVbDENhi9khLXo6Q%3BFShCeP0dCng0CilTENVN2T8vbTGgcnmEhu8ABQ%3BFerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ&amp;aq=0&amp;oq=chr&amp;sll=-43.133061,171.606445&amp;sspn=4.690365,10.821533&amp;mra=ls&amp;ie=UTF8&amp;ll=-43.133061,171.606445&amp;spn=3.681025,4.905224&amp;t=m" style="color:#0000FF;text-align:left">Agrandir le plan</a></small>');
+		} elseif ($dest=='australia') {
+		/*	Page australia.php	*/
+		$LINK = array ('collect','sydney','bluemountains','melbourne','brisbane','barrier');
+		//define('GMAP', '<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://www.google.com/maps/embed?pb=!1m53!1m12!1m3!1d14552037.721537272!2d140.38011241521954!3d-27.069840579140944!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!4m38!1i0!3e0!4m5!1s0x6b129838f39a743f%3A0x3017d681632a850!2sSydney+NSW%2C+Australia!3m2!1d-33.867486899999996!2d151.2069902!4m5!1s0x6ad646b5d2ba4df7%3A0x4045675218ccd90!2sMelbourne+VIC%2C+Australia!3m2!1d-37.814107!2d144.96328!4m5!1s0x6b129838f39a743f%3A0x3017d681632a850!2sSydney+NSW%2C+Australia!3m2!1d-33.867486899999996!2d151.2069902!4m5!1s0x6b915a045cf620bb%3A0x502a35af3de84c0!2sBrisbane+QLD%2C+Australia!3m2!1d-27.4709331!2d153.02350239999998!4m5!1s0x697862555ba22413%3A0x400eef17f207860!2sCairns+QLD%2C+Australia!3m2!1d-16.920333799999998!2d145.7708595!4m5!1s0x6b915a045cf620bb%3A0x502a35af3de84c0!2sBrisbane+QLD%2C+Australia!3m2!1d-27.4709331!2d153.02350239999998!5e0!3m2!1sen!2s!4v1401875403552" width="600" height="450" frameborder="0" style="border:0"></iframe>');
+		} elseif ($dest=='indonesia') {
+		/*	Page indonesia.php	*/
+		$LINK = array ('singapour','bali','giliIslands','komodo','borobudur','bromo');
+		//define('GMAP', '');
+		} elseif ($dest=='indochina') {
+		/*	Page Indochina.php 	*/
+		$LINK = array ('bangkok','angkor','phnomPenh','hochiminh','hanoi','halongbay');
+		//define('GMAP', '<<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://www.google.com/maps/embed?pb=!1m77!1m12!1m3!1d6867502.003035582!2d108.69529635952948!3d16.31259408458767!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!4m62!1i0!3e0!4m5!1s0x311d6032280d61f3%3A0x10100b25de24820!2sBangkok%2C+Tha%C3%AFlande!3m2!1d13.7278956!2d100.5241235!4m5!1s0x3104e80d01fe5865%3A0x8900b6a5a996bfd4!2sPailin%2C+Cambodge!3m2!1d12.8539496!2d102.6083506!4m5!1s0x3110142f18707b7f%3A0x3a693bbd9b1fce4b!2sAngkor+Thom%2C+Province+de+Siem+Reap%2C+Cambodge!3m2!1d13.439511999999999!2d103.862206!4m5!1s0x317529292e8d3dd1%3A0xf15f5aad773c112b!2sH%C3%B4+Chi+Minh-Ville%2C+H%C3%B4-Chi-Minh-Ville%2C+Vietnam!3m2!1d10.8230989!2d106.62966379999999!4m5!1s0x3173f37b32d88937%3A0x1b65051f72ac7164!2zSGFuZyBTb24gRGllbiBDby4sIEx0ZCwgTOG7mWMgVMOibiwgTMOibSDEkOG7k25nLCBWaWV0bmFt!3m2!1d11.610538!2d107.70446799999999!4m5!1s0x317112fef20988b1%3A0xad5f228b672bf930!2zdGjDoG5oIHBo4buRIMSQw6AgTOG6oXQsIEzDom0gxJDhu5NuZywgVmlldG5hbQ!3m2!1d11.9404192!2d108.45831319999999!4m5!1s0x31420dd4e1353a7b%3A0xae336435edfcca3!2sHoi+An%2C+Vietnam!3m2!1d15.8800584!2d108.3380469!4m5!1s0x312f2a3f413d1ba3%3A0xac9749a9608e6a56!2sLouang+Prabang%2C+Laos!3m2!1d19.8833959!2d102.13468739999999!4m5!1s0x3135ab9bd9861ca1%3A0xe7887f7b72ca17a9!2zSMOgIE5vaSwgSGFub8OvLCBWaWV0bmFt!3m2!1d21.0333333!2d105.85!4m5!1s0x314a588579e0740b%3A0x88ec650f681c6969!2sHa+Long+Bay%2C+Halong+Road%2C+Ha+Long%2C+Ha+Long+Bay%2C+tp.+H%E1%BA%A1+Long%2C+Qu%E1%BA%A3ng+Ninh%2C+Vietnam!3m2!1d20.957282!2d107.023203!5e1!3m2!1sfr!2s!4v1401894164009" width="600" height="450" frameborder="0" style="border:0"></iframe>');
+		} elseif ($dest=='china') {
+		/*	Page China.php
+		FrontiÃ¨re : 	http://voyageforum.com/discussion/poste-frontiere-chine-vietnam-pingxiang-dang-dang-d303574/	*/
+		$LINK = array ('sichuan','jiuzhaigou','guilin','beijing','wall','zhangye');
+		//define('GMAP', '<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=d&amp;source=s_d&amp;saddr=Pingxiang,+Chongzuo,+Guangxi,+Chine&amp;daddr=Yunnan,+Chine+to:Sichuan,+Chine+to:Jiuzhaigou+Valley+to:Guilin,+Guangxi,+Chine+to:Tianzi+Mountain+to:Mount+Huangshan,+Huangshan,+Anhui,+Chine+to:Zhejiang,+Chine+to:Panjin,+Liaoning,+Chine+to:Zhangye,+Gansu,+Chine+to:Lhassa,+Xizang+(Tibet),+Chine&amp;geocode=FZUiUQEd1R9dBinpkcyi8kG1NjECTipQ-eumvg%3BFS4rfgEd8jofBikpW6Ay24PQNjEprI3Kt-s8pg%3BFQS10wEdmxI0Bimzzb1oM-fkNjG5_pmPz3yP3g%3BFUuB-wEdbasxBiHGDPa1yOj9ySkpZxye9r33NjHGDPa1yOj9yQ%3BFd6kgQEdE-WSBikzUSF1NvSkNjHhSnAdGcGG_w%3BFbGgfgEdn7unBik1mq3houimNjGFB0CK3Ae2SQ%3BFazQywEdAwELBylzYDZXiMY1NDHk_gLvRMZh_Q%3BFTfYzQEd2GIpBym_zAqlNBJJNDG3fBg2xXHvgQ%3BFf1wcwIduqZGByljReLQlzkmXjHoe9Z80SRHsA%3BFTP2UQIdGr78BSnvcrXCzVu0NzECASWA8MtVbg%3BFfJaxAEd-LJuBSkdVDI6YzFhNzEAuPkG744ckw&amp;aq=0&amp;oq=mount+huan&amp;sll=31.66475,106.308416&amp;sspn=22.724868,43.286133&amp;t=h&amp;gl=US&amp;hl=fr&amp;mra=ps&amp;ie=UTF8&amp;ll=31.66475,106.308416&amp;spn=22.724868,43.286133&amp;output=embed"></iframe>');
+		} elseif ($dest=='nepal') {
+		/*	Page Nepal.php	*/
+		$LINK = array ('lhasa','potala','tibetan','trekking','everest','kathmandu');
+		//define('GMAP', 'No maps available');      
+		} elseif ($dest=='india') {
+		/*	Page India.php	*/
+		$LINK = array ('varanasi','kolkata','rajasthan','agra','ladakh','newDehli');
+		//define('GMAP', '<<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://www.google.com/maps/embed?pb=!1m75!1m12!1m3!1d14615165.034698077!2d70.78814397702104!3d26.579384110222158!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!4m60!1i0!3e0!4m5!1s0x39eb198a307baabf%3A0xb5137c1bf18db1ea!2sKathmandu%2C+N%C3%A9pal!3m2!1d27.7!2d85.33333329999999!4m5!1s0x3991446a0c332489%3A0x1ff3f97fdcc6bfa2!2sGorakhpur%2C+Uttar+Pradesh%2C+Inde!3m2!1d26.760554499999998!2d83.3731675!4m5!1s0x398e2db76febcf4d%3A0x68131710853ff0b5!2sVaranasi%2C+Uttar+Pradesh%2C+Inde!3m2!1d25.317645199999998!2d82.9739144!4m5!1s0x39f882db4908f667%3A0x43e330e68f6c2cbc!2sCalcutta%2C+Bengale-Occidental%2C+Inde!3m2!1d22.572646!2d88.363895!4m5!1s0x3be7c6306644edc1%3A0x5da4ed8f8d648c69!2sBombay%2C+Maharashtra%2C+Inde!3m2!1d19.0759837!2d72.8776559!4m5!1s0x3967e56550a14411%3A0xdbd8c28455b868b0!2sUdaipur%2C+Rajasthan%2C+Inde!3m2!1d24.58!2d73.67999999999999!4m5!1s0x3947bc28aa1b396b%3A0xf5ef9bd660d66ee3!2sJaisalmer%2C+Rajasthan%2C+Inde!3m2!1d26.915748699999998!2d70.9083443!4m3!3m2!1d26.1167418!2d72.89511519999999!4m5!1s0x390cfd5b347eb62d%3A0x52c2b7494e204dce!2sNew+Delhi%2C+Delhi%2C+Inde!3m2!1d28.635308!2d77.22496!4m5!1s0x38fdeb21445fed85%3A0xd1bb09975086f710!2sLeh!3m2!1d34.1525864!2d77.57705349999999!5e0!3m2!1sfr!2s!4v1401897117555" width="600" height="450" frameborder="0" style="border:0"></iframe>');
+		} else{
+		$LINK = array ('lost');
+		}
+	}else{ 
+		$LINK = array ('southAmerica', 'newZealand', 'australia', 'indonesia', 'indochina', 'china','nepal','india');
+	} 
+
+ 	$lang = $_COOKIE['lang'];
+   	if ($lang=='fr') {   
+ 	     require("lang/destination_fr.php");
+	 } else  {     
+ 	     require("lang/destination_en.php");
+	 } 
+	
+?>
diff --git a/challenge/save/img1.jpg b/challenge/save/img1.jpg
new file mode 100644
index 0000000..6b6cf20
Binary files /dev/null and b/challenge/save/img1.jpg differ
diff --git a/challenge/save/img2 (2).jpg b/challenge/save/img2 (2).jpg
new file mode 100644
index 0000000..c554e17
Binary files /dev/null and b/challenge/save/img2 (2).jpg differ
diff --git a/challenge/save/img2.jpg b/challenge/save/img2.jpg
new file mode 100644
index 0000000..6b6cf20
Binary files /dev/null and b/challenge/save/img2.jpg differ
diff --git a/challenge/save/img3 (2).jpg b/challenge/save/img3 (2).jpg
new file mode 100644
index 0000000..594c279
Binary files /dev/null and b/challenge/save/img3 (2).jpg differ
diff --git a/challenge/save/img3.jpg b/challenge/save/img3.jpg
new file mode 100644
index 0000000..554f4fc
Binary files /dev/null and b/challenge/save/img3.jpg differ
diff --git a/challenge/save/lost (2).jpg b/challenge/save/lost (2).jpg
new file mode 100644
index 0000000..ae32d0b
Binary files /dev/null and b/challenge/save/lost (2).jpg differ
diff --git a/challenge/save/lost.jpg b/challenge/save/lost.jpg
new file mode 100644
index 0000000..fc40fb0
Binary files /dev/null and b/challenge/save/lost.jpg differ
diff --git a/challenge/save/save.txt b/challenge/save/save.txt
new file mode 100644
index 0000000..8b59a53
--- /dev/null
+++ b/challenge/save/save.txt
@@ -0,0 +1,55 @@
+<!-- 
+<p>
+
+We thought a lot about our life/motivation.
+We read lots of blogs. <link> voyageautourdumonde
+We discover why : <link> art2
+We manage money issue <link> or not
+and so on <link> gdocs </link>
+
+</p>
+The turning point
+<p>
+We found Zipworld <link> 
+We thought a lot about destination.
+Departure should be after graduation + 1 month so November
+We wanted to live during the Summer so South Hemispher 
+We wanted to avoid to pay a lot. The plane ticket allows us to take only one direction.
+So we should South America, hence Oceania was next till April
+Then Indonesia, Thailand, Cambodia and Vietnam during the end of the Spring
+North Hemispher in Summer: so China, Tibet, Nepal would be the following destination.
+India to finish with the money we still have.
+If you have a lot, we would be treated as prince there
+If you have not money anymore, we would manage trip for few.
+Dubai and we'll be back in November
+We get 8 plane ticket for 2100
+
+</p>
+
+The other formality
+<p>
+Time to buy stuff to pack
+Time to look for visa
+Time to get vaccinated and so one...
+Do this website...
+
+
+
+
+
+$contentArticles = array (
+	array('TITLE', 'Nb line §', '§'),
+	array('How it starts?', '4', '
+			This is an amazing story!
+			Pierre met a lot of backpackers in India.
+			After living crazy adventures there, 
+			he thought this experience could be extended to a world trip.
+		'),
+	array('How it starts?', '2', '
+		Back to France, he described his whole trip to his friends, especially Benoit.
+		Pierre and Benoit started to dream about making the world trip comes true!
+		')
+	);
+</p>
+
+ -->
\ No newline at end of file
diff --git a/challenge/save/site.png b/challenge/save/site.png
new file mode 100644
index 0000000..d4d1978
Binary files /dev/null and b/challenge/save/site.png differ
diff --git a/challenge/save/text.php b/challenge/save/text.php
new file mode 100644
index 0000000..b367155
--- /dev/null
+++ b/challenge/save/text.php
@@ -0,0 +1,22 @@
+<h1>Why such a trip?</h1>
+
+<!-- if ($lang=='fr') {           // si la langue est 'fr' (français) on inclut le fichier fr-lang.php --> 	
+<p style="text-align: left;">Nous sommes à l'heure de rentrer dans la vie professionnelle, deux jeunes diplômés tout juste sortis de leur école d'ingénieur respective.
+Qu'est-ce qui nous pousse à prendre la Route ? Pourquoi partir ? Qu'attend-on vraiment d'un tel voyage ?
+</p>
+
+<h2>Vivre une aventure</h2>
+
+<p style="text-align: left;"> Qui n'a pas rêvé de contempler le soleil levant inondant de lumière une vallée et de sentir le vent des montagnes s'opposer à son ascension, alors que la perspective du proche sommet lui réchauffe le cur ?
+Ce désir qui nous anime, c'est le désir de vivre une aventure. Un tour du monde, un an de pure découverte. Une découverte de paysages inconnus et sauvages, de cultures, de monuments, de rencontres fortuites, de nouvelles amitiés...
+Nous sommes conscients que linconfort [qui] sera notre quotidien et [ralentira nos ardeurs] [sapera nos efforts] [freinera notre entrain] [nous bousculera dans notre aventure]. 
+C'est cependant cette voie qui rendra notre expérience unique. Nous vivrons une aventure tous les jours pendant un an sans savoir ce que le lendemain nous réserve. 
+</p>
+
+<h2>Découvrir le monde </h2>
+
+<p style="text-align: left;"> Nous voulons, au-delà d'une expérience personnelle, vivre une expérience humaine et spirituelle et aller à la rencontre d'autres existences.  Par leur accueil, les gens que nous rencontrerons partageront un bout de leur culture, de leur mode de vie et nous permettront de les découvrir.
+Nous avons la ferme conviction que c'est en allant découvrir le monde, en [adoptant] [faisant preuve d']une ouverture d'esprit, que nous choisissons qui nous voulons devenir et par conséquent que nous construisons notre identité. 
+C'est ainsi l'un des buts de notre voyage, alors que la société nous a tracé un chemin tout droit et bien pavé, nous voulons arpenter les chemins sinueux, qui paraissent plus difficiles à emprunter, mais qui peut-être seront plus à même de nous faire découvrir où se situe le bonheur et comment y parvenir.
+ </p>
+<br/><br/><br/><br/><br/><br/><br/>
diff --git a/challenges.php b/challenges.php
new file mode 100644
index 0000000..a4f7e16
--- /dev/null
+++ b/challenges.php
@@ -0,0 +1,108 @@
+<?php   
+    require("w/0fonctions.php");
+?>
+   <style type="text/css">
+        .clocks{
+        z-index: -2;
+        }
+    </style>
+     <script type="text/javascript">
+        <?php 
+        include("lib/creerBdd.php");
+  global $id;
+  $reponse = $bdd->query('SELECT img_link FROM challenge ORDER BY challenge_uid deSC');
+  // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
+  $images = array();
+  echo 'window.images = [' ;
+  $compteur =0;
+  while ($donnees = $reponse->fetch())
+    {
+      $compteur++;
+      echo '"'.htmlspecialchars($donnees['img_link']).'",';
+    }
+    echo "];";
+    $reponse->closeCursor();
+     ?>
+    </script>
+<?php    
+    require("w/1head.php");
+    echo '<style type="text/css">';
+    // IconBackgroundA('challenge');
+?>
+    </style>
+   
+</head>
+
+<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
+       <div id="fb-root"></div>
+<script>(function(d, s, id) {
+  var js, fjs = d.getElementsByTagName(s)[0];
+  if (d.getElementById(id)) return;
+  js = d.createElement(s); js.id = id;
+  js.src = "//connect.facebook.net/fr_FR/sdk.js#xfbml=1&appId=661854923873753&version=v2.0";
+  fjs.parentNode.insertBefore(js, fjs);
+}(document, 'script', 'facebook-jssdk'));</script>
+
+<?php require("w/2lightbox.php");?>
+<?php require("w/4headerScroller.php");?>
+
+    <div class="mobile-content">
+        <div class="flexslider">
+            <div class="slides">
+                <?php /*ArticlesClock('challenge');*/?>
+            </div>
+        </div>
+    </div>
+    <div class='timeline' style="">
+        <div class='timeline-bg timeline-bg1 show'></div>
+        <div class='timeline-controller'>
+            <div class='mode-icon mode-icon1 show' >
+    <?php 
+    include("lib/creerBdd.php");
+    global $id;
+    $reponse = $bdd->query('SELECT img_link FROM challenge WHERE challenge_uid = '.$compteur);
+    // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
+    while ($donnees = $reponse->fetch()){
+      echo '<img class="centreImgTime" src="'.htmlspecialchars($donnees['img_link']).'">';
+    }
+    $reponse->closeCursor();
+    ?></div>
+        </div>
+        <div class='inside'>
+            <div class='clocks'>
+                <div class='time'>
+                    <span class='hours'>1</span>
+                </div>
+            </div>
+            <div class='modes' id="dest">
+              <?php 
+              include("lib/creerBdd.php");
+                  global $id;
+                  $nom = ($lang==="fr") ? "nom" : "name" ;
+                  $voirlchallenge = ($lang==="fr") ? 'Voir le dÃ©fi' : 'See the challenge' ;
+                  $reponse = $bdd->query('SELECT challenge_uid,'.$nom.' FROM challenge ORDER BY challenge_uid DESC');
+                  // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
+                  while ($donnees = $reponse->fetch()){
+                    $cu = $compteur - htmlspecialchars($donnees['challenge_uid']) + 1;
+                    echo '<p class="mode mode'.$cu.'" data-bg="'.$cu.'">
+                         <br/>        <span class="titreArticle">     '.htmlspecialchars($donnees[$nom]).'      </span>
+                          <br/> <br/> <a class="btn btn-lg btn-primary"  href="challenge.php?id='.htmlspecialchars($donnees['challenge_uid']).'"> <span style="display:block; font-size: 30px; font-weight: normal;font-family: inherit;"> '.$voirlchallenge.'</span> </a>
+                        </p>';
+                  }
+                  $reponse->closeCursor();
+                  ?>
+            </div>
+        </div>
+    </div>
+    
+    <div class="fbCenter">
+      <a href="#AddChal"> 
+      <div class="AddCenter" id="AddChal"> <p> <?php echo ADDCHAL; ?></p> </div></a>
+        <div class="fb-comments" data-href="http://www.recontact.me/challenge.php?id=<?php echo $id; ?>" data-width="600px" data-numposts="5" data-colorscheme="light"></div>
+    </div>
+    <div class="espace">. </div>
+    <div id="caracteristiques"></div><!--INDISPENSABLE : WHY?-->
+    <div class="galery" id="gallery"></div>
+
+<?php require("w/8footer.php");?>
+<?php require("w/9end.php");?>
\ No newline at end of file
diff --git a/contact.php b/contact.php
new file mode 100644
index 0000000..d9a0452
--- /dev/null
+++ b/contact.php
@@ -0,0 +1,19 @@
+<?php	
+session_start();//On dÃ©marre les sessions
+$token = uniqid(rand(), true);//On gÃ©nÃ©re un jeton totalement unique (c'est capital :D)
+$_SESSION['token'] = $token;//Et on le stocke
+$_SESSION['token_time'] = time();//On enregistre aussi le timestamp correspondant au moment de la crÃ©ation du token
+//Maintenant, on affiche notre page normalement, le champ cachÃ© token en plus
+?>
+<?php require("w/0fonctions.php");
+      require("w/1head.php");
+?>
+</head>
+<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
+<?php require("w/2lightbox.php");?>
+
+ <!-- PAGE 1/2  ===========================================================================-->
+<?php require("w/4headerScroller.php");?>
+<?php require("w/6contact.php");?>
+<?php require("w/8footer.php");?>
+<?php require("w/9end.php");?>
diff --git a/css/bootstrap.min.css b/css/bootstrap.min.css
new file mode 100644
index 0000000..6f0f8c6
--- /dev/null
+++ b/css/bootstrap.min.css
@@ -0,0 +1,1319 @@
+/*!
+ * Bootstrap v3.1.1 (http://getbootstrap.com)
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+/*! normalize.css v3.0.0 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
+body{margin:0}
+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
+audio,canvas,progress,video{display:inline-block;vertical-align:baseline}
+audio:not([controls]){display:none;height:0}
+[hidden],template{display:none}
+a{background:0 0}
+a:active,a:hover{outline:0}
+abbr[title]{border-bottom:1px dotted}
+b,strong{font-weight:700}
+dfn{font-style:italic}
+h1{font-size:2em;margin:.67em 0}
+mark{background:#ff0;color:#000}
+small{font-size:80%}
+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
+sup{top:-.5em}
+sub{bottom:-.25em}
+img{border:0}
+svg:not(:root){overflow:hidden}
+figure{margin:1em 40px}
+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
+pre{overflow:auto}
+code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}
+button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}
+button{overflow:visible}
+button,select{text-transform:none}
+button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
+button[disabled],html input[disabled]{cursor:default}
+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
+input{line-height:normal}
+input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}
+input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}
+input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
+input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
+fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
+legend{border:0;padding:0}
+textarea{overflow:auto}
+optgroup{font-weight:700}
+table{border-collapse:collapse;border-spacing:0}
+td,th{padding:0}
+@media print{*{text-shadow:none!important;color:#000!important;background:transparent!important;box-shadow:none!important}
+a,a:visited{text-decoration:underline}
+a[href]:after{content:" (" attr(href) ")"}
+abbr[title]:after{content:" (" attr(title) ")"}
+a[href^="javascript:"]:after,a[href^="#"]:after{content:""}
+pre,blockquote{border:1px solid #999;page-break-inside:avoid}
+thead{display:table-header-group}
+tr,img{page-break-inside:avoid}
+img{max-width:100%!important}
+p,h2,h3{orphans:3;widows:3}
+h2,h3{page-break-after:avoid}
+select{background:#fff!important}
+.navbar{display:none}
+.table td,.table th{background-color:#fff!important}
+.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}
+.label{border:1px solid #000}
+.table{border-collapse:collapse!important}
+.table-bordered th,.table-bordered td{border:1px solid #ddd!important}
+}
+*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
+:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
+html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}
+body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}
+input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}
+a{color:#428bca;text-decoration:none}
+a:hover,a:focus{color:#2a6496;text-decoration:underline}
+a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
+figure{margin:0}
+img{vertical-align:middle}
+.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}
+.img-rounded{border-radius:6px}
+.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}
+.img-circle{border-radius:50%}
+hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}
+.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}
+h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}
+h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#999}
+h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}
+h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}
+h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}
+h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}
+h1,.h1{font-size:36px}
+h2,.h2{font-size:30px}
+h3,.h3{font-size:24px}
+h4,.h4{font-size:18px}
+h5,.h5{font-size:14px}
+h6,.h6{font-size:12px}
+p{margin:0 0 10px}
+.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}
+@media (min-width:768px){.lead{font-size:21px}
+}
+small,.small{font-size:85%}
+cite{font-style:normal}
+.text-left{text-align:left}
+.text-right{text-align:right}
+.text-center{text-align:center}
+.text-justify{text-align:justify}
+.text-muted{color:#999}
+.text-primary{color:#428bca}
+a.text-primary:hover{color:#3071a9}
+.text-success{color:#3c763d}
+a.text-success:hover{color:#2b542c}
+.text-info{color:#31708f}
+a.text-info:hover{color:#245269}
+.text-warning{color:#8a6d3b}
+a.text-warning:hover{color:#66512c}
+.text-danger{color:#a94442}
+a.text-danger:hover{color:#843534}
+.bg-primary{color:#fff;background-color:#428bca}
+a.bg-primary:hover{background-color:#3071a9}
+.bg-success{background-color:#dff0d8}
+a.bg-success:hover{background-color:#c1e2b3}
+.bg-info{background-color:#d9edf7}
+a.bg-info:hover{background-color:#afd9ee}
+.bg-warning{background-color:#fcf8e3}
+a.bg-warning:hover{background-color:#f7ecb5}
+.bg-danger{background-color:#f2dede}
+a.bg-danger:hover{background-color:#e4b9b9}
+.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}
+ul,ol{margin-top:0;margin-bottom:10px}
+ul ul,ol ul,ul ol,ol ol{margin-bottom:0}
+.list-unstyled{padding-left:0;list-style:none}
+.list-inline{padding-left:0;list-style:none;margin-left:-5px}
+.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}
+dl{margin-top:0;margin-bottom:20px}
+dt,dd{line-height:1.42857143}
+dt{font-weight:700}
+dd{margin-left:0}
+@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
+.dl-horizontal dd{margin-left:180px}
+}
+abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}
+.initialism{font-size:90%;text-transform:uppercase}
+blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}
+blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}
+blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#999}
+blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}
+.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}
+.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}
+.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}
+blockquote:before,blockquote:after{content:""}
+address{margin-bottom:20px;font-style:normal;line-height:1.42857143}
+code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}
+code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;white-space:nowrap;border-radius:4px}
+kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}
+pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}
+pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}
+.pre-scrollable{max-height:340px;overflow-y:scroll}
+.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}
+@media (min-width:768px){.container{width:750px}
+}
+@media (min-width:992px){.container{width:970px}
+}
+@media (min-width:1200px){.container{width:1170px}
+}
+.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}
+.row{margin-left:-15px;margin-right:-15px}
+.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}
+.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}
+.col-xs-12{width:100%}
+.col-xs-11{width:91.66666667%}
+.col-xs-10{width:83.33333333%}
+.col-xs-9{width:75%}
+.col-xs-8{width:66.66666667%}
+.col-xs-7{width:58.33333333%}
+.col-xs-6{width:50%}
+.col-xs-5{width:41.66666667%}
+.col-xs-4{width:33.33333333%}
+.col-xs-3{width:25%}
+.col-xs-2{width:16.66666667%}
+.col-xs-1{width:8.33333333%}
+.col-xs-pull-12{right:100%}
+.col-xs-pull-11{right:91.66666667%}
+.col-xs-pull-10{right:83.33333333%}
+.col-xs-pull-9{right:75%}
+.col-xs-pull-8{right:66.66666667%}
+.col-xs-pull-7{right:58.33333333%}
+.col-xs-pull-6{right:50%}
+.col-xs-pull-5{right:41.66666667%}
+.col-xs-pull-4{right:33.33333333%}
+.col-xs-pull-3{right:25%}
+.col-xs-pull-2{right:16.66666667%}
+.col-xs-pull-1{right:8.33333333%}
+.col-xs-pull-0{right:0}
+.col-xs-push-12{left:100%}
+.col-xs-push-11{left:91.66666667%}
+.col-xs-push-10{left:83.33333333%}
+.col-xs-push-9{left:75%}
+.col-xs-push-8{left:66.66666667%}
+.col-xs-push-7{left:58.33333333%}
+.col-xs-push-6{left:50%}
+.col-xs-push-5{left:41.66666667%}
+.col-xs-push-4{left:33.33333333%}
+.col-xs-push-3{left:25%}
+.col-xs-push-2{left:16.66666667%}
+.col-xs-push-1{left:8.33333333%}
+.col-xs-push-0{left:0}
+.col-xs-offset-12{margin-left:100%}
+.col-xs-offset-11{margin-left:91.66666667%}
+.col-xs-offset-10{margin-left:83.33333333%}
+.col-xs-offset-9{margin-left:75%}
+.col-xs-offset-8{margin-left:66.66666667%}
+.col-xs-offset-7{margin-left:58.33333333%}
+.col-xs-offset-6{margin-left:50%}
+.col-xs-offset-5{margin-left:41.66666667%}
+.col-xs-offset-4{margin-left:33.33333333%}
+.col-xs-offset-3{margin-left:25%}
+.col-xs-offset-2{margin-left:16.66666667%}
+.col-xs-offset-1{margin-left:8.33333333%}
+.col-xs-offset-0{margin-left:0}
+@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}
+.col-sm-12{width:100%}
+.col-sm-11{width:91.66666667%}
+.col-sm-10{width:83.33333333%}
+.col-sm-9{width:75%}
+.col-sm-8{width:66.66666667%}
+.col-sm-7{width:58.33333333%}
+.col-sm-6{width:50%}
+.col-sm-5{width:41.66666667%}
+.col-sm-4{width:33.33333333%}
+.col-sm-3{width:25%}
+.col-sm-2{width:16.66666667%}
+.col-sm-1{width:8.33333333%}
+.col-sm-pull-12{right:100%}
+.col-sm-pull-11{right:91.66666667%}
+.col-sm-pull-10{right:83.33333333%}
+.col-sm-pull-9{right:75%}
+.col-sm-pull-8{right:66.66666667%}
+.col-sm-pull-7{right:58.33333333%}
+.col-sm-pull-6{right:50%}
+.col-sm-pull-5{right:41.66666667%}
+.col-sm-pull-4{right:33.33333333%}
+.col-sm-pull-3{right:25%}
+.col-sm-pull-2{right:16.66666667%}
+.col-sm-pull-1{right:8.33333333%}
+.col-sm-pull-0{right:0}
+.col-sm-push-12{left:100%}
+.col-sm-push-11{left:91.66666667%}
+.col-sm-push-10{left:83.33333333%}
+.col-sm-push-9{left:75%}
+.col-sm-push-8{left:66.66666667%}
+.col-sm-push-7{left:58.33333333%}
+.col-sm-push-6{left:50%}
+.col-sm-push-5{left:41.66666667%}
+.col-sm-push-4{left:33.33333333%}
+.col-sm-push-3{left:25%}
+.col-sm-push-2{left:16.66666667%}
+.col-sm-push-1{left:8.33333333%}
+.col-sm-push-0{left:0}
+.col-sm-offset-12{margin-left:100%}
+.col-sm-offset-11{margin-left:91.66666667%}
+.col-sm-offset-10{margin-left:83.33333333%}
+.col-sm-offset-9{margin-left:75%}
+.col-sm-offset-8{margin-left:66.66666667%}
+.col-sm-offset-7{margin-left:58.33333333%}
+.col-sm-offset-6{margin-left:50%}
+.col-sm-offset-5{margin-left:41.66666667%}
+.col-sm-offset-4{margin-left:33.33333333%}
+.col-sm-offset-3{margin-left:25%}
+.col-sm-offset-2{margin-left:16.66666667%}
+.col-sm-offset-1{margin-left:8.33333333%}
+.col-sm-offset-0{margin-left:0}
+}
+@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}
+.col-md-12{width:100%}
+.col-md-11{width:91.66666667%}
+.col-md-10{width:83.33333333%}
+.col-md-9{width:75%}
+.col-md-8{width:66.66666667%}
+.col-md-7{width:58.33333333%}
+.col-md-6{width:50%}
+.col-md-5{width:41.66666667%}
+.col-md-4{width:33.33333333%}
+.col-md-3{width:25%}
+.col-md-2{width:16.66666667%}
+.col-md-1{width:8.33333333%}
+.col-md-pull-12{right:100%}
+.col-md-pull-11{right:91.66666667%}
+.col-md-pull-10{right:83.33333333%}
+.col-md-pull-9{right:75%}
+.col-md-pull-8{right:66.66666667%}
+.col-md-pull-7{right:58.33333333%}
+.col-md-pull-6{right:50%}
+.col-md-pull-5{right:41.66666667%}
+.col-md-pull-4{right:33.33333333%}
+.col-md-pull-3{right:25%}
+.col-md-pull-2{right:16.66666667%}
+.col-md-pull-1{right:8.33333333%}
+.col-md-pull-0{right:0}
+.col-md-push-12{left:100%}
+.col-md-push-11{left:91.66666667%}
+.col-md-push-10{left:83.33333333%}
+.col-md-push-9{left:75%}
+.col-md-push-8{left:66.66666667%}
+.col-md-push-7{left:58.33333333%}
+.col-md-push-6{left:50%}
+.col-md-push-5{left:41.66666667%}
+.col-md-push-4{left:33.33333333%}
+.col-md-push-3{left:25%}
+.col-md-push-2{left:16.66666667%}
+.col-md-push-1{left:8.33333333%}
+.col-md-push-0{left:0}
+.col-md-offset-12{margin-left:100%}
+.col-md-offset-11{margin-left:91.66666667%}
+.col-md-offset-10{margin-left:83.33333333%}
+.col-md-offset-9{margin-left:75%}
+.col-md-offset-8{margin-left:66.66666667%}
+.col-md-offset-7{margin-left:58.33333333%}
+.col-md-offset-6{margin-left:50%}
+.col-md-offset-5{margin-left:41.66666667%}
+.col-md-offset-4{margin-left:33.33333333%}
+.col-md-offset-3{margin-left:25%}
+.col-md-offset-2{margin-left:16.66666667%}
+.col-md-offset-1{margin-left:8.33333333%}
+.col-md-offset-0{margin-left:0}
+}
+@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}
+.col-lg-12{width:100%}
+.col-lg-11{width:91.66666667%}
+.col-lg-10{width:83.33333333%}
+.col-lg-9{width:75%}
+.col-lg-8{width:66.66666667%}
+.col-lg-7{width:58.33333333%}
+.col-lg-6{width:50%}
+.col-lg-5{width:41.66666667%}
+.col-lg-4{width:33.33333333%}
+.col-lg-3{width:25%}
+.col-lg-2{width:16.66666667%}
+.col-lg-1{width:8.33333333%}
+.col-lg-pull-12{right:100%}
+.col-lg-pull-11{right:91.66666667%}
+.col-lg-pull-10{right:83.33333333%}
+.col-lg-pull-9{right:75%}
+.col-lg-pull-8{right:66.66666667%}
+.col-lg-pull-7{right:58.33333333%}
+.col-lg-pull-6{right:50%}
+.col-lg-pull-5{right:41.66666667%}
+.col-lg-pull-4{right:33.33333333%}
+.col-lg-pull-3{right:25%}
+.col-lg-pull-2{right:16.66666667%}
+.col-lg-pull-1{right:8.33333333%}
+.col-lg-pull-0{right:0}
+.col-lg-push-12{left:100%}
+.col-lg-push-11{left:91.66666667%}
+.col-lg-push-10{left:83.33333333%}
+.col-lg-push-9{left:75%}
+.col-lg-push-8{left:66.66666667%}
+.col-lg-push-7{left:58.33333333%}
+.col-lg-push-6{left:50%}
+.col-lg-push-5{left:41.66666667%}
+.col-lg-push-4{left:33.33333333%}
+.col-lg-push-3{left:25%}
+.col-lg-push-2{left:16.66666667%}
+.col-lg-push-1{left:8.33333333%}
+.col-lg-push-0{left:0}
+.col-lg-offset-12{margin-left:100%}
+.col-lg-offset-11{margin-left:91.66666667%}
+.col-lg-offset-10{margin-left:83.33333333%}
+.col-lg-offset-9{margin-left:75%}
+.col-lg-offset-8{margin-left:66.66666667%}
+.col-lg-offset-7{margin-left:58.33333333%}
+.col-lg-offset-6{margin-left:50%}
+.col-lg-offset-5{margin-left:41.66666667%}
+.col-lg-offset-4{margin-left:33.33333333%}
+.col-lg-offset-3{margin-left:25%}
+.col-lg-offset-2{margin-left:16.66666667%}
+.col-lg-offset-1{margin-left:8.33333333%}
+.col-lg-offset-0{margin-left:0}
+}
+table{max-width:100%;background-color:transparent}
+th{text-align:left}
+.table{width:100%;margin-bottom:20px}
+.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}
+.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}
+.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}
+.table>tbody+tbody{border-top:2px solid #ddd}
+.table .table{background-color:#fff}
+.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}
+.table-bordered{border:1px solid #ddd}
+.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}
+.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}
+.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}
+.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}
+table col[class*=col-]{position:static;float:none;display:table-column}
+table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}
+.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}
+.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}
+.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}
+.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}
+.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}
+.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}
+.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}
+.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}
+.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}
+.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}
+@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;-webkit-overflow-scrolling:touch}
+.table-responsive>.table{margin-bottom:0}
+.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}
+.table-responsive>.table-bordered{border:0}
+.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}
+.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}
+.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}
+}
+fieldset{padding:0;margin:0;border:0;min-width:0}
+legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}
+label{display:inline-block;margin-bottom:5px;font-weight:700}
+input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
+input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}
+input[type=file]{display:block}
+input[type=range]{display:block;width:100%}
+select[multiple],select[size]{height:auto}
+input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
+output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}
+.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}
+.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}
+.form-control::-moz-placeholder{color:#999;opacity:1}
+.form-control:-ms-input-placeholder{color:#999}
+.form-control::-webkit-input-placeholder{color:#999}
+.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}
+textarea.form-control{height:auto}
+input[type=search]{-webkit-appearance:none}
+input[type=date]{line-height:34px}
+.form-group{margin-bottom:15px}
+.radio,.checkbox{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px}
+.radio label,.checkbox label{display:inline;font-weight:400;cursor:pointer}
+.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{float:left;margin-left:-20px}
+.radio+.radio,.checkbox+.checkbox{margin-top:-5px}
+.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}
+.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}
+input[type=radio][disabled],input[type=checkbox][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}
+.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}
+select.input-sm{height:30px;line-height:30px}
+textarea.input-sm,select[multiple].input-sm{height:auto}
+.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}
+select.input-lg{height:46px;line-height:46px}
+textarea.input-lg,select[multiple].input-lg{height:auto}
+.has-feedback{position:relative}
+.has-feedback .form-control{padding-right:42.5px}
+.has-feedback .form-control-feedback{position:absolute;top:25px;right:0;display:block;width:34px;height:34px;line-height:34px;text-align:center}
+.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}
+.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}
+.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}
+.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}
+.has-success .form-control-feedback{color:#3c763d}
+.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}
+.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}
+.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}
+.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}
+.has-warning .form-control-feedback{color:#8a6d3b}
+.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}
+.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}
+.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}
+.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}
+.has-error .form-control-feedback{color:#a94442}
+.form-control-static{margin-bottom:0}
+.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}
+@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}
+.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}
+.form-inline .input-group>.form-control{width:100%}
+.form-inline .control-label{margin-bottom:0;vertical-align:middle}
+.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}
+.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{float:none;margin-left:0}
+.form-inline .has-feedback .form-control-feedback{top:0}
+}
+.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}
+.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}
+.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}
+.form-horizontal .form-control-static{padding-top:7px}
+@media (min-width:768px){.form-horizontal .control-label{text-align:right}
+}
+.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}
+.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
+.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
+.btn:hover,.btn:focus{color:#333;text-decoration:none}
+.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}
+.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}
+.btn-default{color:#333;background-color:#fff;border-color:#ccc}
+.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}
+.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}
+.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}
+.btn-default .badge{color:#fff;background-color:#333}
+.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}
+.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}
+.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}
+.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}
+.btn-primary .badge{color:#428bca;background-color:#fff}
+.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}
+.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}
+.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}
+.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}
+.btn-success .badge{color:#5cb85c;background-color:#fff}
+.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}
+.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}
+.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}
+.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}
+.btn-info .badge{color:#5bc0de;background-color:#fff}
+.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}
+.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}
+.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}
+.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}
+.btn-warning .badge{color:#f0ad4e;background-color:#fff}
+.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}
+.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}
+.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}
+.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}
+.btn-danger .badge{color:#d9534f;background-color:#fff}
+.btn-link{color:#428bca;font-weight:400;cursor:pointer;border-radius:0}
+.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}
+.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}
+.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}
+.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}
+.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}
+.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}
+.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}
+.btn-block{display:block;width:100%;padding-left:0;padding-right:0}
+.btn-block+.btn-block{margin-top:5px}
+input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}
+.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}
+.fade.in{opacity:1}
+.collapse{display:none}
+.collapse.in{display:block}
+.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}
+@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}
+.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
+.glyphicon-asterisk:before{content:"\2a"}
+.glyphicon-plus:before{content:"\2b"}
+.glyphicon-euro:before{content:"\20ac"}
+.glyphicon-minus:before{content:"\2212"}
+.glyphicon-cloud:before{content:"\2601"}
+.glyphicon-envelope:before{content:"\2709"}
+.glyphicon-pencil:before{content:"\270f"}
+.glyphicon-glass:before{content:"\e001"}
+.glyphicon-music:before{content:"\e002"}
+.glyphicon-search:before{content:"\e003"}
+.glyphicon-heart:before{content:"\e005"}
+.glyphicon-star:before{content:"\e006"}
+.glyphicon-star-empty:before{content:"\e007"}
+.glyphicon-user:before{content:"\e008"}
+.glyphicon-film:before{content:"\e009"}
+.glyphicon-th-large:before{content:"\e010"}
+.glyphicon-th:before{content:"\e011"}
+.glyphicon-th-list:before{content:"\e012"}
+.glyphicon-ok:before{content:"\e013"}
+.glyphicon-remove:before{content:"\e014"}
+.glyphicon-zoom-in:before{content:"\e015"}
+.glyphicon-zoom-out:before{content:"\e016"}
+.glyphicon-off:before{content:"\e017"}
+.glyphicon-signal:before{content:"\e018"}
+.glyphicon-cog:before{content:"\e019"}
+.glyphicon-trash:before{content:"\e020"}
+.glyphicon-home:before{content:"\e021"}
+.glyphicon-file:before{content:"\e022"}
+.glyphicon-time:before{content:"\e023"}
+.glyphicon-road:before{content:"\e024"}
+.glyphicon-download-alt:before{content:"\e025"}
+.glyphicon-download:before{content:"\e026"}
+.glyphicon-upload:before{content:"\e027"}
+.glyphicon-inbox:before{content:"\e028"}
+.glyphicon-play-circle:before{content:"\e029"}
+.glyphicon-repeat:before{content:"\e030"}
+.glyphicon-refresh:before{content:"\e031"}
+.glyphicon-list-alt:before{content:"\e032"}
+.glyphicon-lock:before{content:"\e033"}
+.glyphicon-flag:before{content:"\e034"}
+.glyphicon-headphones:before{content:"\e035"}
+.glyphicon-volume-off:before{content:"\e036"}
+.glyphicon-volume-down:before{content:"\e037"}
+.glyphicon-volume-up:before{content:"\e038"}
+.glyphicon-qrcode:before{content:"\e039"}
+.glyphicon-barcode:before{content:"\e040"}
+.glyphicon-tag:before{content:"\e041"}
+.glyphicon-tags:before{content:"\e042"}
+.glyphicon-book:before{content:"\e043"}
+.glyphicon-bookmark:before{content:"\e044"}
+.glyphicon-print:before{content:"\e045"}
+.glyphicon-camera:before{content:"\e046"}
+.glyphicon-font:before{content:"\e047"}
+.glyphicon-bold:before{content:"\e048"}
+.glyphicon-italic:before{content:"\e049"}
+.glyphicon-text-height:before{content:"\e050"}
+.glyphicon-text-width:before{content:"\e051"}
+.glyphicon-align-left:before{content:"\e052"}
+.glyphicon-align-center:before{content:"\e053"}
+.glyphicon-align-right:before{content:"\e054"}
+.glyphicon-align-justify:before{content:"\e055"}
+.glyphicon-list:before{content:"\e056"}
+.glyphicon-indent-left:before{content:"\e057"}
+.glyphicon-indent-right:before{content:"\e058"}
+.glyphicon-facetime-video:before{content:"\e059"}
+.glyphicon-picture:before{content:"\e060"}
+.glyphicon-map-marker:before{content:"\e062"}
+.glyphicon-adjust:before{content:"\e063"}
+.glyphicon-tint:before{content:"\e064"}
+.glyphicon-edit:before{content:"\e065"}
+.glyphicon-share:before{content:"\e066"}
+.glyphicon-check:before{content:"\e067"}
+.glyphicon-move:before{content:"\e068"}
+.glyphicon-step-backward:before{content:"\e069"}
+.glyphicon-fast-backward:before{content:"\e070"}
+.glyphicon-backward:before{content:"\e071"}
+.glyphicon-play:before{content:"\e072"}
+.glyphicon-pause:before{content:"\e073"}
+.glyphicon-stop:before{content:"\e074"}
+.glyphicon-forward:before{content:"\e075"}
+.glyphicon-fast-forward:before{content:"\e076"}
+.glyphicon-step-forward:before{content:"\e077"}
+.glyphicon-eject:before{content:"\e078"}
+.glyphicon-chevron-left:before{content:"\e079"}
+.glyphicon-chevron-right:before{content:"\e080"}
+.glyphicon-plus-sign:before{content:"\e081"}
+.glyphicon-minus-sign:before{content:"\e082"}
+.glyphicon-remove-sign:before{content:"\e083"}
+.glyphicon-ok-sign:before{content:"\e084"}
+.glyphicon-question-sign:before{content:"\e085"}
+.glyphicon-info-sign:before{content:"\e086"}
+.glyphicon-screenshot:before{content:"\e087"}
+.glyphicon-remove-circle:before{content:"\e088"}
+.glyphicon-ok-circle:before{content:"\e089"}
+.glyphicon-ban-circle:before{content:"\e090"}
+.glyphicon-arrow-left:before{content:"\e091"}
+.glyphicon-arrow-right:before{content:"\e092"}
+.glyphicon-arrow-up:before{content:"\e093"}
+.glyphicon-arrow-down:before{content:"\e094"}
+.glyphicon-share-alt:before{content:"\e095"}
+.glyphicon-resize-full:before{content:"\e096"}
+.glyphicon-resize-small:before{content:"\e097"}
+.glyphicon-exclamation-sign:before{content:"\e101"}
+.glyphicon-gift:before{content:"\e102"}
+.glyphicon-leaf:before{content:"\e103"}
+.glyphicon-fire:before{content:"\e104"}
+.glyphicon-eye-open:before{content:"\e105"}
+.glyphicon-eye-close:before{content:"\e106"}
+.glyphicon-warning-sign:before{content:"\e107"}
+.glyphicon-plane:before{content:"\e108"}
+.glyphicon-calendar:before{content:"\e109"}
+.glyphicon-random:before{content:"\e110"}
+.glyphicon-comment:before{content:"\e111"}
+.glyphicon-magnet:before{content:"\e112"}
+.glyphicon-chevron-up:before{content:"\e113"}
+.glyphicon-chevron-down:before{content:"\e114"}
+.glyphicon-retweet:before{content:"\e115"}
+.glyphicon-shopping-cart:before{content:"\e116"}
+.glyphicon-folder-close:before{content:"\e117"}
+.glyphicon-folder-open:before{content:"\e118"}
+.glyphicon-resize-vertical:before{content:"\e119"}
+.glyphicon-resize-horizontal:before{content:"\e120"}
+.glyphicon-hdd:before{content:"\e121"}
+.glyphicon-bullhorn:before{content:"\e122"}
+.glyphicon-bell:before{content:"\e123"}
+.glyphicon-certificate:before{content:"\e124"}
+.glyphicon-thumbs-up:before{content:"\e125"}
+.glyphicon-thumbs-down:before{content:"\e126"}
+.glyphicon-hand-right:before{content:"\e127"}
+.glyphicon-hand-left:before{content:"\e128"}
+.glyphicon-hand-up:before{content:"\e129"}
+.glyphicon-hand-down:before{content:"\e130"}
+.glyphicon-circle-arrow-right:before{content:"\e131"}
+.glyphicon-circle-arrow-left:before{content:"\e132"}
+.glyphicon-circle-arrow-up:before{content:"\e133"}
+.glyphicon-circle-arrow-down:before{content:"\e134"}
+.glyphicon-globe:before{content:"\e135"}
+.glyphicon-wrench:before{content:"\e136"}
+.glyphicon-tasks:before{content:"\e137"}
+.glyphicon-filter:before{content:"\e138"}
+.glyphicon-briefcase:before{content:"\e139"}
+.glyphicon-fullscreen:before{content:"\e140"}
+.glyphicon-dashboard:before{content:"\e141"}
+.glyphicon-paperclip:before{content:"\e142"}
+.glyphicon-heart-empty:before{content:"\e143"}
+.glyphicon-link:before{content:"\e144"}
+.glyphicon-phone:before{content:"\e145"}
+.glyphicon-pushpin:before{content:"\e146"}
+.glyphicon-usd:before{content:"\e148"}
+.glyphicon-gbp:before{content:"\e149"}
+.glyphicon-sort:before{content:"\e150"}
+.glyphicon-sort-by-alphabet:before{content:"\e151"}
+.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}
+.glyphicon-sort-by-order:before{content:"\e153"}
+.glyphicon-sort-by-order-alt:before{content:"\e154"}
+.glyphicon-sort-by-attributes:before{content:"\e155"}
+.glyphicon-sort-by-attributes-alt:before{content:"\e156"}
+.glyphicon-unchecked:before{content:"\e157"}
+.glyphicon-expand:before{content:"\e158"}
+.glyphicon-collapse-down:before{content:"\e159"}
+.glyphicon-collapse-up:before{content:"\e160"}
+.glyphicon-log-in:before{content:"\e161"}
+.glyphicon-flash:before{content:"\e162"}
+.glyphicon-log-out:before{content:"\e163"}
+.glyphicon-new-window:before{content:"\e164"}
+.glyphicon-record:before{content:"\e165"}
+.glyphicon-save:before{content:"\e166"}
+.glyphicon-open:before{content:"\e167"}
+.glyphicon-saved:before{content:"\e168"}
+.glyphicon-import:before{content:"\e169"}
+.glyphicon-export:before{content:"\e170"}
+.glyphicon-send:before{content:"\e171"}
+.glyphicon-floppy-disk:before{content:"\e172"}
+.glyphicon-floppy-saved:before{content:"\e173"}
+.glyphicon-floppy-remove:before{content:"\e174"}
+.glyphicon-floppy-save:before{content:"\e175"}
+.glyphicon-floppy-open:before{content:"\e176"}
+.glyphicon-credit-card:before{content:"\e177"}
+.glyphicon-transfer:before{content:"\e178"}
+.glyphicon-cutlery:before{content:"\e179"}
+.glyphicon-header:before{content:"\e180"}
+.glyphicon-compressed:before{content:"\e181"}
+.glyphicon-earphone:before{content:"\e182"}
+.glyphicon-phone-alt:before{content:"\e183"}
+.glyphicon-tower:before{content:"\e184"}
+.glyphicon-stats:before{content:"\e185"}
+.glyphicon-sd-video:before{content:"\e186"}
+.glyphicon-hd-video:before{content:"\e187"}
+.glyphicon-subtitles:before{content:"\e188"}
+.glyphicon-sound-stereo:before{content:"\e189"}
+.glyphicon-sound-dolby:before{content:"\e190"}
+.glyphicon-sound-5-1:before{content:"\e191"}
+.glyphicon-sound-6-1:before{content:"\e192"}
+.glyphicon-sound-7-1:before{content:"\e193"}
+.glyphicon-copyright-mark:before{content:"\e194"}
+.glyphicon-registration-mark:before{content:"\e195"}
+.glyphicon-cloud-download:before{content:"\e197"}
+.glyphicon-cloud-upload:before{content:"\e198"}
+.glyphicon-tree-conifer:before{content:"\e199"}
+.glyphicon-tree-deciduous:before{content:"\e200"}
+.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}
+.dropdown{position:relative}
+.dropdown-toggle:focus{outline:0}
+.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}
+.dropdown-menu.pull-right{right:0;left:auto}
+.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}
+.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}
+.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}
+.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}
+.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}
+.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}
+.open>.dropdown-menu{display:block}
+.open>a{outline:0}
+.dropdown-menu-right{left:auto;right:0}
+.dropdown-menu-left{left:0;right:auto}
+.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#999}
+.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}
+.pull-right>.dropdown-menu{right:0;left:auto}
+.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}
+.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}
+@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}
+.navbar-right .dropdown-menu-left{left:0;right:auto}
+}
+.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}
+.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}
+.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}
+.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}
+.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}
+.btn-toolbar{margin-left:-5px}
+.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}
+.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}
+.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}
+.btn-group>.btn:first-child{margin-left:0}
+.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}
+.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}
+.btn-group>.btn-group{float:left}
+.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}
+.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}
+.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}
+.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}
+.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}
+.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}
+.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}
+.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}
+.btn .caret{margin-left:0}
+.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}
+.dropup .btn-lg .caret{border-width:0 5px 5px}
+.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}
+.btn-group-vertical>.btn-group>.btn{float:none}
+.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}
+.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}
+.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}
+.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}
+.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}
+.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}
+.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}
+.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}
+.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}
+.btn-group-justified>.btn-group .btn{width:100%}
+[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{display:none}
+.input-group{position:relative;display:table;border-collapse:separate}
+.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}
+.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}
+.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}
+select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}
+textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}
+.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}
+select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}
+textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}
+.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}
+.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}
+.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}
+.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}
+.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}
+.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}
+.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}
+.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}
+.input-group-addon:first-child{border-right:0}
+.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}
+.input-group-addon:last-child{border-left:0}
+.input-group-btn{position:relative;font-size:0;white-space:nowrap}
+.input-group-btn>.btn{position:relative}
+.input-group-btn>.btn+.btn{margin-left:-1px}
+.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}
+.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}
+.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}
+.nav{margin-bottom:0;padding-left:0;list-style:none}
+.nav>li{position:relative;display:block}
+.nav>li>a{position:relative;display:block;padding:10px 15px}
+.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}
+.nav>li.disabled>a{color:#999}
+.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;background-color:transparent;cursor:not-allowed}
+.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}
+.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}
+.nav>li>a>img{max-width:none}
+.nav-tabs{border-bottom:1px solid #ddd}
+.nav-tabs>li{float:left;margin-bottom:-1px}
+.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}
+.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}
+.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}
+.nav-tabs.nav-justified{width:100%;border-bottom:0}
+.nav-tabs.nav-justified>li{float:none}
+.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}
+.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}
+@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}
+.nav-tabs.nav-justified>li>a{margin-bottom:0}
+}
+.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}
+.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}
+@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}
+.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}
+}
+.nav-pills>li{float:left}
+.nav-pills>li>a{border-radius:4px}
+.nav-pills>li+li{margin-left:2px}
+.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}
+.nav-stacked>li{float:none}
+.nav-stacked>li+li{margin-top:2px;margin-left:0}
+.nav-justified{width:100%}
+.nav-justified>li{float:none}
+.nav-justified>li>a{text-align:center;margin-bottom:5px}
+.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}
+@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}
+.nav-justified>li>a{margin-bottom:0}
+}
+.nav-tabs-justified{border-bottom:0}
+.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}
+.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}
+@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}
+.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}
+}
+.tab-content>.tab-pane{display:none}
+.tab-content>.active{display:block}
+.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}
+.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}
+@media (min-width:768px){.navbar{border-radius:4px}
+}
+@media (min-width:768px){.navbar-header{float:left}
+}
+.navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}
+.navbar-collapse.in{overflow-y:auto}
+@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}
+.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}
+.navbar-collapse.in{overflow-y:visible}
+.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}
+}
+.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}
+@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}
+}
+.navbar-static-top{z-index:1000;border-width:0 0 1px}
+@media (min-width:768px){.navbar-static-top{border-radius:0}
+}
+.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}
+@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}
+}
+.navbar-fixed-top{top:0;border-width:0 0 1px}
+.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}
+.navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px;height:50px}
+.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}
+@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}
+}
+.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}
+.navbar-toggle:focus{outline:0}
+.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}
+.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}
+@media (min-width:768px){.navbar-toggle{display:none}
+}
+.navbar-nav{margin:7.5px -15px}
+.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}
+@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}
+.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}
+.navbar-nav .open .dropdown-menu>li>a{line-height:20px}
+.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}
+}
+@media (min-width:768px){.navbar-nav{float:left;margin:0}
+.navbar-nav>li{float:left}
+.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}
+.navbar-nav.navbar-right:last-child{margin-right:-15px}
+}
+@media (min-width:768px){.navbar-left{float:left!important}
+.navbar-right{float:right!important}
+}
+.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}
+@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}
+.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}
+.navbar-form .input-group>.form-control{width:100%}
+.navbar-form .control-label{margin-bottom:0;vertical-align:middle}
+.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}
+.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{float:none;margin-left:0}
+.navbar-form .has-feedback .form-control-feedback{top:0}
+}
+@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}
+}
+@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}
+.navbar-form.navbar-right:last-child{margin-right:-15px}
+}
+.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}
+.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}
+.navbar-btn{margin-top:8px;margin-bottom:8px}
+.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}
+.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}
+.navbar-text{margin-top:15px;margin-bottom:15px}
+@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}
+.navbar-text.navbar-right:last-child{margin-right:0}
+}
+.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}
+.navbar-default .navbar-brand{color:#777}
+.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}
+.navbar-default .navbar-text{color:#777}
+.navbar-default .navbar-nav>li>a{color:#777}
+.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}
+.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}
+.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}
+.navbar-default .navbar-toggle{border-color:#ddd}
+.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}
+.navbar-default .navbar-toggle .icon-bar{background-color:#888}
+.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}
+.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}
+@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}
+.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}
+.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}
+.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}
+}
+.navbar-default .navbar-link{color:#777}
+.navbar-default .navbar-link:hover{color:#333}
+.navbar-inverse{background-color:#222;border-color:#080808}
+.navbar-inverse .navbar-brand{color:#999}
+.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}
+.navbar-inverse .navbar-text{color:#999}
+.navbar-inverse .navbar-nav>li>a{color:#999}
+.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}
+.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}
+.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}
+.navbar-inverse .navbar-toggle{border-color:#333}
+.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}
+.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}
+.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}
+.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}
+@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}
+.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}
+.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}
+.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}
+.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}
+.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}
+}
+.navbar-inverse .navbar-link{color:#999}
+.navbar-inverse .navbar-link:hover{color:#fff}
+.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}
+.breadcrumb>li{display:inline-block}
+.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}
+.breadcrumb>.active{color:#999}
+.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}
+.pagination>li{display:inline}
+.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#428bca;background-color:#fff;border:1px solid #ddd;margin-left:-1px}
+.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}
+.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}
+.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}
+.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}
+.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;background-color:#fff;border-color:#ddd;cursor:not-allowed}
+.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}
+.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}
+.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}
+.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}
+.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}
+.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}
+.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}
+.pager li{display:inline}
+.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}
+.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}
+.pager .next>a,.pager .next>span{float:right}
+.pager .previous>a,.pager .previous>span{float:left}
+.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;background-color:#fff;cursor:not-allowed}
+.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}
+.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}
+.label:empty{display:none}
+.btn .label{position:relative;top:-1px}
+.label-default{background-color:#999}
+.label-default[href]:hover,.label-default[href]:focus{background-color:gray}
+.label-primary{background-color:#428bca}
+.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}
+.label-success{background-color:#5cb85c}
+.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}
+.label-info{background-color:#5bc0de}
+.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}
+.label-warning{background-color:#f0ad4e}
+.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}
+.label-danger{background-color:#d9534f}
+.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}
+.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#999;border-radius:10px}
+.badge:empty{display:none}
+.btn .badge{position:relative;top:-1px}
+.btn-xs .badge{top:0;padding:1px 5px}
+a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}
+a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}
+.nav-pills>li>a>.badge{margin-left:3px}
+.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}
+.jumbotron h1,.jumbotron .h1{color:inherit}
+.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}
+.container .jumbotron{border-radius:6px}
+.jumbotron .container{max-width:100%}
+@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}
+.container .jumbotron{padding-left:60px;padding-right:60px}
+.jumbotron h1,.jumbotron .h1{font-size:63px}
+}
+.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}
+.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}
+a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}
+.thumbnail .caption{padding:9px;color:#333}
+.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}
+.alert h4{margin-top:0;color:inherit}
+.alert .alert-link{font-weight:700}
+.alert>p,.alert>ul{margin-bottom:0}
+.alert>p+p{margin-top:5px}
+.alert-dismissable{padding-right:35px}
+.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}
+.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}
+.alert-success hr{border-top-color:#c9e2b3}
+.alert-success .alert-link{color:#2b542c}
+.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}
+.alert-info hr{border-top-color:#a6e1ec}
+.alert-info .alert-link{color:#245269}
+.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}
+.alert-warning hr{border-top-color:#f7e1b5}
+.alert-warning .alert-link{color:#66512c}
+.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}
+.alert-danger hr{border-top-color:#e4b9c0}
+.alert-danger .alert-link{color:#843534}
+@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}
+to{background-position:0 0}
+}
+@keyframes progress-bar-stripes{from{background-position:40px 0}
+to{background-position:0 0}
+}
+.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}
+.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}
+.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}
+.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}
+.progress-bar-success{background-color:#5cb85c}
+.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}
+.progress-bar-info{background-color:#5bc0de}
+.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}
+.progress-bar-warning{background-color:#f0ad4e}
+.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}
+.progress-bar-danger{background-color:#d9534f}
+.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}
+.media,.media-body{overflow:hidden;zoom:1}
+.media,.media .media{margin-top:15px}
+.media:first-child{margin-top:0}
+.media-object{display:block}
+.media-heading{margin:0 0 5px}
+.media>.pull-left{margin-right:10px}
+.media>.pull-right{margin-left:10px}
+.media-list{padding-left:0;list-style:none}
+.list-group{margin-bottom:20px;padding-left:0}
+.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}
+.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}
+.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}
+.list-group-item>.badge{float:right}
+.list-group-item>.badge+.badge{margin-right:5px}
+a.list-group-item{color:#555}
+a.list-group-item .list-group-item-heading{color:#333}
+a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}
+a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}
+a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}
+a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7}
+.list-group-item-success{color:#3c763d;background-color:#dff0d8}
+a.list-group-item-success{color:#3c763d}
+a.list-group-item-success .list-group-item-heading{color:inherit}
+a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}
+a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}
+.list-group-item-info{color:#31708f;background-color:#d9edf7}
+a.list-group-item-info{color:#31708f}
+a.list-group-item-info .list-group-item-heading{color:inherit}
+a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}
+a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}
+.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}
+a.list-group-item-warning{color:#8a6d3b}
+a.list-group-item-warning .list-group-item-heading{color:inherit}
+a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}
+a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}
+.list-group-item-danger{color:#a94442;background-color:#f2dede}
+a.list-group-item-danger{color:#a94442}
+a.list-group-item-danger .list-group-item-heading{color:inherit}
+a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}
+a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}
+.list-group-item-heading{margin-top:0;margin-bottom:5px}
+.list-group-item-text{margin-bottom:0;line-height:1.3}
+.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}
+.panel-body{padding:15px}
+.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}
+.panel-heading>.dropdown .dropdown-toggle{color:inherit}
+.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}
+.panel-title>a{color:inherit}
+.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}
+.panel>.list-group{margin-bottom:0}
+.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}
+.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}
+.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}
+.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}
+.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}
+.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}
+.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}
+.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}
+.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}
+.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}
+.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}
+.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}
+.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}
+.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}
+.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}
+.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}
+.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}
+.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}
+.panel>.table-responsive{border:0;margin-bottom:0}
+.panel-group{margin-bottom:20px}
+.panel-group .panel{margin-bottom:0;border-radius:4px;overflow:hidden}
+.panel-group .panel+.panel{margin-top:5px}
+.panel-group .panel-heading{border-bottom:0}
+.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}
+.panel-group .panel-footer{border-top:0}
+.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}
+.panel-default{border-color:#ddd}
+.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}
+.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}
+.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}
+.panel-primary{border-color:#428bca}
+.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}
+.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}
+.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}
+.panel-success{border-color:#d6e9c6}
+.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}
+.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}
+.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}
+.panel-info{border-color:#bce8f1}
+.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}
+.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}
+.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}
+.panel-warning{border-color:#faebcc}
+.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}
+.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}
+.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}
+.panel-danger{border-color:#ebccd1}
+.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}
+.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}
+.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}
+.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}
+.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}
+.well-lg{padding:24px;border-radius:6px}
+.well-sm{padding:9px;border-radius:3px}
+.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}
+.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}
+button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}
+.modal-open{overflow:hidden}
+.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}
+.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}
+.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}
+.modal-dialog{position:relative;width:auto;margin:10px}
+.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}
+.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}
+.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}
+.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}
+.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}
+.modal-header .close{margin-top:-2px}
+.modal-title{margin:0;line-height:1.42857143}
+.modal-body{position:relative;padding:20px}
+.modal-footer{margin-top:15px;padding:19px 20px 20px;text-align:right;border-top:1px solid #e5e5e5}
+.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}
+.modal-footer .btn-group .btn+.btn{margin-left:-1px}
+.modal-footer .btn-block+.btn-block{margin-left:0}
+@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}
+.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}
+.modal-sm{width:300px}
+}
+@media (min-width:992px){.modal-lg{width:900px}
+}
+.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}
+.tooltip.in{opacity:.9;filter:alpha(opacity=90)}
+.tooltip.top{margin-top:-3px;padding:5px 0}
+.tooltip.right{margin-left:3px;padding:0 5px}
+.tooltip.bottom{margin-top:3px;padding:5px 0}
+.tooltip.left{margin-left:-3px;padding:0 5px}
+.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}
+.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}
+.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}
+.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}
+.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}
+.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}
+.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}
+.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}
+.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}
+.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}
+.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);white-space:normal}
+.popover.top{margin-top:-10px}
+.popover.right{margin-left:10px}
+.popover.bottom{margin-top:10px}
+.popover.left{margin-left:-10px}
+.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}
+.popover-content{padding:9px 14px}
+.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}
+.popover>.arrow{border-width:11px}
+.popover>.arrow:after{border-width:10px;content:""}
+.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}
+.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}
+.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}
+.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}
+.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}
+.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}
+.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}
+.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}
+.carousel{position:relative}
+.carousel-inner{position:relative;overflow:hidden;width:100%}
+.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}
+.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}
+.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}
+.carousel-inner>.active{left:0}
+.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}
+.carousel-inner>.next{left:100%}
+.carousel-inner>.prev{left:-100%}
+.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}
+.carousel-inner>.active.left{left:-100%}
+.carousel-inner>.active.right{left:100%}
+.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}
+.carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}
+.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}
+.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}
+.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}
+.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%}
+.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%}
+.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}
+.carousel-control .icon-prev:before{content:'\2039'}
+.carousel-control .icon-next:before{content:'\203a'}
+.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}
+.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}
+.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}
+.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}
+.carousel-caption .btn{text-shadow:none}
+@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}
+.carousel-caption{left:20%;right:20%;padding-bottom:30px}
+.carousel-indicators{bottom:20px}
+}
+.clearfix:before,.clearfix:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}
+.clearfix:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}
+.center-block{display:block;margin-left:auto;margin-right:auto}
+.pull-right{float:right!important}
+.pull-left{float:left!important}
+
+.show{display:block!important}
+.invisible{visibility:hidden}
+.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}
+.hidden{display:none!important;visibility:hidden!important}
+.affix{position:fixed}
+@-ms-viewport{width:device-width}
+.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}
+@media (max-width:767px){.visible-xs{display:block!important}
+table.visible-xs{display:table}
+tr.visible-xs{display:table-row!important}
+th.visible-xs,td.visible-xs{display:table-cell!important}
+}
+@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}
+table.visible-sm{display:table}
+tr.visible-sm{display:table-row!important}
+th.visible-sm,td.visible-sm{display:table-cell!important}
+}
+@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}
+table.visible-md{display:table}
+tr.visible-md{display:table-row!important}
+th.visible-md,td.visible-md{display:table-cell!important}
+}
+@media (min-width:1200px){.visible-lg{display:block!important}
+table.visible-lg{display:table}
+tr.visible-lg{display:table-row!important}
+th.visible-lg,td.visible-lg{display:table-cell!important}
+}
+@media (max-width:767px){.hidden-xs{display:none!important}
+}
+@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}
+}
+@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}
+}
+@media (min-width:1200px){.hidden-lg{display:none!important}
+}
+.visible-print{display:none!important}
+@media print{.visible-print{display:block!important}
+table.visible-print{display:table}
+tr.visible-print{display:table-row!important}
+th.visible-print,td.visible-print{display:table-cell!important}
+}
+@media print{.hidden-print{display:none!important}
+}
diff --git a/css/css.css b/css/css.css
new file mode 100644
index 0000000..e69de29
diff --git a/css/demo_notif.css b/css/demo_notif.css
new file mode 100644
index 0000000..8b036f9
--- /dev/null
+++ b/css/demo_notif.css
@@ -0,0 +1,376 @@
+@font-face {
+	font-weight: normal;
+	font-style: normal;
+	font-family: 'codropsicons';
+	src:url('../fonts/codropsicons/codropsicons.eot');
+	src:url('../fonts/codropsicons/codropsicons.eot?#iefix') format('embedded-opentype'),
+		url('../fonts/codropsicons/codropsicons.woff') format('woff'),
+		url('../fonts/codropsicons/codropsicons.ttf') format('truetype'),
+		url('../fonts/codropsicons/codropsicons.svg#codropsicons') format('svg');
+}
+
+@font-face {
+	font-family: 'linecons';
+	src:url('../fonts/linecons/linecons.eot?-kux0c3');
+	src:url('../fonts/linecons/linecons.eot?#iefix-kux0c3') format('embedded-opentype'),
+		url('../fonts/linecons/linecons.woff?-kux0c3') format('woff'),
+		url('../fonts/linecons/linecons.ttf?-kux0c3') format('truetype'),
+		url('../fonts/linecons/linecons.svg?-kux0c3#linecons') format('svg');
+	font-weight: normal;
+	font-style: normal;
+}
+
+.icon:before {
+	font-family: 'linecons';
+	speak: none;
+	font-style: normal;
+	font-weight: normal;
+	font-variant: normal;
+	text-transform: none;
+	line-height: 1;
+	font-size: 2em;
+	display: inline-block;
+	/* Better Font Rendering =========== */
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+}
+
+.icon-search:before {
+	content: "\e600";
+}
+.icon-settings:before {
+	content: "\e601";
+}
+.icon-southAmerica:before {
+	content: "\e602";
+}
+.icon-asia:before {
+	content: "\e603";
+}
+.icon-oceania:before {
+	content: "\e604";
+}
+.icon-china:before {
+	content: "\e605";
+}
+.icon-india:before {
+	content: "\e606";
+}
+.icon-world1:before {
+	content: "\e607";
+}
+*, *:after, *:before { -webkit-box-sizing: border-box; box-sizing: border-box; }
+.clearfix:before, .clearfix:after { content: ''; display: table; }
+.clearfix:after { clear: both; }
+
+html, body {
+	height: 100%;
+}
+
+body {
+	background: #27ae60;
+	color: #f5f3ec;
+	font-weight: 400;
+	font-size: 1em;
+	line-height: 1.25;
+	position: relative; z-index: 1;
+	font-family: 'Raleway', Calibri, Arial, sans-serif;
+}
+
+a, button {
+	outline: none;
+}
+
+a {
+	color: rgba(0,0,0,0.5);
+	text-decoration: none;
+}
+
+a:hover, a:focus {
+	color: #fff;
+}
+
+.container {
+	min-height: 100%;
+}
+
+.color-2 { background: #729DBF; }
+.color-3 { background: #72BF7B; }
+.color-4 { background: #484860; }
+.color-5 { background: #7772BF; }
+.color-6 { background: #B3BF72; }
+.color-7 { background: #72BFB9; }
+.color-8 { background: #BFA372; }
+.color-9 { background: #6cc1ed; }
+.color-9 { color: rgba(0,0,0,0.6); }
+.color-10 { background: #00cfbe; }
+.color-11 { background: #00a2d3;}
+
+section {
+	padding: 1em;
+	text-align: center;
+}
+
+/* Header */
+.codrops-header {
+	margin: 0 auto;
+	padding: 0 2em 0em;
+	text-align: center;
+}
+
+.codrops-header h1 {
+	margin: 0;
+	font-size: 3.5em;
+	line-height: 1.3;
+}
+
+.codrops-header h1 span {
+	display: block;
+	padding: 0.4em 0 0.6em 0.1em;
+	font-size: 46%;
+	font-weight: 300;
+	opacity: 0.7;
+}
+
+/* To Navigation Style */
+.codrops-top {
+	width: 100%;
+	text-transform: uppercase;
+	font-weight: 700;
+	font-size: 0.69em;
+	text-align: center;
+	padding: 2em 0;
+}
+
+.codrops-top a {
+	display: inline-block;
+	padding: 1.5em;
+	text-decoration: none;
+	letter-spacing: 1px;
+}
+
+.codrops-icon:before {
+	margin: 0 4px;
+	text-transform: none;
+	font-weight: normal;
+	font-style: normal;
+	font-variant: normal;
+	font-family: 'codropsicons';
+	line-height: 1;
+	speak: none;
+	-webkit-font-smoothing: antialiased;
+}
+
+.codrops-icon-drop:before {
+	content: "\e001";
+}
+
+.codrops-icon-prev:before {
+	content: "\e004";
+}
+
+/* Demo Buttons Style */
+.codrops-demos {
+	padding-top: 1em;
+	font-size: 0.8em;
+}
+
+.codrops-demos div {
+	margin-left: 90px;
+	padding-bottom: 1em;
+}
+
+.codrops-demos a {
+	display: inline-block;
+	margin: 0.35em 0.1em;
+	padding: 0.35em 0.9em 0.35em;
+	outline: none;
+	text-decoration: none;
+	text-transform: uppercase;
+	letter-spacing: 1px;
+	font-weight: 700;
+	background: rgba(255,255,255,0.3);
+	color: #fff;
+	border-radius: 2px;
+	font-size: 110%;
+}
+
+.codrops-demos a:hover,
+.codrops-demos a.current-demo {
+	background: rgba(0,0,0,0.2);
+}
+
+.codrops-demos h3 {
+	margin: 0;
+	padding: 1em 0 0.5em 0;
+	font-size: 0.9em;
+	float: left;
+	min-width: 90px;
+	clear: left;
+}
+
+.codrops-demos div:not(:first-child) h3 {
+	padding-top: 2em;
+}
+
+.codrops-demos a:hover,
+.codrops-demos a.current-demo {
+	color: inherit;
+	border-color: initial;
+}
+
+/* Main content */
+.main {
+	max-width: 69em;
+	margin: 0 auto;
+	padding: 3% 0 10%;
+}
+
+.column {
+	float: left;
+	width: 50%;
+	padding: 0 2.5em;
+	min-height: 200px;
+	position: relative;
+}
+
+.column:first-child {
+	box-shadow: inset -1px 0 0 rgba(0,0,0,0.1);
+	text-align: right;
+}
+
+.column p {
+	font-weight: 300;
+	font-size: 1.8em;
+	padding: 0 0 0.5em;
+	margin: 0;
+	line-height: 1.5;
+}
+
+.column p.small {
+	font-size: 1em;
+	padding: 0.75em 0 1em;
+	font-weight: 700;
+	line-height: 1.2;
+}
+
+.progress-button {
+	position: relative;
+	display: inline-block;
+	padding: 0 3em;
+	outline: none;
+	border: none;
+	color: #fff;
+	text-transform: uppercase;
+	font-weight: 700;
+	letter-spacing: 1px;
+	font-size: 1em;
+	z-index: 50;
+	line-height: 4;
+	overflow: hidden;
+	border-radius: 5px;
+	background: rgba(0,0,0,0.2);
+}
+
+.progress-button .content {
+	position: relative;
+	display: block;
+	z-index: 10;
+	-webkit-transition: -webkit-transform 0.3s;
+	transition: transform 0.3s;
+}
+
+.progress-button .progress {
+	position: absolute;
+	left: 0;
+	background: rgba(0,0,0,0.2);
+	top: 0;
+	width: 0%;
+	opacity: 0;
+	height: 100%;
+	z-index: 0;
+	-webkit-transition: width 0s 0.3s, opacity 0.3s;
+	transition: width 0s 0.3s, opacity 0.3s;
+}
+
+.progress-button.active .progress {
+	opacity: 1;
+	width: 100%;
+	-webkit-transition: width 1.2s;
+	transition: width 1.2s;
+}
+
+/* Related demos */
+.related {
+	clear: both;
+	padding: 5em 0 8em;
+	-webkit-backface-visibility: hidden;
+	backface-visibility: hidden;
+}
+
+.related p {
+	font-size: 1.5em;
+	font-weight: 700;
+}
+
+.related > a {
+	border: 2px solid black;
+	border-color: initial;
+	display: inline-block;
+	text-align: center;
+	margin: 20px 10px;
+	padding: 25px;
+	border-radius: 5px;
+}
+
+.related a img {
+	max-width: 100%;
+	opacity: 0.8;
+}
+
+.related a:hover img,
+.related a:active img {
+	opacity: 1;
+}
+
+.related a h3 {
+	margin: 0;
+	padding: 0.5em 0 0.3em;
+	max-width: 300px;
+	text-align: left;
+}
+
+@media screen and (max-width: 46.5em) {
+	.column {
+		width: 100%;
+		min-width: auto;
+		min-height: auto;
+		padding: 2em; 
+		font-size: 90%;
+	}
+
+	.column:first-child {
+		text-align: center;
+		box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
+	}
+}
+
+@media screen and (max-width: 25em) {
+
+	.codrops-header h1 {
+		font-size: 2.5em;
+	}
+
+	.codrops-top a {
+		font-size: 1.6em;
+		border: 2px solid black;
+		border-color: initial;
+		padding: 0.5em;
+		border-radius: 3px;
+	}
+
+	.codrops-icon span {
+		display: none;
+	}
+
+}
\ No newline at end of file
diff --git a/css/en.css b/css/en.css
new file mode 100644
index 0000000..bde73a6
--- /dev/null
+++ b/css/en.css
@@ -0,0 +1,45 @@
+.footer-base .logo-footer {
+    background: url(../img/logo-footer.png) no-repeat;
+    width: 156px;
+    height: 53px;
+    margin: -20px auto;
+    transition: .5s;
+    -o-transition: .5s;
+    -moz-transition: .5s;
+    -webkit-transition: .5s;
+}
+
+.designlicks2 a{
+width:100px;
+height:58px;
+text-indent:-9000px;
+display:block;
+background: url(../img/designlickC.png) no-repeat;
+}
+
+.designlicks a{
+width:100px;
+height:58px;
+text-indent:-9000px;
+display:block;
+background: url(../img/designlickA.png) no-repeat;
+}
+
+.designlicks3 a{
+width:100px;
+height:58px;
+text-indent:-9000px;
+display:block;
+background: url(../img/designlickD.png) no-repeat;
+}
+
+.footer-base .logo-footer {
+    background: url(../img/logofooter.png) no-repeat;
+    width: 156px;
+    height: 53px;
+    margin: -20px auto;
+    transition: .5s;
+    -o-transition: .5s;
+    -moz-transition: .5s;
+    -webkit-transition: .5s;
+}
\ No newline at end of file
diff --git a/css/filters.svg b/css/filters.svg
new file mode 100644
index 0000000..50b5646
--- /dev/null
+++ b/css/filters.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg">
+ <filter id="grayscale">
+  <feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"/>
+ </filter>
+</svg>
\ No newline at end of file
diff --git a/css/fr.css b/css/fr.css
new file mode 100644
index 0000000..bd92835
--- /dev/null
+++ b/css/fr.css
@@ -0,0 +1,47 @@
+
+.footer-base .logo-footer {
+    background: url(../img/logo-footer.png) no-repeat;
+    width: 156px;
+    height: 53px;
+    margin: -20px auto;
+    transition: .5s;
+    -o-transition: .5s;
+    -moz-transition: .5s;
+    -webkit-transition: .5s;
+}
+
+.designlicks2 a{
+width:100px;
+height:58px;
+text-indent:-9000px;
+display:block;
+background: url(../img/designlickCF.png) no-repeat;
+}
+
+.designlicks a{
+width:100px;
+height:58px;
+text-indent:-9000px;
+display:block;
+background: url(../img/designlickAF.png) no-repeat;
+}
+
+.designlicks3 a{
+width:100px;
+height:58px;
+text-indent:-9000px;
+display:block;
+background: url(../img/designlickDF.png) no-repeat;
+}
+
+
+.footer-base .logo-footer {
+    background: url(../img/logo-footer.png) no-repeat;
+    width: 156px;
+    height: 53px;
+    margin: -20px auto;
+    transition: .5s;
+    -o-transition: .5s;
+    -moz-transition: .5s;
+    -webkit-transition: .5s;
+}
\ No newline at end of file
diff --git a/css/jquery-jvectormap-1.2.2.css b/css/jquery-jvectormap-1.2.2.css
new file mode 100644
index 0000000..3d9c884
--- /dev/null
+++ b/css/jquery-jvectormap-1.2.2.css
@@ -0,0 +1,37 @@
+.jvectormap-label {
+    position: absolute;
+    display: none;
+    border: solid 1px #CDCDCD;
+    -webkit-border-radius: 3px;
+    -moz-border-radius: 3px;
+    border-radius: 3px;
+    background: #292929;
+    color: white;
+    font-family: sans-serif, Verdana;
+    font-size: smaller;
+    padding: 3px;
+}
+
+.jvectormap-zoomin, .jvectormap-zoomout {
+    position: absolute;
+    left: 10px;
+    -webkit-border-radius: 3px;
+    -moz-border-radius: 3px;
+    border-radius: 3px;
+    background: #292929;
+    padding: 3px;
+    color: white;
+    width: 10px;
+    height: 10px;
+    cursor: pointer;
+    line-height: 10px;
+    text-align: center;
+}
+
+.jvectormap-zoomin {
+    top: 10px;
+}
+
+.jvectormap-zoomout {
+    top: 30px;
+}
\ No newline at end of file
diff --git a/css/main.css b/css/main.css
new file mode 100644
index 0000000..472b59e
--- /dev/null
+++ b/css/main.css
@@ -0,0 +1,1943 @@
+ï»¿@import url(http://fonts.googleapis.com/css?family=Dosis);
+
+
+.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.clearfix{zoom:1}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}
+@keyframes controller-text {}@-moz-keyframes controller-text {}@-webkit-keyframes controller-text{0%{opacity:0}3%{opacity:1}17%{opacity:1}20%{opacity:0}100%{opacity:0}}@-ms-keyframes controller-text {}@-o-keyframes controller-text {}@keyframes pulse{0%{-webkit-transform:scale(0.1);-moz-transform:scale(0.1);-ms-transform:scale(0.1);-o-transform:scale(0.1);transform:scale(0.1);opacity:1}30%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-moz-keyframes pulse{0%{-webkit-transform:scale(0.1);-moz-transform:scale(0.1);-ms-transform:scale(0.1);-o-transform:scale(0.1);transform:scale(0.1);opacity:1}30%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(0.1);-moz-transform:scale(0.1);-ms-transform:scale(0.1);-o-transform:scale(0.1);transform:scale(0.1);opacity:1}30%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-ms-keyframes pulse{0%{-webkit-transform:scale(0.1);-moz-transform:scale(0.1);-ms-transform:scale(0.1);-o-transform:scale(0.1);transform:scale(0.1);opacity:1}30%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-o-keyframes pulse{0%{-webkit-transform:scale(0.1);-moz-transform:scale(0.1);-ms-transform:scale(0.1);-o-transform:scale(0.1);transform:scale(0.1);opacity:1}30%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@keyframes controller-pulse{0%{-webkit-transform:scale(0.35);-moz-transform:scale(0.35);-ms-transform:scale(0.35);-o-transform:scale(0.35);transform:scale(0.35);opacity:0}30%{opacity:.4}80%{opacity:.4}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-moz-keyframes controller-pulse{0%{-webkit-transform:scale(0.35);-moz-transform:scale(0.35);-ms-transform:scale(0.35);-o-transform:scale(0.35);transform:scale(0.35);opacity:0}30%{opacity:.4}80%{opacity:.4}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-webkit-keyframes controller-pulse{0%{-webkit-transform:scale(0.35);-moz-transform:scale(0.35);-ms-transform:scale(0.35);-o-transform:scale(0.35);transform:scale(0.35);opacity:0}30%{opacity:.4}80%{opacity:.4}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-ms-keyframes controller-pulse{0%{-webkit-transform:scale(0.35);-moz-transform:scale(0.35);-ms-transform:scale(0.35);-o-transform:scale(0.35);transform:scale(0.35);opacity:0}30%{opacity:.4}80%{opacity:.4}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-o-keyframes controller-pulse{0%{-webkit-transform:scale(0.35);-moz-transform:scale(0.35);-ms-transform:scale(0.35);-o-transform:scale(0.35);transform:scale(0.35);opacity:0}30%{opacity:.4}80%{opacity:.4}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@keyframes play-pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1}60%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2);opacity:0}}@-moz-keyframes play-pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1}60%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2);opacity:0}}@-webkit-keyframes play-pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1}60%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2);opacity:0}}@-ms-keyframes play-pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1}60%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2);opacity:0}}@-o-keyframes play-pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1}60%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2);opacity:0}}*,*:after,*:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{font-family:'gotham-light', sans-serif}body a{text-decoration:none;-webkit-transition:0.1s;-moz-transition:0.1s;-o-transition:0.1s;transition:0.1s}body a:hover{-webkit-transition:0.1s;-moz-transition:0.1s;-o-transition:0.1s;transition:0.1s}body a:active{-webkit-transform:translateY(1px);-moz-transform:translateY(1px);-ms-transform:translateY(1px);-o-transform:translateY(1px);transform:translateY(1px);-webkit-transition:0.1s;-moz-transition:0.1s;-o-transition:0.1s;transition:0.1s}body b{font-family:'gotham-book', 'gotham-light', sans-serif}body{-webkit-animation:bugfix infinite 1s}@-webkit-keyframes bugfix{0%{padding:0}100%{padding:0}}button,input,select{outline:0}.none{display:none}
+
+@font-face {
+    font-family: 'Angelina';
+    src: url('../fonts/Angelina.eot?') format('eot'), 
+         url('../fonts/Angelina.woff') format('woff'), 
+         url('../fonts/Angelina.ttf')  format('truetype'),
+         url('../fonts/Angelina.svg#Angelina') format('svg');
+}
+
+body, html {
+    height: 100%;
+}
+
+body {
+    font-family: 'Asap', sans-serif;
+    width: 100%;
+    background:#1c1c1d;
+}
+
+.fbCenter{
+   width: 600px;
+   margin: auto;
+}
+.AddCenter{
+    margin: auto;
+    color: black;
+    font-size: 30px;
+    text-align: center;
+    
+}
+
+.centreImgTime{
+margin: auto;
+position: absolute;
+top:0;
+bottom:0;
+left:0;
+right: 0;
+}
+
+.espace{
+    margin-bottom: 15px;
+}
+.discover:hover{
+   text-decoration: underline; 
+}
+
+.article-name:hover{
+    color: #ff0000;
+    text-decoration: underline;
+}
+#header{
+ height: 200px;
+}
+
+#global
+{
+    width: 1000px;
+    height: auto;
+    border: solid yellow 5px;
+}
+ 
+#carte{
+    margin-left: 200px;
+    width: 500px;
+    float: left;
+    border: solid black 2px;
+}
+ 
+ #c1{
+    height: 400px;
+    border: solid green 1px;
+ }
+ 
+ #c2{
+    height: 400px;
+    border: solid red 1px;
+ }
+ 
+ #c3{
+    height: 400px;
+    border: solid green 1px;
+ }
+ 
+ #c4{
+    height: 400px;
+    border: solid blue 1px;
+ }
+
+ #texte{
+    height: 2000px;
+    width: 500px;
+    margin-left: 300px;
+    border: solid black 1px;
+}
+ 
+.centre{
+    height: 100px;
+    width: 100px;
+    margin-left: 100px;
+    margin-top: 500px;
+}
+
+.clear {    clear: both;}
+
+.hide { display: block; }
+* { margin:0; padding:0; }
+body { background-color: #389bd3 !important; height:100%; }
+body.noscroll{position:fixed}
+img { border:none; }
+
+.car{
+    text-align: center;
+    padding-top: 100px;
+    color: red;
+    font-size: 30px;
+
+}
+
+.backtop {
+    position: fixed;
+    bottom: 0;
+    right: 20px;
+    z-index: 999999;
+}
+#gros{
+    font-size: 380px; 
+}
+
+.paddingZero{
+padding-top: 0px;
+}
+
+.vide{
+    margin-bottom: 30px;
+    margin-top: 30px;
+}
+.pcontact{
+    font-size: 25px;
+    font-style: italic;
+}
+.contacta{
+    font-size: 30px;
+    color: white;
+    margin-right: 30px;
+}
+.article-name{
+    font-size: 16px;
+}
+.fancybox-iframe{
+    width: 100%;
+    height: 100%;
+}
+
+.contacta:visited{
+    color: white;
+}
+
+.photo-link     { padding:5px; margin:5px; border:1px solid #ccc; display:block; width:200px; float:left; }
+.photo-link:hover   { border-color:#999; }
+
+
+.text-align{
+    text-align: center;
+}
+
+/*======================= Awards + Ulule ======================*/
+
+.paypal {
+    position: absolute;
+    z-index: 100;
+    margin-top: -40px;
+    margin-left: -150px
+}
+
+.designlicks{
+position:fixed;
+top:100px;
+left:0px;
+z-index:999;
+}
+
+.designlicks2{
+position:fixed;
+top:180px;
+left:0px;
+z-index:999;
+}
+
+.designlicks3{
+position:fixed;
+top:260px;
+left:0px;
+z-index:999;
+}
+
+/*======================= MENU + Ellipse ======================*/
+
+.bar-nav {
+    max-width: 905px;
+    margin: 0 auto;
+}
+
+.fixed-top .ellipse {
+    float: right;
+    font-family: 'dosis', arial, sans-serif;
+    color: white;
+    font-size: 14px;
+    font-weight: bold;
+    text-transform: uppercase;
+    background: url(../img/ellipse.png) no-repeat 0 -50px ;
+    height: 96px;
+    width: 146px;
+    padding-top: 26px;
+    text-align: center;
+}
+
+.bar-nav .logo {
+    padding: 20px 0 0;
+    margin: 0 auto;
+    display: block;
+    width: 173px;
+    position: absolute;
+    left: 50%;
+    margin-left: -77px;
+}
+
+.fixed-top {
+    width: 100%;
+    position: fixed;
+    z-index:200;
+    height: 0px;
+}
+
+.fixed-top #left-border{
+    width:980px;
+    margin:auto;
+    padding-right:20px;
+}
+
+/*======================= HEADER ======================*/
+
+header {
+    height: 70px;
+    background: white;
+    width: 100%;
+}
+
+header .menu {
+    width: 100%;
+    margin: 0px auto;
+    text-align: center;
+    padding-left: 50px;
+    padding-top: 20px;
+}
+
+header ul {
+    margin-top: 0px;
+    text-align: center;
+    display: inline-block;
+    padding-left: 0px;
+}
+
+header ul li{
+    display: inline-block;
+    text-decoration: none;
+    margin: 0 10px;
+    text-align: center;
+}
+
+header ul li a, header ul li a:visited {
+    font-family: 'dosis', arial, sans-serif;
+    text-transform: uppercase;
+    display: inline-block;
+    color: #404040;
+    font-weight: bold;
+    text-align: center;
+    transition: .3s;
+    -o-transition: .3s;
+    -moz-transition: .3s;
+    -webkit-transition: .3s;
+}
+
+header ul li a:hover {
+    color: #2993d9;
+}
+
+.dropdown-menu {
+    position: absolute;
+    top: 100%;
+    left: 0px;
+    z-index: 1000;
+    display: none;
+    float: left;
+    min-width: 160px;
+    padding: 5px 0px;
+    margin: 2px 0px 0px;
+    list-style: none outside none;
+    font-size: 14px;
+    background-color: #FFF;
+    border: 1px solid rgba(0, 0, 0, 0.15);
+    border-radius: 4px;
+    box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.176);
+    background-clip: padding-box;
+}
+
+.dropdown-menu >li>a{
+    
+    padding: 3px 30px;
+    
+    }
+    
+.dropdown-header{
+display:block;padding:3px 10px;font-size:14px;line-height:0.5;color:#555; background-color: #BBC;
+}
+
+
+.dropdown-menu>.dropdown-header{border-color:#555555}
+/*de ul a ulul*/
+
+header ul ul {
+    margin-top: 20px;
+    text-align: center;
+    display: inline-block;
+    padding-left: 0px;
+}
+
+
+header ul ul li{
+    display: inline-block;
+    text-decoration: none;
+    margin: 0 10px;
+    text-align: center;
+
+}
+
+header ul ul li a, header ul ul li a:visited {
+    font-size: 16px;
+     font-family: 'dosis', arial, sans-serif;
+    text-transform: uppercase;
+    display: inline-block;
+    color: #404040;
+    font-weight: bold;
+    text-align: center;
+    transition: .3s;
+    -o-transition: .3s;
+    -moz-transition: .3s;
+    -webkit-transition: .3s;
+
+}
+
+header ul ul li a:hover {
+    color: #2993d9;
+       font-size: 14px;
+}
+
+
+/* ulul fini*/
+
+header .ellipse {
+    font-family: 'dosis', arial, sans-serif;
+    color: white;
+    font-size: 14px;
+    font-weight: bold;
+    text-transform: uppercase;
+    background: url(../img/ellipse.png) no-repeat 0 -35px ;
+    padding-top: 29px;
+    height: 70px;
+    width: 146px;
+    text-align: center;
+}
+
+header .ellipse:hover {
+    color: white;
+}
+
+
+
+/*======================= FOOTER ======================*/
+
+footer {
+    z-index: 10000;
+    position: fixed;
+    bottom: 0px;
+    left: 0;
+    width: 100%;
+    margin: 0 auto;
+    font-size: 20px;
+    color: white;
+    cursor: pointer;
+}
+
+.footer-base {
+    text-align: center;
+    background: #1e1e1e;
+    position: fixed;
+    bottom: 0;
+    width: 100%;
+    height: 34px;
+    line-height: 0;
+}
+
+#footer_drop {
+    border-top: solid 3px #3794ce;
+    z-index: 10000;
+    width:100%;
+    background: #474747 url(../img/bg-footer.jpg) no-repeat;
+    -webkit-background-size: cover; /* pour Chrome et Safari */
+    -moz-background-size: cover; /* pour Firefox */
+    -o-background-size: cover; /* pour Opera */
+    background-size: cover; /* version standardisee */
+    font-family: 'dosis', arial, sans-serif;
+    color: white;
+    font-size: 16px;
+    /*padding: 6px 0 25px;*/
+    cursor: auto;
+}
+
+div.tagcloud p{
+    text-align: center;
+}
+
+.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:0px !important;padding-right:0px !important}
+
+div.flag-carroussel{
+    margin-top: 10px;
+    display: block;
+    height: 100px;
+    vertical-align: middle;
+}
+
+.triple a img{
+    height:50px;
+    display: block;
+    margin-left: auto;
+    margin-right: auto;
+}
+
+.triple .a .col-lg-4 {
+  text-align: center;
+}
+
+.triplet{
+   margin-top: 20px; 
+}
+
+.col-lg-4 {
+  text-align: center;
+}
+
+.r img{
+display: block;
+    margin-left: auto;
+    margin-right: auto;
+}
+
+#footer_drop .contact a{
+    color: white;
+    line-height: 50px;
+}
+
+fieldset{
+border: 0px solid #C0C0C0 !important;
+}
+
+#footer_drop #footer_content {
+    /*width: 980px;*/
+    margin: 0 auto;
+    display: none;
+}
+
+#footer_drop .contact, .follow, .condition {
+    float: left;
+    width: 30%;
+    font-size: 19px;
+}
+
+.follow {
+    padding: 0px 5px;
+    margin: 20px auto 0;
+    font-size: 20px;
+    color: #cdcdcd;
+    display: block;
+    width: 40%;
+}
+
+.follow a {
+    float: left;
+    padding-bottom:20px;
+    margin-top: 18px;
+    margin-left: 5px;
+}
+
+.follow .like-button{
+   margin-top: 19px;
+    margin-left: 10px;
+}
+
+.condition {
+    padding-top: 0px;
+    float: right;
+    width: 220px;
+}
+
+.condition a{
+    font-family: 'dosis', arial, sans-serif;
+    color: white;
+    font-size: 20px;
+    padding-right: 25px;
+    float: left;
+    transition: .3s;
+    -o-transition: .3s;
+    -moz-transition: .3s;
+    -webkit-transition: .3s;
+    line-height: 50px;
+}
+
+.condition a img{
+     max-width:120%;
+}
+
+@-moz-document url-prefix() {
+   .condition a img{
+     max-width:50%;
+}
+}
+
+.condition a:hover {
+    color: #2993d9;
+}
+
+.dot {
+    float: left;
+    height: 52px;
+    width: 40px;
+    background: url(../img/dot.png) no-repeat center center;
+}
+
+.footer-base .contact{
+    font-size:17px;
+}
+
+.font20{
+    font-size: 20px;
+}
+
+
+/*======================= INTRO ======================*/
+
+.inside{
+    width: 100%;
+    margin:0 auto;
+    position:relative
+}
+
+.intro{
+    width: 100%;
+    background:#fff url(../img/Home81.jpg) no-repeat center fixed;
+    margin:0;
+    padding:0;
+    -webkit-background-size: cover; /* pour Chrome et Safari */
+    -moz-background-size: cover; /* pour Firefox */
+    -o-background-size: cover; /* pour Opera */
+    background-size: cover; /* version standardisee */
+    padding: 0 0 0% 0;
+    height: 922px;
+}
+
+.intro .inside {
+    height: 100%;
+    padding: 0 0 45% 0;
+    width: 100%;
+    max-width: 100%;
+    margin: 0 auto;
+    transition: .3s;
+    -o-transition: .3s;
+    -moz-transition: .3s;
+    -webkit-transition: .3s;
+}
+
+.intro .play {
+    z-index: 1;
+    background: url(../img/btn-play.png) no-repeat center center;
+    position: absolute;
+    width: 128px;
+    height: 128px;
+    top: 30%;
+    left: 50%;
+    margin-top:-59px;
+    margin-left: -64px;
+    transition: .5s;
+    -o-transition: .5s;
+    -moz-transition: .5s;
+    -webkit-transition: .5s;
+}
+
+.intro .play:hover {
+    background: url(../img/btn-playHover.png) no-repeat center center;
+    transition: .5s;
+    -webkit-transition: background .5s;
+    -moz-transition: background .5s;
+    -o-transition: background .5s;
+}
+
+.intro .right {
+    width: 50%;
+    padding: 10px;
+    position: absolute;
+    right: 0px;
+    top: 50%;
+    margin-top: -70px;
+    color: #FF0000;
+    font-family: 'dosis', arial, sans-serif;
+    font-weight: bold;
+    font-size: 30px;
+    text-align: center;
+}
+
+.enGros{
+    font-size: 87px;
+    line-height: 68px;
+}
+
+#confort {
+font-size: 50px;
+}
+
+.intro .right p{
+    margin: 0 2% 0 15%;
+    max-width: 646px;
+    float: right;
+    transition: .3s;
+    -o-transition: .3s;
+    -moz-transition: .3s;
+    -webkit-transition: .3s;
+    font-size: 38px;
+}
+
+.intro .scroll {
+    background: url(../img/scroll-bg.png) no-repeat center center;
+    height: 77px;
+    width: 250px;
+    position: fixed;
+    bottom: 35px;
+    left: 50%;
+    margin-left: -125px;
+    font-family: 'dosis', arial, sans-serif;
+    color: #488cca;
+    font-size: 15px;
+    text-align: center;
+    font-weight: bold;
+    line-height: 0;
+}
+
+.scroll img {
+    width: 24px;
+    margin: 5px auto;
+    display: block;
+}
+
+/*================================= VIDEO LIGHTBOX ==============================*/
+
+.video-popup{
+    width:100%;
+    height:100%;
+    background:rgba(0,0,0,0.6);
+    position:fixed;top:0;
+    left:0;z-index:10;
+    opacity:0;
+    visibility:hidden;
+}
+
+.video-popup.show{
+    opacity:1;
+    visibility:visible;
+}
+
+.video-container{
+    width:960px;
+    height:540px;
+    position:fixed;
+    top:50%;
+    left:50%;
+    margin-top:-300px;
+    margin-left:-480px;
+    background:#bebebe;
+    background:black
+}
+
+.video-popup .video-container .fancybox-close{
+    top: -13px;
+    right: -12px;
+}
+.fancybox-type-swf .fancybox-close{
+    top: 0;
+}
+.fancybox-type-swf .fancybox-outer {
+    background: #000;
+}
+/*================================= TIMELINE ==============================*/
+
+
+.timeline{
+    position:relative;
+    overflow:hidden;
+    z-index:20;
+}
+
+.timeline .inside{
+    overflow:hidden
+}
+
+.timeline.fixed .timeline-controller{
+    position:fixed;
+    width:50%;
+    left:inherit;
+
+}
+
+.timeline.fixed .clocks{
+    position:fixed
+}
+
+.timeline.fixed .timeline-bg{
+    position:fixed
+}
+
+.timeline.done .timeline-controller{
+    top:auto;
+    bottom:154px;
+    /*left:50.5%;*/
+    /*margin-left: -557px;*/
+    width: 50%;
+}
+
+.timeline.done .clocks{
+    top:auto;bottom:365px;
+    left:50%;
+    margin-left: -58px;
+}
+
+.timeline.done .timeline-bg{
+    position:absolute;
+    top:auto;
+    bottom:0;
+    left:0
+}
+
+.timeline .timeline-bg{
+    width:100%;
+    height:100%;
+    position:absolute;
+    top:0;
+    left:0;
+    z-index:-1;
+    opacity:0;
+    -webkit-transition:opacity 0.8s ease-out;
+    -moz-transition:opacity 0.8s ease-out;-o-transition:opacity 0.8s ease-out;
+    transition:opacity 0.8s ease-out;
+    -webkit-transform:translate3d(0, 0, 0);
+    -moz-transform:translate3d(0, 0, 0);
+    -ms-transform:translate3d(0, 0, 0);
+    -o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)
+}
+
+.timeline .timeline-bg.show{
+    opacity:1;
+    -webkit-transition:opacity 0.8s ease-out;
+    -moz-transition:opacity 0.8s ease-out;
+    -o-transition:opacity 0.8s ease-out;
+    transition:opacity 0.8s ease-out
+}
+
+
+/*bleu ciel*/
+.timeline .timeline-bg{
+    background:#009bd3;
+}
+
+/*jaune*/
+.timeline .timeline-bg.timeline-bg6{
+    background:#ffff00;
+}
+
+/*bleu ciel*/
+.timeline .timeline-bg.timeline-bg2{
+    background:#009bd3;
+}
+/*gris fonce*/
+.timeline .timeline-bg.timeline-bg3{
+    background:#777777;
+}
+
+/*gris blanc*/
+.timeline .timeline-bg.timeline-bg1{
+    background:#bbbbbb;
+}
+
+/*rouge*/
+.timeline .timeline-bg.timeline-bg5{
+    background:#ff0000;
+}
+/*vert pomme*/
+.timeline .timeline-bg.timeline-bg4{
+    background:#00dd11;
+}
+/*rose*/
+.timeline .timeline-bg.timeline-bg7 {
+    background:#FF9bd3;
+}
+
+/*bleu fonce*/
+.timeline .timeline-bg.timeline-bg8{
+    background:#0000ff;
+}
+
+
+.timeline .timeline-bg.timeline-bg9{
+    background:#00ffff;
+}
+
+.timeline .timeline-bg.timeline-bg10{
+    background:#ff00ff;
+}
+
+.timeline .timeline-controller{
+    height:532px;
+    width:418px;
+   
+   width:50%;
+    position:absolute;
+    top:132px;
+    /*left:50%;*/
+    /*margin-left:-548px;*/
+    -webkit-transform:translate3d(0, 0, 0);
+    -moz-transform:translate3d(0, 0, 0);
+    -ms-transform:translate3d(0, 0, 0);
+    -o-transform:translate3d(0, 0, 0);
+    transform:translate3d(0, 0, 0)
+}
+
+.timeline .timeline-controller .mode-icon{
+    position:absolute;opacity:0;
+    -webkit-transition:opacity 0.3s ease-out;
+    -moz-transition:opacity 0.3s ease-out;
+    -o-transition:opacity 0.3s ease-out;
+    transition:opacity 0.3s ease-out
+}
+
+.timeline .timeline-controller .mode-icon.show{
+    opacity:1;
+    -webkit-transition:opacity 0.3s ease-out;
+    -moz-transition:opacity 0.3s ease-out;
+    -o-transition:opacity 0.3s ease-out;
+    transition:opacity 0.3s ease-out
+}
+
+.timeline .timeline-controller .mode-icon1{
+    height:600px;
+    width:468px;
+    background-size: auto 530px;
+    background-repeat: no-repeat;
+    background-position: center;
+    top:0px;
+    left:0px;
+    position: absolute;
+    top:0;
+    bottom:0;
+    left:0;
+    right: 0;
+}
+
+
+.timeline .clocks{
+    width:117px;
+    height:117px;
+    background: url(../img/numb-step.png) no-repeat;
+    position:absolute;
+    top:0;
+    left:50%;
+    line-height:113px;
+    margin-left:-58px;
+    color:white;
+    font-family: 'dosis', arial, sans-serif;
+    font-size:70px;
+    text-align:center;
+    font-weight: bold;
+}
+
+.timeline .clocks .time{
+    width:117px;
+    height:20px;
+    font-size:70px;
+    text-align:center;
+    position:absolute;
+    top:0;
+    left:2px
+}
+
+.timeline .modes{
+    float:right;
+    line-height:normal;
+    margin:0;
+    width: 50%;
+    background: url(../img/bg-timeline.png) ;
+}
+
+
+.mode1{
+    margin-top: -300px !important;
+}
+
+.timeline .modes .mode{
+    width:77%;
+    font-size:30px;
+    color:white;
+    padding-top:164px;
+    margin:30px auto;
+    text-align: center;
+    font-weight: bold;
+}
+
+.timeline .timeline-controller .mode-icon{
+            height:600px;
+            width:468px;
+            background-size: auto 530px;
+            background-repeat: no-repeat;
+            background-position: center;
+            top:0px;
+            left:0px;  
+            margin-left: 25%;
+            margin: auto;
+            position: absolute;
+            top:0;
+            bottom:0;
+            left:0;
+            right: 0;
+}
+
+.timeline .modes[title="article"]{
+    font-size: inherit;
+}
+
+
+.timeline .modes[title="challenge"]{
+    font-size: inherit;
+}
+
+.timeline .modes .mode:last-child{
+    padding-bottom:164px
+}
+
+.sstitreArticle{
+    font-size: 23px;
+    font-style: italic;
+}
+.titreArticle{
+    font-size: 45px;
+    line-height: 36px;
+}
+
+.minutes {
+    display: none;
+}
+
+.timeline #concept .logo{
+    border-radius: 42px;
+    position: absolute;
+    width: 350px;
+    right: 6%;
+
+}
+.fixed #concept .logo{top: 53%;}
+.done #concept .logo{top: 53%;}
+
+
+/*================================= Valeurs ==============================*/
+ 
+ 
+
+.circle h2 {
+    padding-top: 30px;
+}
+
+.circle {
+    height: 155px;
+    float: left;
+}
+
+.icon {
+    cursor: pointer;
+    height: 85%;
+    width: 90%;
+    margin: 0 auto;
+    padding-top: 20px;
+}
+.icon .circle2{width: 65%;}
+.circle2{padding: 0 0%;}
+.circle1{padding-left:3%;}
+.circle1,.circle3{width:29%;}
+.circle2{width:42%}
+
+.inside .icon-move-1, .icon-move-3{
+    -webkit-transition-duration: 0.8s;
+    -moz-transition-duration: 0.8s;
+    -o-transition-duration: 0.8s;
+    transition-duration: 0.8s;
+
+    -webkit-transition-property: -webkit-transform;
+    -moz-transition-property: -moz-transform;
+    -o-transition-property: -o-transform;
+    transition-property: transform;
+}
+
+.inside .icon-move-3:hover {
+    -webkit-transform:rotate(360deg);
+    -moz-transform:rotate(360deg);
+    -o-transform:rotate(360deg);
+}
+
+
+.inside .icon-move-2 {
+    width: 78px;
+    height: 85px;
+    margin: 0 auto;
+    background: url(../img/icon-light.png) no-repeat center center;
+    transition: .3s;
+    -o-transition: .3s;
+    -moz-transition: .3s;
+    -webkit-transition: .3s;
+}
+
+.inside .icon-move-2:hover {
+    background: url(../img/icon-light2.gif) no-repeat center center;
+}
+
+
+
+/*================================= Caracteristique ==============================*/
+
+.inside-spec {
+
+}
+
+.inside-spec .circle-icon {
+   background: url(../img/bubbles.png) no-repeat;
+
+    height: 192px;
+    background-size: 100%;
+    max-width: 480px;
+}
+
+.inside-spec .circle4 {
+    margin-left: 54px;
+}
+
+.inside-spec h2 {
+    padding-top: 40px;
+}
+
+.caract {
+    background: #fff;
+    /*padding: 40px 0;*/
+    height: 620px;
+}
+
+/* ====================== GALLERY ==================*/
+
+
+
+
+/* Loading
+***********************/
+.loading #container {
+    opacity: 0;
+}
+
+.loading:before  {
+    content: 'LOADING';
+    display: block;
+    margin: 100px 0 0;
+    text-align: center;
+    color: #fff;
+    font-weight: bold;
+    font-size: 60px;
+    opacity: 0.3;
+}
+
+
+/* Browser Resets
+*********************************/
+.flex-container a:active,
+.flexslider a:active,
+.flex-container a:focus,
+.flexslider a:focus  {
+    outline: none;
+}
+.slides,
+.flex-direction-nav {
+    margin: 0;
+    padding: 0;
+    list-style: none;
+}
+
+/* FlexSlider Necessary Styles
+*********************************/
+.flexslider {
+    margin: 0;
+    padding: 0;
+}
+
+.flexslider .slides > li a img{visibility:visible !important; opacity:1 !important;filter:alpha(opacity=100) !important;}
+
+.flexslider .slides > li {
+    display: none;
+    -webkit-backface-visibility: hidden;
+} /* Hide the slides before the JS is loaded. Avoids image jumping */
+
+
+.flexslider .slides img {
+    width: 100%;
+    display: block;
+}
+
+/* Clearfix for the .slides element */
+.slides:after {
+    content: "\0020";
+    display: block;
+    clear: both;
+    visibility: hidden;
+    line-height: 0;
+    height: 0;
+}
+
+html[xmlns] .slides {
+    display: block;
+}
+
+* html .slides {
+    height: 1%;
+}
+
+/* No JavaScript Fallback */
+/* If you are not using another script, such as Modernizr, make sure you
+ * include js that eliminates this class on page load */
+.no-js .slides > li:first-child {
+    display: block;
+}
+
+/* FlexSlider Default Theme
+*********************************/
+.flexslider {
+    margin: 0;
+    background: #fff;
+    position: relative;
+   
+}
+
+.flex-viewport {
+    max-height: 2000px;
+    -webkit-transition: all 1s ease;
+    -moz-transition: all 1s ease;
+    -o-transition: all 1s ease;
+    transition: all 1s ease;
+}
+
+.loading .flex-viewport {
+    max-height: 300px;
+}
+
+
+
+.carousel li {
+    margin-right: 5px;
+    text-align: center;
+    width: 50px;
+     float: left; 
+     display: block;
+}
+
+#lesArticles{
+padding-top: 70px;
+}
+
+.ourArticles{
+    
+    opacity: 0.5;
+ text-align: center;
+    font-size: 40px;
+}
+/* Direction Nav */
+.flexslider .flex-direction-nav {height: 0;}
+.flexslider .flex-direction-nav a  {
+    text-decoration:none;
+    display: block;
+    margin: 0px 0 0;
+    position: absolute;
+    top: 0;
+    z-index: 10;
+    overflow: hidden;
+    opacity: 0;
+    cursor: pointer;
+    -webkit-transition: all .3s ease;
+    -moz-transition: all .3s ease;
+    transition: all .3s ease;
+    width: 150px;
+    height: 100%;
+    text-indent: -9999px;
+}
+
+.flex-direction-nav .flex-prev {
+    background: url(../img/left-arrow.png) no-repeat center center;
+    left: 0px;
+}
+
+.flex-direction-nav .flex-next {
+    right: 0px;
+    background: url(../img/right-arrow.png) no-repeat center center;
+}
+
+.flexslider:hover .flex-prev {
+    opacity: 0.7;
+    left: 0px;
+}
+
+.flexslider:hover .flex-next {
+    opacity: 0.7;
+    right: 0px;
+}
+
+.flexslider:hover .flex-next:hover,
+.flexslider:hover .flex-prev:hover {
+    opacity: 1;
+}
+
+.flex-direction-nav .flex-disabled {
+    opacity: 0!important;
+    filter:alpha(opacity=0);
+    cursor: default;
+}
+
+.flex-control-nav {
+    display: none;
+}
+
+.carousel {
+    background: #FFF;
+    padding-top: 15px;
+}
+
+.flex-slider {
+    margin: 0 10%;
+    position: relative;
+}
+
+.flex-slider .flex-direction-nav {
+    left: 0;
+    margin-top: -19px;
+    position: absolute;
+    top: 50%;
+    width: 100%;
+}
+
+.flex-slider .flex-direction-nav li {
+    margin: 0;
+    padding: 0;
+}
+
+.flex-slider .flex-direction-nav a {
+    display: block;
+    height: 60px;
+    position: absolute;
+    text-indent: -9999px;
+    top: -19px;
+    width: 38px;
+}
+
+.flex-slider .flex-direction-nav .flex-prev {
+    left: -50px;
+}
+
+.flex-slider .flex-direction-nav .flex-next {
+    right: -50px;
+}
+
+.flex-slider {
+    display: none;
+}
+
+.flex-slider img {
+    height: 160px;
+    filter: url(filters.svg#grayscale); /* Firefox 3.5+ */
+    filter: gray; /* IE6-9 */
+    -webkit-filter: grayscale(1); /* Google Chrome, Safari 6+ & Opera 15+ */
+}
+
+.flex-slider .nonfilter img { filter: none; }
+
+.flex-slider a:hover img {
+    filter: none;
+    -webkit-filter: grayscale(0);
+}
+
+.carousel {
+    padding-bottom: 20px;
+}
+
+
+/*============================== LIGHTBOX ==================================*/
+/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
+.fancybox-wrap,
+.fancybox-skin,
+.fancybox-outer,
+.fancybox-inner,
+.fancybox-image,
+.fancybox-wrap iframe,
+.fancybox-wrap object,
+.fancybox-nav,
+.fancybox-nav span,
+.fancybox-tmp
+{
+    padding: 0;
+    margin: 0;
+    border: 0;
+    outline: none;
+    vertical-align: top;
+}
+
+.fancybox-wrap {
+    position: absolute;
+    top: 0;
+    left: 0;
+    z-index: 8020;
+}
+
+.fancybox-opened {
+    z-index: 8030;
+}
+
+#fancybox-loading{
+    background-image: url('../img/fancybox_sprite.html');
+}
+
+
+
+#fancybox-loading {
+    position: fixed;
+    top: 50%;
+    left: 50%;
+    margin-top: -22px;
+    margin-left: -22px;
+    background-position: 0 -108px;
+    opacity: 0.8;
+    cursor: pointer;
+    z-index: 8060;
+}
+
+#fancybox-loading div {
+    width: 44px;
+    height: 44px;
+    background: url('../img/fancybox_loading.gif') center center no-repeat;
+}
+
+.fancybox-close {
+    position: absolute;
+    top: 55px;
+    right: 5px;
+    width: 26px;
+    height: 29px;
+    cursor: pointer;
+    z-index: 8040;
+    background: url('../img/close.png');
+}
+
+.fancybox-close:hover {
+    background: url('../img/close2.png');
+}
+
+/* Overlay helper */
+
+.fancybox-overlay {
+    position: absolute;
+    top: 0;
+    left: 0;
+    overflow: hidden;
+    display: none;
+    z-index: 8010;
+    background: url('../img/fancybox_overlay.png');
+}
+
+.fancybox-overlay-fixed {
+    position: fixed;
+    bottom: 0;
+    right: 0;
+}
+
+.fancybox-lock .fancybox-overlay {
+    overflow: auto;
+    overflow-y: scroll;
+}
+
+#particulier, #professionnel{
+    line-height: 30px;
+}
+
+
+#particulier li, #professionnel li{
+    text-align: center;
+    font-weight: bold;
+    font-size: 19px;
+    margin-bottom: 10px;
+    font-family: arial, sans-serif;
+    line-height: 35px;
+}
+
+#particulier #addresses, #professionnel #addresses2{
+    width: 60%;
+    margin: auto;
+}
+
+.answer #answer-button,.answer #answer-button2{
+    -webkit-box-shadow: 0 4px 0 0 rgba(40,40,40,1);
+    box-shadow: 0 4px 0 0 rgba(40,40,40,1);
+    -webkit-border-radius: 5px 5px 5px 5px;
+    border-radius: 5px 5px 5px 5px;
+    width: 50%;
+    background-color: #3f3f3f;
+    height: 38px;
+    margin: auto;
+    color: white;
+    /*font-weight: bold;*/
+    padding: 6px;
+    text-align: center;
+    font-family: 'dosis', arila, sans-serif;
+    letter-spacing: 1px;
+}
+
+.answer #answer-button:hover, #answer-button2:hover{
+    -webkit-box-shadow: 0 0px 0 0 rgba(40,40,40,1);
+    box-shadow: 0 0px 0 0 rgba(40,40,40,1);
+    margin-top:4px;
+}
+
+/*Retina graphics!*/
+@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
+       only screen and (min--moz-device-pixel-ratio: 1.5),
+       only screen and (min-device-pixel-ratio: 1.5){
+
+    #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
+        background-image: url('../img/fancybox_sprite%402x.html');
+        background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/
+    }
+
+    #fancybox-loading div {
+        background-image: url('../img/fancybox_loading%402x.gif');
+        background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
+    }
+}
+
+
+
+/*=========================== CONTENT TAB ===============================*/
+
+#lightbox .list-wrap {
+    background: #e9e9e9;
+    color: #444;
+    width: 767px;
+    min-height: 340px;
+}
+
+#lightbox .bg-lightbox {
+    background: url(../img/bg-lightbox.png) no-repeat;
+    height: 26px;
+}
+
+#lightbox ul ,#lightbox-faq ul, #lightbox-why ul{
+    list-style: none;
+    margin: 0;
+    padding: 0;
+}
+
+#lightbox ul li a,#lightbox-faq ul li div, #lightbox-why li div{
+    display: block;
+}
+
+#lightbox .nav,#lightbox-faq .nav, #lightbox-why .nav {
+    overflow: hidden;
+}
+
+#lightbox .nav li,#lightbox-faq .nav li, #lightbox-why .nav li div{
+    width: 277px;
+    height: 54px;
+    float: left;
+    margin: 0 1px 0 0;
+}
+
+#lightbox .nav li a, #lightbox-faq .nav li div, #lightbox-why .nav li div{
+    display: block;
+    font-size: 25px;
+    color: #fff;
+    font-weight: bold;
+    font-family: 'dosis', arila, sans-serif;
+    text-align: center;
+    border: 0;
+    padding: 8px 0 15px;
+    transition: .3s;
+    -o-transition: .3s;
+    -moz-transition: .3s;
+    -webkit-transition: .3s;
+}
+
+#lightbox li a.current,
+#lightbox li a.current:hover,
+#lightbox-faq li div.current, #lightbox-why li div.current{
+    color: #3794ce;
+    background: url(../img/tab1-thumb.png) no-repeat;
+}
+
+#lightbox .nav li a:hover,
+#lightbox .nav li a:focus {
+    background: url(../img/tab1-thumb.png) no-repeat;
+    color: #3794ce;
+}
+
+
+.nav-one, .nav-two {
+    background: url(../img/tab2-thumb.png) no-repeat;
+    width: 277px;
+    height: 54px;
+}
+
+
+#lightbox h2 {
+
+    text-align: center;
+    padding: 20px 0;
+}
+
+.fancybox-inner h2{
+    font-family: 'dosis', arial, sans-serif;
+    color: #3794ce;
+    font-size: 20px;
+    font-weight: bold;
+}
+
+
+/*======= Professionnel ======*/
+
+
+#lightbox h3 {
+    font-family: 'dosis', arial, sans-serif;
+    color: #fff;
+    font-size: 20px;
+    font-weight: bold;
+    text-align: center;
+    padding: 20px 0;
+    background: #3794ce;
+}
+
+#lightbox .tableau h2{
+    color: #404040;
+}
+
+#lightbox span {
+    color: #3794ce;
+
+}
+
+#lightbox .bloc {
+    border-right: solid 1px #d7d7d7;
+    border-bottom: solid 1px #d7d7d7;
+    float: left;
+    width: 25%;
+    padding-bottom: 20px;
+    text-align: center;
+    font-family: 'dosis', arial, sans-serif;
+    color: #404040;
+    font-size: 16px;
+    font-weight: bold;
+}
+
+#lightbox .bloc p {
+    width: 150px;
+    margin: 0 auto;
+}
+
+
+
+/*======================================= Media Queries ==================================*/
+
+
+@media screen and (max-width: 1350px){
+    .intro .inside {
+    }
+
+    .intro .right p{
+        margin: 0 1% 0 13%;
+        font-size: 25px;
+    }
+
+    .enGros {
+        font-size: 83px;
+        line-height: 49px;
+    }
+    #confort {
+        font-size: 40px;
+    }
+
+}
+
+header ul ul li a, header ul ul li a:visited {
+    font-size: 13px;
+}
+
+.scroller_anchor{height:0px; margin:0; padding:0;}
+
+
+.fixedTop{
+    position:fixed;
+    top:0;
+    z-index:199;
+}
+
+/*======================================= Mobil Devices ==================================*/
+.contact {
+    padding-right: 10%;
+}
+.mobile-media { display: none;}
+@media screen and (min-width: 980px){
+    body{min-width: 980px;}
+}
+
+.mobile-content{display:none;}
+.phone{display:none;}
+.desktop{display: block;}
+
+@media screen and (max-width: 1024px){
+    .mobile-media { display: block;}
+    .fancybox-media {display: none;}
+    
+
+
+header ul ul li a, header ul ul li a:visited {
+    font-size: 12px;
+}
+}
+
+@media screen and (max-width: 980px){
+.notification-shape {
+	display:none;
+}
+
+ #nav4, #nav1{
+	display:none;
+}
+
+.ourArticles{  font-size: 30px;} /* par Pierre*/
+.carousel{ padding-top: 5px;}
+   #beno{display: none;}
+    #piro{display: none;}
+    .fixed-top #left-border {width: 100%;}
+    /*vieux carroussel
+    .timeline{display:none;}
+    .mobile-content{
+        display:block;
+    	
+    }/*jusque ici                      ddddddddddddddddddddddddddddddddddddddddddddddddd    */
+    .timeline .timeline-controller{
+        display: none;
+    }  
+    .clocks{
+        display: none !important;
+    }
+    .modes{
+        width: 100% !important;
+    }
+    
+    .mode{
+        width: 70% !important;
+    }
+    .mode1{
+        padding-top: 401px !important;
+    }
+    .mobile-content .flexslider{
+        background: #389bd3;
+        height: 430px;
+        padding-top: 80px;
+        }
+    .mobile-content .clock{
+        background: url(../img/numb-step.png) no-repeat;
+        height: 117px;
+        width: 117px;
+        margin: auto;
+        text-align: center;
+        padding: 10px;
+        font-size: 70px;
+        color: white;
+        font-family: 'dosis', arial, sans-serif;
+        font-weight: bold;
+    }
+    .mobile-content p{
+        font-size: 30px;
+        color: white;
+        text-align: center;
+        font-family: 'dosis', arial, sans-serif;
+        font-weight: bold;
+        width: 450px;
+        margin: auto;
+    }
+    .font20{         display: none;     }
+    #footer_drop #footer_content {
+        height: auto;
+        float: none;
+        
+        margin: 0 auto;
+        margin-bottom: 20px;
+    }
+    #footer_content {
+        text-align: center;
+    }
+    .produit {
+        width: 650px;
+    }
+    .produit .descript {
+        width: 100px;
+    }
+    .inside-spec h2 {
+        line-height: 1;
+        padding-top: 0;
+    }
+   
+    .follow p {
+        display: none;
+    }
+    .contact {
+        padding-right: 0;
+    }
+    header ul ul li a, header ul ul li a:visited {
+    font-size: 10px;
+}
+}
+
+@media screen and (max-width: 650px){
+    .intro .play {
+	display:none;
+} /* virer la video*/
+ 
+header ul ul li a, header ul ul li a:visited {
+    font-size: 10px;
+}
+    .mode{
+        width: 70% !important;
+    }
+    .designlicks{display: none;}
+    .designlicks2{display: none;}
+    .designlicks3{display: none;}
+    .jack{display: none;}
+    .pierre{display: none;}
+    .phone{display:block;}
+    .desktop{display: none;}
+    header .menu{
+        padding-left:0px;
+    }
+    .intro{
+        height: 650px;
+    }
+    .intro .right {
+        top: 70%;
+    }
+    #confort {
+        font-size: 26px;
+    }
+    .enGros {
+        font-size: 54px;
+        line-height: 40px;
+    }
+    .intro .right p {
+        font-size: 16px;
+    }
+    .produit {
+        width: 500px;
+        background-size:100%;
+    }
+    .produit .descript-1{
+        top: 85px;
+        left: 120px;
+    }
+    .produit .descript {
+        width: 200px;
+    }
+    .produit .descript p {
+        background: #3786c8;
+        border-radius: 9px;
+        padding-left: 5px;
+        color: white;
+    }
+    .produit .point,.produit .line{float:left}
+    .produit span {
+        color: white;
+    }
+    .produit .descript-2{left:90px;}
+    .produit .descript-3{right: 115px;}
+    .produit .descript-3 p {
+        text-align: inherit;
+        float: none;
+    }
+    .produit .descript-3 .point, .produit .descript-3 .line {
+        float: right;}
+    #footer_drop .contact a.phone{
+        background: none;
+    }
+}
+
+@media screen and (max-width: 480px){
+
+    .intro .right {
+        width: 100%;
+        margin-top: 0;
+    }
+    .intro .right p {
+        margin: 0 auto;
+    }
+    #lightbox .nav li, #lightbox-faq .nav li, #lightbox-why.nav li  {
+        float: none;
+        margin: 0 auto;
+    }
+    #lightbox .list-wrap {
+        width: auto;
+    }
+    .answer #answer-button, .answer #answer-button2 {
+        width: 90%;
+        padding-bottom: 30px;
+        height: auto;
+    }
+
+    /*.scroller {
+        display: none;
+    }*/
+    .produit {
+        width: 100%;
+    }
+    .mobile-content p {
+        width: auto;
+    }
+    .inside-spec h2 {
+        line-height: 1;
+        padding-top: 0;
+    }
+    .caract {
+        height: auto;
+    }
+    #footer_drop .contact, .condition, .follow {
+        font-size: 19px;
+        width: auto;
+        margin: 0 auto;
+        float: none;
+    }
+    .condition {
+        width: 200px;
+    }
+    #footer_drop .contact {
+        width: 185px;
+        float: none;
+    }
+    #footer_drop #footer_content {
+        width: auto;
+    }
+    #footer_content {
+        padding-bottom: 30px;
+    }
+    .contact .tel {
+        margin: 10px auto;
+    }
+    .follow a, .follow p, .follow iframe {
+        float: none;
+        display: inline-block;
+        vertical-align: top;
+    }
+
+    .flex-slider {
+    margin: 0;
+    position: relative;
+    }
+
+    .flex-slider .flex-direction-nav .flex-prev {
+        left: 0px;
+    }
+
+    .flex-slider .flex-direction-nav .flex-next {
+        right: 0px;
+    }
+
+    .produit .descript-1{
+        top: 130px;
+        left: 65px;
+    }
+
+    .produit .descript-2 {
+        left: 50px;
+        top: 240px;
+    }
+
+    .produit .descript-3 {
+        right: 55px;
+    }
+}
+/*------------FAQ-------------*/
+
+#display-faq, #display-why{
+    width: 980px;
+    height: 600px;
+    background: #e9e9e9;
+    padding: 20px 0 20px 10px;
+    border-bottom-left-radius: 10px;
+    border-bottom-right-radius: 10px;
+    font-family: arial, sans-serif;
+    font-size: 20px;
+}
+
+.faq-lightbox .fancybox-close{top:3px;}
+.why-lightbox .fancybox-close{top:3px;}
+
+#display-faq .content,#display-why .content{
+    width: 965px;
+    height: 560px;
+    overflow: auto;
+}
+
+#display-faq .content li,#display-why .content li{
+    list-style-type: disc;
+    margin-left: 60px;
+}#display-faq .content p{
+    margin-left: 20px;
+}
+#display-faq h2,#display-why h2{
+    padding: 20px;
+    font-size: 28px;
+}
diff --git a/css/normalize.css b/css/normalize.css
new file mode 100644
index 0000000..39ee502
--- /dev/null
+++ b/css/normalize.css
@@ -0,0 +1,583 @@
+/*
+ * HTML5 Boilerplate
+ *
+ * What follows is the result of much research on cross-browser styling.
+ * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
+ * Kroc Camen, and the H5BP dev community and team.
+ */
+
+/* ==========================================================================
+   Base styles: opinionated defaults
+   ========================================================================== */
+
+html,
+button,
+input,
+select,
+textarea {
+    color: #222;
+}
+
+body {
+    font-size: 1em;
+    line-height: 1.4;
+}
+
+/*
+ * Remove text-shadow in selection highlight: h5bp.com/i
+ * These selection rule sets have to be separate.
+ * Customize the background color to match your design.
+ */
+
+::-moz-selection {
+    background: #b3d4fc;
+    text-shadow: none;
+}
+
+::selection {
+    background: #b3d4fc;
+    text-shadow: none;
+}
+
+/*
+ * A better looking default horizontal rule
+ */
+
+hr {
+    display: block;
+    height: 1px;
+    border: 0;
+    border-top: 1px solid #ccc;
+    margin: 1em 0;
+    padding: 0;
+}
+
+/*
+ * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
+ */
+
+img {
+    vertical-align: middle;
+}
+
+/*
+ * Remove default fieldset styles.
+ */
+
+fieldset {
+    border: 0;
+    margin: 0;
+    padding: 0;
+}
+
+/*
+ * Allow only vertical resizing of textareas.
+ */
+
+textarea {
+    resize: vertical;
+}
+
+/* ==========================================================================
+   Chrome Frame prompt
+   ========================================================================== */
+
+.chromeframe {
+    margin: 0.2em 0;
+    background: #ccc;
+    color: #000;
+    padding: 0.2em 0;
+}
+
+/*! normalize.css v1.1.1 | MIT License | git.io/normalize */
+
+/* ==========================================================================
+   HTML5 display definitions
+   ========================================================================== */
+
+/**
+ * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+    display: block;
+}
+
+/**
+ * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
+ */
+
+audio,
+canvas,
+video {
+    display: inline-block;
+    *display: inline;
+    *zoom: 1;
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+    display: none;
+    height: 0;
+}
+
+/**
+ * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * Known issue: no IE 6 support.
+ */
+
+[hidden] {
+    display: none;
+}
+
+/* ==========================================================================
+   Base
+   ========================================================================== */
+
+/**
+ * 1. Prevent system color scheme's background color being used in Firefox, IE,
+ *    and Opera.
+ * 2. Prevent system color scheme's text color being used in Firefox, IE, and
+ *    Opera.
+ * 3. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ *    `em` units.
+ * 4. Prevent iOS text size adjust after orientation change, without disabling
+ *    user zoom.
+ */
+
+html {
+    background: #fff; /* 1 */
+    color: #000; /* 2 */
+    font-size: 100%; /* 3 */
+    -webkit-text-size-adjust: 100%; /* 4 */
+    -ms-text-size-adjust: 100%; /* 4 */
+}
+
+/**
+ * Address `font-family` inconsistency between `textarea` and other form
+ * elements.
+ */
+
+html,
+button,
+input,
+select,
+textarea {
+    font-family: 'dosis', arial, sans-serif;
+}
+
+/**
+ * Address margins handled incorrectly in IE 6/7.
+ */
+
+body {
+    margin: 0;
+}
+
+/* ==========================================================================
+   Links
+   ========================================================================== */
+
+/**
+ * Address `outline` inconsistency between Chrome and other browsers.
+ */
+
+a:focus {
+    outline: thin dotted;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+    outline: 0;
+}
+
+/**
+ * Address styling not present in IE 7/8/9, Safari 5, and Chrome.
+ */
+
+abbr[title] {
+    border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
+ */
+
+b,
+strong {
+    font-weight: bold;
+}
+
+blockquote {
+    margin: 1em 40px;
+}
+
+/**
+ * Address styling not present in Safari 5 and Chrome.
+ */
+
+dfn {
+    font-style: italic;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ * Known issue: no IE 6/7 normalization.
+ */
+
+hr {
+    -moz-box-sizing: content-box;
+    box-sizing: content-box;
+    height: 0;
+}
+
+/**
+ * Address styling not present in IE 6/7/8/9.
+ */
+
+mark {
+    background: #ff0;
+    color: #000;
+}
+
+/**
+ * Address margins set differently in IE 6/7.
+ */
+
+p,
+pre {
+    margin: 1em 0;
+}
+
+/**
+ * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
+ */
+
+code,
+kbd,
+pre,
+samp {
+    font-family: 'dosis', arial, sans-serif;
+    font-size: 1em;
+}
+
+/**
+ * Improve readability of pre-formatted text in all browsers.
+ */
+
+pre {
+    white-space: pre;
+    white-space: pre-wrap;
+    word-wrap: break-word;
+}
+
+/**
+ * Address CSS quotes not supported in IE 6/7.
+ */
+
+q {
+    quotes: none;
+}
+
+/**
+ * Address `quotes` property not supported in Safari 4.
+ */
+
+q:before,
+q:after {
+    content: '';
+    content: none;
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+small {
+    font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+    font-size: 75%;
+    line-height: 0;
+    position: relative;
+    vertical-align: baseline;
+}
+
+sup {
+    top: -0.5em;
+}
+
+sub {
+    bottom: -0.25em;
+}
+
+/* ==========================================================================
+   Lists
+   ========================================================================== */
+
+/**
+ * Address margins set differently in IE 6/7.
+ */
+
+dl,
+menu,
+ol,
+ul {
+    margin: 1em 0;
+}
+
+dd {
+    margin: 0 0 0 40px;
+}
+
+/**
+ * Address paddings set differently in IE 6/7.
+ */
+
+menu,
+ol,
+ul {
+    padding: 0 0 0 40px;
+}
+
+/**
+ * Correct list images handled incorrectly in IE 7.
+ */
+
+nav ul,
+nav ol {
+    list-style: none;
+    list-style-image: none;
+}
+
+/* ==========================================================================
+   Embedded content
+   ========================================================================== */
+
+/**
+ * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * 2. Improve image quality when scaled in IE 7.
+ */
+
+img {
+    border: 0; /* 1 */
+    -ms-interpolation-mode: bicubic; /* 2 */
+}
+
+/**
+ * Correct overflow displayed oddly in IE 9.
+ */
+
+svg:not(:root) {
+    overflow: hidden;
+}
+
+/* ==========================================================================
+   Figures
+   ========================================================================== */
+
+/**
+ * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
+ */
+
+figure {
+    margin: 0;
+}
+
+/* ==========================================================================
+   Forms
+   ========================================================================== */
+
+/**
+ * Correct margin displayed oddly in IE 6/7.
+ */
+
+form {
+    margin: 0;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+    border: 1px solid #c0c0c0;
+    margin: 0 2px;
+    padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct color not being inherited in IE 6/7/8/9.
+ * 2. Correct text not wrapping in Firefox 3.
+ * 3. Correct alignment displayed oddly in IE 6/7.
+ */
+
+legend {
+    border: 0; /* 1 */
+    padding: 0;
+    white-space: normal; /* 2 */
+    *margin-left: -7px; /* 3 */
+}
+
+/**
+ * 1. Correct font size not being inherited in all browsers.
+ * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ *    and Chrome.
+ * 3. Improve appearance and consistency in all browsers.
+ */
+
+button,
+input,
+select,
+textarea {
+    font-size: 100%; /* 1 */
+    margin: 0; /* 2 */
+    vertical-align: baseline; /* 3 */
+    *vertical-align: middle; /* 3 */
+}
+
+/**
+ * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+button,
+input {
+    line-height: normal;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * Correct `select` style inheritance in Firefox 4+ and Opera.
+ */
+
+button,
+select {
+    text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ *    and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ *    `input` and others.
+ * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ *    Known issue: inner spacing remains in IE 6.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+    -webkit-appearance: button; /* 2 */
+    cursor: pointer; /* 3 */
+    *overflow: visible;  /* 4 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+    cursor: default;
+}
+
+/**
+ * 1. Address box sizing set to content-box in IE 8/9.
+ * 2. Remove excess padding in IE 8/9.
+ * 3. Remove excess padding in IE 7.
+ *    Known issue: excess padding remains in IE 6.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+    box-sizing: border-box; /* 1 */
+    padding: 0; /* 2 */
+    *height: 13px; /* 3 */
+    *width: 13px; /* 3 */
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ *    (include `-moz` to future-proof).
+ */
+
+input[type="search"] {
+    -webkit-appearance: textfield; /* 1 */
+    -moz-box-sizing: content-box;
+    -webkit-box-sizing: content-box; /* 2 */
+    box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * on OS X.
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+    -webkit-appearance: none;
+}
+
+/**
+ * Remove inner padding and border in Firefox 3+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+    border: 0;
+    padding: 0;
+}
+
+/**
+ * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * 2. Improve readability and alignment in all browsers.
+ */
+
+textarea {
+    overflow: auto; /* 1 */
+    vertical-align: top; /* 2 */
+}
+
+/* ==========================================================================
+   Tables
+   ========================================================================== */
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+    border-collapse: collapse;
+    border-spacing: 0;
+}
diff --git a/css/ns-default_notif.css b/css/ns-default_notif.css
new file mode 100644
index 0000000..402be14
--- /dev/null
+++ b/css/ns-default_notif.css
@@ -0,0 +1,81 @@
+/* Common, default styles for the notification box */
+
+.ns-box {
+	position: fixed;
+	background: rgba(42,45,50,0.85);
+	padding: 22px;
+	line-height: 1.4;
+	z-index: 1000;
+	pointer-events: none;
+	color: rgba(250,251,255,0.95);
+	font-size: 78%;
+	font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, Arial, sans-serif;
+}
+
+.ns-box.ns-show {
+	pointer-events: auto;
+}
+
+.ns-box a {
+	color: inherit;
+	opacity: 0.7;
+	font-weight: 700;
+}
+
+.ns-box a:hover,
+.ns-box a:focus {
+	opacity: 1;
+}
+
+.ns-box p {
+	margin: 0;
+}
+
+.ns-box.ns-show,
+.ns-box.ns-visible {
+	pointer-events: auto;
+}
+
+.ns-close {
+	width: 20px;
+	height: 20px;
+	position: absolute;
+	right: 4px;
+	top: 4px;
+	overflow: hidden;
+	text-indent: 100%;
+	cursor: pointer;
+	-webkit-backface-visibility: hidden;
+	backface-visibility: hidden;
+}
+
+.ns-close:hover, 
+.ns-close:focus {
+	outline: none;
+}
+
+.ns-close::before,
+.ns-close::after {
+	content: '';
+	position: absolute;
+	width: 3px;
+	height: 60%;
+	top: 50%;
+	left: 50%;
+	background: #6e6e6e;
+}
+
+.ns-close:hover::before,
+.ns-close:hover::after {
+	background: #fff;
+}
+
+.ns-close::before {
+	-webkit-transform: translate(-50%,-50%) rotate(45deg);
+	transform: translate(-50%,-50%) rotate(45deg);
+}
+
+.ns-close::after {
+	-webkit-transform: translate(-50%,-50%) rotate(-45deg);
+	transform: translate(-50%,-50%) rotate(-45deg);
+}
\ No newline at end of file
diff --git a/css/ns-style-other_notif.css b/css/ns-style-other_notif.css
new file mode 100644
index 0000000..ba83e7c
--- /dev/null
+++ b/css/ns-style-other_notif.css
@@ -0,0 +1,105 @@
+.notification-shape {
+	position: fixed;
+	z-index: 1000;
+}
+
+.notification-shape svg {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 100%;
+}
+
+[class^="ns-effect-"].ns-other.ns-hide,
+[class*=" ns-effect-"].ns-other.ns-hide {
+	-webkit-animation-direction: reverse;
+	animation-direction: reverse;
+}
+
+/* Individual Effects */
+
+/* Expand SVG corner */
+.ns-effect-cornerexpand {
+	width: 170px;
+	min-height: 170px;
+	background: #5a7d98;
+	text-align: center;
+	position: relative;
+	z-index: 100;
+}
+
+.shape-box {
+	top: 0;
+	right: 0;
+	width: 170px;
+	min-height: 170px;
+}
+
+.shape-box path {
+	fill: #3b5163;
+}
+
+.ns-effect-cornerexpand .icon {
+	color: #5a7d98;
+	background: #fff;
+	display: block;
+	width: 4em;
+	height: 4em;
+	line-height: 5.3;
+	margin: 0.5em auto 1.25em;
+	border-radius: 50%;
+	padding-top: initial;
+}
+
+.ns-effect-cornerexpand .ns-close {
+	top: 12px;
+	right: 12px;
+}
+
+.ns-effect-cornerexpand .ns-close::before,
+.ns-effect-cornerexpand .ns-close::after {
+    background: #3b5163;
+}
+
+.ns-effect-cornerexpand .ns-close:hover::before,
+.ns-effect-cornerexpand .ns-close:hover::after {
+    background: #fff;
+}
+
+.ns-effect-cornerexpand a {
+	color: #3b5163;
+	opacity: 1;
+}
+
+.ns-effect-cornerexpand a:hover,
+.ns-effect-cornerexpand a:focus {
+	color: #fff;
+}
+
+.ns-effect-cornerexpand.ns-show,
+.ns-effect-cornerexpand.ns-hide {
+	-webkit-animation-name: animScale;
+	animation-name: animScale;
+	-webkit-animation-duration: 0.3s;
+	animation-duration: 0.3s;
+}
+
+.ns-effect-cornerexpand.ns-show {
+	opacity: 0;
+	-webkit-animation-fill-mode: both;
+	animation-fill-mode: both;
+	-webkit-animation-delay: 0.2s;
+	animation-delay: 0.2s;
+}
+
+@-webkit-keyframes animScale {
+	0% { opacity: 0; -webkit-transform: scale3d(0.4,0.4,1); }
+	100% { opacity: 1; -webkit-transform: scale3d(1,1,1); }
+}
+
+@keyframes animScale {
+	0% { opacity: 0; -webkit-transform: scale3d(0.4,0.4,1); transform: scale3d(0.4,0.4,1); }
+	100% { opacity: 1; -webkit-transform: scale3d(1,1,1); transform: scale3d(1,1,1); }
+}
+
diff --git a/css/style.css b/css/style.css
new file mode 100644
index 0000000..2db3be1
--- /dev/null
+++ b/css/style.css
@@ -0,0 +1,610 @@
+/*
+
+
+This theme, like WordPress, is licensed under the GPL.
+Use it to make something cool, have fun, and share what you've learned with others.
+
+ mainslib is based on Underscores http://underscores.me/, (C) 2012-2013 Automattic, Inc.
+
+Resetting and rebuilding styles have been helped along thanks to the fine work of
+Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
+along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
+and Blueprint http://www.blueprintcss.org/
+*/
+
+
+/* =Reset
+-------------------------------------------------------------- */
+
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, font, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td {
+	border: 0;
+	font-family: inherit;
+	font-size: 100%;
+	font-style: inherit;
+	font-weight: inherit;
+	margin: 0;
+	outline: 0;
+	padding: 0;
+	vertical-align: baseline;
+}
+html {
+	font-size: 62.5%; /* Corrects text resizing oddly in IE6/7 when body font-size is set using em units http://clagnut.com/blog/348/#c790 */
+	overflow-y: scroll; /* Keeps page centered in all browsers regardless of content height */
+	-webkit-text-size-adjust: 100%; /* Prevents iOS text size adjust after orientation change, without disabling user zoom */
+	-ms-text-size-adjust:     100%; /* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ */
+}
+*,
+*:before,
+*:after { /* apply a natural box layout model to all elements; see http://www.paulirish.com/2012/box-sizing-border-box-ftw/ */
+	-webkit-box-sizing: border-box; /* Not needed for modern webkit but still used by Blackberry Browser 7.0; see http://caniuse.com/#search=box-sizing */
+	-moz-box-sizing:    border-box; /* Still needed for Firefox 28; see http://caniuse.com/#search=box-sizing */
+	box-sizing:         border-box;
+}
+body {
+	background: #fff;
+}
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+main,
+nav,
+section {
+	display: block;
+}
+ol, ul {
+	list-style: none;
+}
+table { /* tables still need 'cellspacing="0"' in the markup */
+	border-collapse: separate;
+	border-spacing: 0;
+}
+caption, th, td {
+	font-weight: normal;
+	text-align: left;
+}
+blockquote:before, blockquote:after,
+q:before, q:after {
+	content: "";
+}
+blockquote, q {
+	quotes: "" "";
+}
+a:focus {
+	outline: thin dotted;
+}
+a:hover,
+a:active {
+	outline: 0;
+}
+a img {
+	border: 0;
+}
+
+
+/* =Global
+----------------------------------------------- */
+
+body,
+button,
+input,
+select,
+textarea {
+	color: #404040;
+	font-family: sans-serif;
+	font-size: 16px;
+	font-size: 1.6rem;
+	line-height: 1.5;
+}
+
+/* Headings */
+h1, h2, h3, h4, h5, h6 {
+	clear: both;
+}
+hr {
+	background-color: #ccc;
+	border: 0;
+	height: 1px;
+	margin-bottom: 1.5em;
+}
+
+/* Text elements */
+p {
+	margin-bottom: 1.5em;
+}
+ul, ol {
+	margin: 0 0 1.5em 3em;
+}
+ul {
+	list-style: disc;
+}
+ol {
+	list-style: decimal;
+}
+li > ul,
+li > ol {
+	margin-bottom: 0;
+	margin-left: 1.5em;
+}
+dt {
+	font-weight: bold;
+}
+dd {
+	margin: 0 1.5em 1.5em;
+}
+b, strong {
+	font-weight: bold;
+}
+dfn, cite, em, i {
+	font-style: italic;
+}
+blockquote {
+	margin: 0 1.5em;
+}
+address {
+	margin: 0 0 1.5em;
+}
+pre {
+	background: #eee;
+	font-family: "Courier 10 Pitch", Courier, monospace;
+	font-size: 15px;
+	font-size: 1.5rem;
+	line-height: 1.6;
+	margin-bottom: 1.6em;
+	max-width: 100%;
+	overflow: auto;
+	padding: 1.6em;
+}
+code, kbd, tt, var {
+	font: 15px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
+}
+abbr, acronym {
+	border-bottom: 1px dotted #666;
+	cursor: help;
+}
+mark, ins {
+	background: #fff9c0;
+	text-decoration: none;
+}
+sup,
+sub {
+	font-size: 75%;
+	height: 0;
+	line-height: 0;
+	position: relative;
+	vertical-align: baseline;
+}
+sup {
+	bottom: 1ex;
+}
+sub {
+	top: .5ex;
+}
+small {
+	font-size: 75%;
+}
+big {
+	font-size: 125%;
+}
+figure {
+	margin: 0;
+}
+table {
+	margin: 0 0 1.5em;
+	width: 100%;
+}
+th {
+	font-weight: bold;
+}
+img {
+	height: auto; /* Make sure images are scaled correctly. */
+	max-width: 100%; /* Adhere to container width. */
+}
+button,
+input,
+select,
+textarea {
+	font-size: 100%; /* Corrects font size not being inherited in all browsers */
+	margin: 0; /* Addresses margins set differently in IE6/7, F3/4, S5, Chrome */
+	vertical-align: baseline; /* Improves appearance and consistency in all browsers */
+	vertical-align: middle; /* Improves appearance and consistency in all browsers */
+}
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+	border: 1px solid #ccc;
+	border-color: #ccc #ccc #bbb #ccc;
+	border-radius: 3px;
+	background: #e6e6e6;
+	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 15px 17px rgba(255, 255, 255, 0.5), inset 0 -5px 12px rgba(0, 0, 0, 0.05);
+	color: rgba(0, 0, 0, .8);
+	cursor: pointer; /* Improves usability and consistency of cursor style between image-type 'input' and others */
+	-webkit-appearance: button; /* Corrects inability to style clickable 'input' types in iOS */
+	font-size: 12px;
+	font-size: 1.2rem;
+	line-height: 1;
+	padding: .6em 1em .4em;
+	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
+}
+button:hover,
+input[type="button"]:hover,
+input[type="reset"]:hover,
+input[type="submit"]:hover {
+	border-color: #ccc #bbb #aaa #bbb;
+	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 0 15px 17px rgba(255, 255, 255, 0.8), inset 0 -5px 12px rgba(0, 0, 0, 0.02);
+}
+button:focus,
+input[type="button"]:focus,
+input[type="reset"]:focus,
+input[type="submit"]:focus,
+button:active,
+input[type="button"]:active,
+input[type="reset"]:active,
+input[type="submit"]:active {
+	border-color: #aaa #bbb #bbb #bbb;
+	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.5), inset 0 2px 5px rgba(0, 0, 0, 0.15);
+}
+input[type="checkbox"],
+input[type="radio"] {
+	padding: 0; /* Addresses excess padding in IE8/9 */
+}
+input[type="search"] {
+	-webkit-appearance: textfield; /* Addresses appearance set to searchfield in S5, Chrome */
+	-webkit-box-sizing: content-box; /* Addresses box sizing set to border-box in S5, Chrome (include -moz to future-proof) */
+	-moz-box-sizing:    content-box;
+	box-sizing:         content-box;
+}
+input[type="search"]::-webkit-search-decoration { /* Corrects inner padding displayed oddly in S5, Chrome on OSX */
+	-webkit-appearance: none;
+}
+button::-moz-focus-inner,
+input::-moz-focus-inner { /* Corrects inner padding and border displayed oddly in FF3/4 www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/ */
+	border: 0;
+	padding: 0;
+}
+input[type="text"],
+input[type="email"],
+input[type="url"],
+input[type="password"],
+input[type="search"],
+textarea {
+	color: #666;
+	border: 1px solid #ccc;
+	border-radius: 3px;
+}
+input[type="text"]:focus,
+input[type="email"]:focus,
+input[type="url"]:focus,
+input[type="password"]:focus,
+input[type="search"]:focus,
+textarea:focus {
+	color: #111;
+}
+input[type="text"],
+input[type="email"],
+input[type="url"],
+input[type="password"],
+input[type="search"] {
+	padding: 3px;
+}
+textarea {
+	overflow: auto; /* Removes default vertical scrollbar in IE6/7/8/9 */
+	padding-left: 3px;
+	vertical-align: top; /* Improves readability and alignment in all browsers */
+	width: 98%;
+}
+
+/* Links */
+a {
+	color: royalblue;
+}
+a:visited {
+	color: purple;
+}
+a:hover,
+a:focus,
+a:active {
+	color: midnightblue;
+}
+
+/* Alignment */
+.alignleft {
+	display: inline;
+	float: left;
+	margin-right: 1.5em;
+}
+.alignright {
+	display: inline;
+	float: right;
+	margin-left: 1.5em;
+}
+.aligncenter {
+	clear: both;
+	display: block;
+	margin: 0 auto;
+}
+
+/* Text meant only for screen readers */
+.screen-reader-text {
+	clip: rect(1px, 1px, 1px, 1px);
+	position: absolute !important;
+}
+
+.screen-reader-text:hover,
+.screen-reader-text:active,
+.screen-reader-text:focus {
+	background-color: #f1f1f1;
+	border-radius: 3px;
+	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
+	clip: auto !important;
+	color: #21759b;
+	display: block;
+	font-size: 14px;
+	font-weight: bold;
+	height: auto;
+	left: 5px;
+	line-height: normal;
+	padding: 15px 23px 14px;
+	text-decoration: none;
+	top: 5px;
+	width: auto;
+	z-index: 100000; /* Above WP toolbar */
+}
+
+/* Clearing */
+.clear:before,
+.clear:after,
+.entry-content:before,
+.entry-content:after,
+.comment-content:before,
+.comment-content:after,
+.site-header:before,
+.site-header:after,
+.site-content:before,
+.site-content:after,
+.site-footer:before,
+.site-footer:after {
+	content: '';
+	display: table;
+}
+
+.clear:after,
+.entry-content:after,
+.comment-content:after,
+.site-header:after,
+.site-content:after,
+.site-footer:after {
+	clear: both;
+}
+
+
+/* =Menu
+----------------------------------------------- */
+
+.main-navigation {
+	clear: both;
+	display: block;
+	float: left;
+	width: 100%;
+}
+.main-navigation ul {
+	list-style: none;
+	margin: 0;
+	padding-left: 0;
+}
+.main-navigation li {
+	float: left;
+	position: relative;
+}
+.main-navigation a {
+	display: block;
+	text-decoration: none;
+}
+.main-navigation ul ul {
+	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
+	display: none;
+	float: left;
+	left: 0;
+	position: absolute;
+	top: 1.5em;
+	z-index: 99999;
+}
+.main-navigation ul ul ul {
+	left: 100%;
+	top: 0;
+}
+.main-navigation ul ul a {
+	width: 200px;
+}
+.main-navigation ul ul li {
+}
+.main-navigation li:hover > a {
+}
+.main-navigation ul ul :hover > a {
+}
+.main-navigation ul ul a:hover {
+}
+.main-navigation ul li:hover > ul {
+	display: block;
+}
+.main-navigation .current_page_item a,
+.main-navigation .current-menu-item a {
+}
+
+/* Small menu */
+.menu-toggle {
+	cursor: pointer;
+	display: none;
+}
+
+@media screen and (max-width: 600px) {
+	.menu-toggle,
+	.main-navigation.toggled .nav-menu {
+		display: block;
+	}
+
+	.main-navigation ul {
+		display: none;
+	}
+}
+
+
+/* =Content
+----------------------------------------------- */
+
+.sticky {
+}
+.hentry {
+	margin: 0 0 1.5em;
+}
+.byline,
+.updated {
+	display: none;
+}
+.single .byline,
+.group-blog .byline {
+	display: inline;
+}
+.page-content,
+.entry-content,
+.entry-summary {
+	margin: 1.5em 0 0;
+}
+.page-links {
+	clear: both;
+	margin: 0 0 1.5em;
+}
+
+
+/* =Asides
+----------------------------------------------- */
+
+.blog .format-aside .entry-title,
+.archive .format-aside .entry-title {
+	display: none;
+}
+
+
+/* =Media
+----------------------------------------------- */
+
+.page-content img.wp-smiley,
+.entry-content img.wp-smiley,
+.comment-content img.wp-smiley {
+	border: none;
+	margin-bottom: 0;
+	margin-top: 0;
+	padding: 0;
+}
+.wp-caption {
+	border: 1px solid #ccc;
+	margin-bottom: 1.5em;
+	max-width: 100%;
+}
+.wp-caption img[class*="wp-image-"] {
+	display: block;
+	margin: 1.2% auto 0;
+	max-width: 98%;
+}
+.wp-caption-text {
+	text-align: center;
+}
+.wp-caption .wp-caption-text {
+	margin: 0.8075em 0;
+}
+.site-main .gallery {
+	margin-bottom: 1.5em;
+}
+.gallery-caption {
+}
+.site-main .gallery a img {
+	border: none;
+	height: auto;
+	max-width: 90%;
+}
+.site-main .gallery dd {
+	margin: 0;
+}
+.site-main .gallery-columns-4 .gallery-item {
+}
+.site-main .gallery-columns-4 .gallery-item img {
+}
+
+/* Make sure embeds and iframes fit their containers */
+embed,
+iframe,
+object {
+	max-width: 100%;
+}
+
+
+/* =Navigation
+----------------------------------------------- */
+
+.site-main [class*="navigation"] {
+	margin: 0 0 1.5em;
+	overflow: hidden;
+}
+[class*="navigation"] .nav-previous {
+	float: left;
+	width: 50%;
+}
+[class*="navigation"] .nav-next {
+	float: right;
+	text-align: right;
+	width: 50%;
+}
+
+
+/* =Comments
+----------------------------------------------- */
+
+.comment-content a {
+	word-wrap: break-word;
+}
+.bypostauthor {
+}
+
+
+/* =Widgets
+----------------------------------------------- */
+
+.widget {
+	margin: 0 0 1.5em;
+}
+
+/* Make sure select elements fit in widgets */
+.widget select {
+	max-width: 100%;
+}
+
+/* Search widget */
+.widget_search .search-submit {
+	display: none;
+}
+
+
+/* =Infinite Scroll
+----------------------------------------------- */
+
+/* Globally hidden elements when Infinite Scroll is supported and in use. */
+.infinite-scroll .paging-navigation, /* Older / Newer Posts Navigation (always hidden) */
+.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
+	display: none;
+}
+
+/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before */
+.infinity-end.neverending .site-footer {
+	display: block;
+}
\ No newline at end of file
diff --git a/destination.php b/destination.php
new file mode 100644
index 0000000..6b4f327
--- /dev/null
+++ b/destination.php
@@ -0,0 +1,61 @@
+<?php   require("destination/triposo.php");
+        require("w/0fonctions.php");
+        require("w/1head.php");
+        
+?>
+
+<style type="text/css">
+    <?php    
+    IconBackground();
+    
+    ?>
+</style>
+</head>
+
+<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
+<?php require("w/2lightbox.php");?>
+<?php require("w/4headerScroller.php");?>
+
+<?php 
+$show_notif = (isset($_GET['dest'])) ? htmlspecialchars($_GET['dest']) : "" ;
+?>
+
+<?php if (($show_notif =="southAmerica")||($show_notif =="oceania")||($show_notif =="asia")||($show_notif =="china")||($show_notif =="india"))     {
+require("w/5notification.php");
+} ?>
+    <div class="mobile-content">
+        <div class="flexslider">
+            <ul class="slides">
+                <?php 
+                DestinationClock();
+                ?>
+
+            </ul>
+        </div>
+    </div>
+    <div class='timeline' style="">
+        <div class='timeline-bg timeline-bg1 show'></div>
+        <div class='timeline-controller'>
+            <div class='mode-icon mode-icon1 show' ></div>
+        </div>
+
+        <div class='inside'>
+            <div class='clocks'>
+                <div class='time'>
+                    <span class='hours'>1</span>
+                </div>
+            </div>
+            <div class='modes' id="dest">
+                <?php 
+               DestinationTime();
+                ?>
+            </div>
+        </div>
+    </div>
+
+    <div id="caracteristiques"></div><!--INDISPENSABLE : WHY?-->
+
+    <div class="galery" id="gallery"></div>
+
+<?php require("w/8footer.php");?>
+<?php require("w/9end.php");?>
diff --git a/destination/destination_en.php b/destination/destination_en.php
new file mode 100644
index 0000000..fa96be1
--- /dev/null
+++ b/destination/destination_en.php
@@ -0,0 +1,83 @@
+ <?php
+ 	$DISCOVER='Discover ';
+	$WITHPIERREANDBEN='with Pierre and Beno&icirc;t.';
+	$VOUS='you?';
+	$INTRO = array ("We will start with ", "Then we continue in ", "We will visit also ", "And we will see ", "And also we will discover ", "Finally we will see ", "Lastly we see ","We visit ","We will visit ", "We will visit ","We will visit ","We will visit ");
+	$DEBUT = array("This is the planified itinerary","View the detailled map","Destination game: <br/> Guess where do these pictures on the itinerary come from");
+	
+	if (isset($_GET['dest'])) 	{
+		switch (htmlspecialchars($_GET['dest'])) {
+			case 'southAmerica':
+				$DESTINATION_TEXT = array ('Brazil','Argentina', 'Paraguay', 'Bolivia', 'Peru', 'Chile');
+				break;
+			case 'brazil':
+				$DESTINATION_TEXT = array ("Rio de Janeiro","Sao Paulo","Iguazu Falls");
+				break;	
+			case 'argentina':
+				$DESTINATION_TEXT = array ('Iguazu Falls','Iber&aacute; Wetlands','Resistencia','Salta');
+				break;
+			case 'paraguay':
+				$DESTINATION_TEXT = array ('Trinidad');
+				break;
+				case 'bolivia':
+				$DESTINATION_TEXT = array ('the salted desert of Uyuni','Potosi','La Paz','Death Road');
+				break;
+			case 'peru':
+				$DESTINATION_TEXT = array ('Machu Picchu','Cusco','Nazca lines','Lima');
+				break;
+			case 'chile':
+				$DESTINATION_TEXT = array ('Santiago de Chile');
+				break;
+			case 'oceania':
+				$DESTINATION_TEXT = array ('New Zealand', 'Australia');
+				break;
+			case 'newZealand':
+				$DESTINATION_TEXT = array ('Auckland','Lake Tekapo', 'Mount Cook', 'Queenstown', 'Milford Sound', 'Haast Pass');
+				break;
+			case 'australia':
+				$DESTINATION_TEXT = array ('Sydney', 'Blue Mountains', 'Melbourne', 'Brisbane', 'Great barrier reef');
+				break;
+			case 'asia':
+				$DESTINATION_TEXT = array ('Singapore','Indonesia','Thailand','Cambodia','Vietnam','China','Nepal','India','United Arab Emirates');
+				break;
+			case 'indonesia':
+				$DESTINATION_TEXT = array ('Bali', 'Gili Islands', 'Komodo', 'Borobudur', 'Mount Bromo');
+				break;
+			case 'indochina':
+				$DESTINATION_TEXT = array ('Bangkok','Angkor', 'Phnom Penh', 'H&ocirc;-Chi-Minh-Ville', 'Hano&iuml;', 'Ha Long Bay');
+				break;
+			case 'china':
+				$DESTINATION_TEXT = array ('Sichuan','Jiuzhaigou', 'Guilin', 'Mount Huang','Forbidden City in Beijing', 'Great Wall of China', 'Zhangye','Lhasa','Potala Palace', 'Tibetan landscapes', 'Mount Everest');
+				break;
+			case 'tibet':
+				$DESTINATION_TEXT = array ('Lhasa Potala Palace','Tibetan landscapes', 'Mount Everest');
+				break;
+			case 'nepal':
+				$DESTINATION_TEXT = array ('Mount Everest', 'Kathmandu');
+				break;
+			case 'india':
+				$DESTINATION_TEXT = array ('Varanasi','Kolkata', 'Rajasthan', 'Taj Mahal, Agra', 'Leh Ladakh', 'Delhi');
+				break;
+			case 'uae':
+				$DESTINATION_TEXT = array ('Duba&iuml;');
+				break;
+			case 'thailand':
+				$DESTINATION_TEXT = array ('Bangkok');
+				break;
+			case 'cambodia':
+				$DESTINATION_TEXT = array ('Angkor','Phnom Penh');
+				break;
+			case 'vietnam':
+				$DESTINATION_TEXT = array ('H&ocirc;-Chi-Minh-Ville','Hano&iuml;','Ha Long Bay');
+				break;
+			default:
+				$DESTINATION_TEXT = array (  "Lost? Sorry this page doesn't exist.");
+				break;
+		}
+	}else{ 
+				$DESTINATION_TEXT = array (  'South America', 'Oceania', 'Asia');
+	} 
+
+
+    ?>
+
diff --git a/destination/destination_fr.php b/destination/destination_fr.php
new file mode 100644
index 0000000..7175ab9
--- /dev/null
+++ b/destination/destination_fr.php
@@ -0,0 +1,88 @@
+ <?php
+ 	$DISCOVER='DÃ©couvre ';
+	$WITHPIERREANDBEN='avec Pierre et Beno&icirc;t ';
+	$VOUS='vous ?';
+	$INTRO = array ("Nous allons commencer par ", "Ensuite nous continuerons vers ", "Nous irons aussi visiter ", "Et nous irons voir ", "Et aussi nous partirons dÃ©couvrir ", "Enfin nous verrons ", "Finalement nous irons voir ","Nous irons visiter ","Nous irons visiter ","Nous irons visiter ","Nous irons visiter ");
+ 	$DEBUT = array ("Voici notre itinÃ©raire envisagÃ©","Voir le trajet dÃ©taillÃ©","Jeu des destinations : <br/> Devinez d'oÃ¹ viennent ces photos de notre itinÃ©raire");
+ 	
+ 	if (isset($_GET['dest'])) 	{
+		switch (htmlspecialchars($_GET['dest'])) {
+			case 'ghest':
+				$DESTINATION_TEXT = array (  "le BrÃ©sil", "l'Argentine", "le Paraguay", "la Bolivie", "le PÃ©rou", "le Chili");
+				break;
+			case 'ghost':
+				$DESTINATION_TEXT = array ("Voici la maps","Devinez d'oÃ¹ viennnent ces photos",  "le BrÃ©sil", "l'Argentine", "le Paraguay", "la Bolivie", "le PÃ©rou", "le Chili");
+				break;
+			case 'southAmerica':
+			$DESTINATION_TEXT = array (  "le BrÃ©sil", "l'Argentine", "le Paraguay", "la Bolivie", "le PÃ©rou", "le Chili");
+				break;
+			case 'brazil':
+			$DESTINATION_TEXT = array ("Rio de Janeiro","Sao Paulo","les chutes de l'Iguazu");
+				break;	
+			case 'argentina':
+			$DESTINATION_TEXT = array ("les chutes l'Iguazu","les Ã©tangs de l'IberÃ ",'Resistencia','Salta');
+				break;
+			case 'paraguay':
+			$DESTINATION_TEXT = array ("Trinidad");
+				break;
+				case 'bolivia':
+			$DESTINATION_TEXT = array ("le Grand DÃ©sert SalÃ© de Uyuni","la Ville miniÃ¨re de Potosi","La Paz","la Route de la Mort");
+				break;
+			case 'peru':
+			$DESTINATION_TEXT = array ("les Ruines de Machu Picchu","Cuzco","Nazca et ses Glyphes","Lima");
+				break;
+			case 'chile':
+			$DESTINATION_TEXT = array ("Santiago de Chile");
+				break;
+			case 'oceania':
+			$DESTINATION_TEXT = array ("la Nouvelle ZÃ©lande", "l'Australie");
+				break;
+			case 'newZealand':
+			$DESTINATION_TEXT = array ("Auckland", "le Lac Tekapo", "le Mont Cook", "Queenstown", "Milford Sound", "le Haast Pass");
+				break;
+			case 'australia':
+			$DESTINATION_TEXT = array (  "Sydney", "Les Montagnes Bleus", "Melbourne", "Brisbane", "La Grande BarriÃ¨re de Corail");
+				break;
+			case 'asia':
+			$DESTINATION_TEXT = array ("Singapour","l'IndonÃ©sie","la ThaÃ¯lande","le Cambodge","le ViÃªt Nam","le Chine","le NÃ©pal","l'Inde","les Emirats Arabes Unis");
+				break;
+			case 'indonesia':
+			$DESTINATION_TEXT = array ("Bali", "Gili Islands", "Komodo", "Borobudur", "le Mont Bromo");
+				break;
+			case 'indochina':
+			$DESTINATION_TEXT = array (  "Bangkok", "Angkor", "Phnom Penh", "HÃ´-Chi-Minh-Ville", "Hano&iuml;", "la Baie de Ha Long");
+				break;
+			case 'china':
+			$DESTINATION_TEXT = array ( "Sichuan", "Jiuzhaigou", "Guilin", "le Mont Huang","La CitÃ© Interdite - PÃ©kin", "La Grande Muraille de Chine", "Zhangye","Lhassa", "Le Palais Potala", "Paysages TibÃ©tains", "Le Mont Everest");
+				break;
+			case 'tibet':
+			$DESTINATION_TEXT = array ("Le Palais Potala", "des Paysages TibÃ©tains", "Le Mont Everest");
+				break;
+			case 'nepal':
+			$DESTINATION_TEXT = array (  "Le Mont Everest", "Kathmandou");
+				break;
+			case 'india':
+			$DESTINATION_TEXT = array (  "Varanasi", "Calcutta", "Rajasthan", "Taj Mahal, Agra", "Leh Ladakh", "New Delhi");
+				break;
+			case 'uae':
+			$DESTINATION_TEXT = array ("Duba&iuml;");
+				break;
+			case 'thailand':
+			$DESTINATION_TEXT = array ("Bangkok");
+				break;
+			case 'cambodia':
+			$DESTINATION_TEXT = array ("Angkor","Phnom Penh");
+				break;
+			case 'vietnam':
+			$DESTINATION_TEXT = array ("HÃ´-Chi-Minh-Ville","HanoÃ¯","la Baie de Ha Long");
+				break;
+			default:
+			$DESTINATION_TEXT = array (  "Vous Ãªtes Perdu ? DÃ©solÃ© cette page n'existe pas.");
+				break;
+		}
+	}else{ 
+			$DESTINATION_TEXT = array (  "l'AmÃ©rique du Sud", "l'OcÃ©anie", "l'Asie");
+	} 
+
+
+    ?>
diff --git a/destination/destination_img.php b/destination/destination_img.php
new file mode 100644
index 0000000..e00651b
--- /dev/null
+++ b/destination/destination_img.php
@@ -0,0 +1,136 @@
+<?php
+	if (isset($_GET['dest'])) 	{
+		switch (htmlspecialchars($_GET['dest'])) {
+			case 'southAmerica':
+				$LINK = array ('brazil', 'argentina', 'paraguay', 'bolivia', 'peru', 'chile');
+				$GMAP = 'https://goo.gl/maps/ZmN32';
+				$MAP = 'brazil';
+				$COLORS='#009bd3';
+				break;
+			case 'brazil':
+				$LINK = array ('rio','sao','iguazu');
+				$COLORS='#1491AA';
+				$GMAP = 'https://goo.gl/maps/hILoi';
+				break;	
+			case 'argentina':
+				$LINK = array ('iguazu','ibera','resistencia','salta');
+				$COLORS='#288AB0';
+				$GMAP = '';
+				break;
+			case 'paraguay':
+				$LINK = array ('trinidad');
+				$COLORS='#1549B8';
+				$GMAP = '';
+				break;
+			case 'bolivia':
+				$LINK = array ('uyuni','potosi','lapaz','routeDeLaMort');
+				$COLORS='#3E54B3';
+				$GMAP = '';
+				break;
+			case 'peru':
+				$LINK = array ('machupicchu','cusco','nazca','lima');
+				$COLORS='#17A498';
+				$GMAP = '';
+				break;
+			case 'chile':
+				$LINK = array ('santiago');
+				$COLORS='#2118AA';
+				$GMAP = '';
+				break;
+			case 'oceania':
+				$LINK = array ('newZealand', 'australia');
+				$COLORS='#D48D09';
+				$GMAP = '';
+				break;
+			case 'newZealand':
+				$LINK = array ('auckland','tekapo','cook','queenstown','milford','haastPass');
+				$COLORS='#B97118';
+				$GMAP = 'https://maps.google.com/maps?f=d&source=embed&saddr=Christchurch,+Canterbury,+Nouvelle-Z%C3%A9lande&daddr=Tekapo,+Canterbury,+Nouvelle-Z%C3%A9lande+to:Mount+Cook+National+Park,+Canterbury,+Nouvelle-Z%C3%A9lande+to:State+Highway+8,+Alexandra,+Otago,+Nouvelle-Z%C3%A9lande+to:Dunedin,+Otago,+Nouvelle-Z%C3%A9lande+to:Queenstown,+Otago,+Nouvelle-Z%C3%A9lande+to:Milford+Sound,+New+Zealand+to:Wanaka,+New+Zealand+to:Southern+Alps+Media,+Southern+Alps+Media,+695+Aubrey+Rd,+Wanaka+9343,+Nouvelle-Z%C3%A9lande+to:Haast+Pass+to:Greymouth,+West+Coast,+Nouvelle-Z%C3%A9lande+to:Christchurch,+Nouvelle-Z%C3%A9lande&hl=fr&geocode=FerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ%3BFXljYv0dfB8qCim31PesCZkrbTHA2GSrhu8AKg%3BFWLMZv0dfv8lCiFgWFxlh-8ADyntspyr4cUrbTFgWFxlh-8ADw%3BFWloTf0dgbEYCilri_vT3UgqqDFpox-JNLWbTw%3BFRjyQ_0djqopCik9UV8P4OQrqDFBmXmEhu8ABQ%3BFQbhUP0ddJYNCilf3qjX8R3VqTEApnmEhu8ABQ%3BFYbTVv0dJOkBCinhSUu6TeDVqTEA3mSrhu8AKg%3BFTPiVf0dQsAUCilvLey5HUbVqTHgwXmEhu8ABQ%3BFXBBVv0dIkIVCik1K2EDBU_VqTEsiDsybb6qgA%3BFWAWX_0dcBMYCikxSDxKRmLVbDENhi9khLXo6Q%3BFShCeP0dCng0CilTENVN2T8vbTGgcnmEhu8ABQ%3BFerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ&aq=0&oq=chr&sll=-43.133061,171.606445&sspn=4.690365,10.821533&mra=ls&ie=UTF8&ll=-43.133061,171.606445&spn=3.681025,4.905224&t=m&dg=feature';
+				break;
+			case 'australia':
+				$LINK = array ('sydney','bluemountains','melbourne','brisbane','barrier');
+				$COLORS='#C24B0B';
+				$GMAP = 'https://goo.gl/maps/JdgSo';
+				break;
+			case 'asia':
+				$LINK = array ('singapore','indonesia','thailand','cambodia','vietnam','china','nepal','india','uae');
+				$COLORS='#DDDD00';
+				$GMAP = 'https://goo.gl/maps/8X5Fp';
+				break;
+			case 'indonesia':
+				$LINK = array ('bali','giliIslands','komodo','borobudur','bromo');
+				$COLORS='#367A2A';
+				$GMAP = '';
+				break;
+			case 'indochina':
+				$LINK = array ('bangkok','angkor','phnomPenh','hochiminh','hanoi','halongbay');
+				$COLORS='#00ff00';
+				$GMAP = 'https://goo.gl/maps/8X5Fp';
+				break;
+			case 'china':
+				$LINK = array ('sichuan','jiuzhaigou','guilin','mountHuang','beijing','wall','zhangye','lhasa','potala','tibetan','everest');
+				$COLORS='#ACDE08';
+				$GMAP = 'https://maps.google.com/maps?ll=30.997251,106.484198&z=4&t=h&hl=fr&gl=US&mapclient=embed&saddr=Pingxiang,+Chongzuo,+Guangxi,+Chine&daddr=Yunnan,+Chine+to:Sichuan,+Chine+to:Vall%C3%A9e+de+Jiuzhaigou,+Jiuzhaigou,+Sichuan,+Chine+to:Guilin,+Guangxi,+Chine+to:Tianzi+Mountain+to:Mt+Huangshan+to:Zhejiang,+Chine+to:Panjin,+Liaoning,+Chine+to:Zhangye,+Gansu,+Chine+to:Lhassa,+R%C3%A9gion+autonome+du+Tibet,+Chine&dg=feature';
+				break;
+			case 'tibet':
+				$LINK = array ('lhasa','tibetan','everest');
+				$COLORS='#C5DA07';
+				$GMAP = '';
+				break;
+			case 'nepal':
+				$LINK = array ('everest2','kathmandu');
+				$COLORS='#C5D955';
+				$GMAP = 'https://www.google.com/maps/preview?ll=26.834994,79.636975&z=4&t=m&hl=fr&gl=US&mapclient=embed&saddr=Katmandou,+N%C3%A9pal&daddr=Gorakhpur,+Uttar+Pradesh,+Inde+to:Varanasi,+Uttar+Pradesh,+Inde+to:Calcutta,+Bengale-Occidental,+Inde+to:Bombay,+Maharashtra,+Inde+to:Udaipur,+Rajasthan,+Inde+to:Jaisalmer,+Rajasthan,+Inde+to:26.1167418,+72.8951152+to:New+Delhi,+Delhi,+Inde+to:Leh';
+				break;
+			case 'india':
+				$LINK = array ('varanasi','kolkata','rajasthan','agra','ladakh','newDelhi');
+				$COLORS='#DDC631';
+				$GMAP = 'https://www.google.com/maps/preview?ll=26.834994,79.636975&z=4&t=m&hl=fr&gl=US&mapclient=embed&saddr=Katmandou,+N%C3%A9pal&daddr=Gorakhpur,+Uttar+Pradesh,+Inde+to:Varanasi,+Uttar+Pradesh,+Inde+to:Calcutta,+Bengale-Occidental,+Inde+to:Bombay,+Maharashtra,+Inde+to:Udaipur,+Rajasthan,+Inde+to:Jaisalmer,+Rajasthan,+Inde+to:26.1167418,+72.8951152+to:New+Delhi,+Delhi,+Inde+to:Leh';
+				break;
+			case 'uae':
+				$LINK = array ('dubai');
+				$COLORS='#E6C801';
+				$GMAP = '';
+				break;
+			case 'thailand':
+				$LINK = array ('bangkok');
+				$COLORS='#068918';
+				$GMAP = 'https://goo.gl/maps/8X5Fp';
+				break;
+			case 'cambodia':
+				$LINK = array ('angkor','phnomPenh');
+				$COLORS='#41AE4C';
+				$GMAP = 'https://goo.gl/maps/8X5Fp';
+				break;
+			case 'vietnam':
+				$LINK = array ('hochiminh','hanoi','halongbay');
+				$COLORS='#169200';
+				$GMAP = 'https://goo.gl/maps/3aaMF';
+				break;
+			default:
+				$LINK = array ('lost');
+				$COLORS='#bbbbbb';
+				$GMAP = "http://planificateur.a-contresens.net/itineraire/1733#.U_-L_Pl_v9V";
+				break;
+		}
+	}else{ 
+		$LINK = array ('southAmerica', 'oceania', 'asia');
+		$COLORS='#777777';
+		$COLORS_TAB = array ('#009bd3', '#D48D09', '#DDDD00');
+	} 
+
+
+	if(isset($_COOKIE['lang'])) {
+ 		$lang = $_COOKIE['lang'];
+ 		 
+	} else {
+		$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); 
+ 	}
+	 
+   	if ($lang=='fr') {   
+ 	     require("destination/destination_fr.php");
+	 } else  {     
+ 	     require("destination/destination_en.php");
+	 } 
+	
+?>
diff --git a/destination/triposo.php b/destination/triposo.php
new file mode 100644
index 0000000..db5fb45
--- /dev/null
+++ b/destination/triposo.php
@@ -0,0 +1,188 @@
+<?php
+if (isset($_GET['dest'])) {
+    switch (htmlspecialchars($_GET['dest'])) {
+        case 'rio':
+            header('Location: https://www.triposo.com/loc/Rio_de_Janeiro');
+            break;
+        case 'sao':
+            header('Location: https://www.triposo.com/loc/SC3A3o_Paulo');
+            break;
+        case 'iguazu':
+            header('Location: http://www.triposo.com/loc/Iguazu_Falls');
+            break;
+        case 'ibera':
+            header('Location: https://www.triposo.com/loc/Colonia_Carlos_Pellegrini');
+            break;
+        case 'resistencia':
+            header('Location: http://www.triposo.com/loc/Resistencia2C_Chaco');
+            break;
+        case 'salta':
+            header('Location: http://www.triposo.com/loc/Salta');
+            break;
+        case 'trinidad':
+            header('Location: http://www.triposo.com/loc/Trinidad2C_Paraguay');
+            break;
+        case 'uyuni':
+            header('Location: http://www.triposo.com/loc/Uyuni');
+            break;
+        case 'potosi':
+            header('Location: http://www.triposo.com/loc/PotosC3AD');
+            break;
+        case 'lapaz':
+            header('Location: http://www.triposo.com/loc/La_Paz');
+            break;
+        case 'routeDeLaMort':
+            header('Location: http://en.wikipedia.org/wiki/Yungas_Road');
+            break;
+        case 'machupicchu':
+            header('Location: http://www.triposo.com/loc/Machu_Picchu');
+            break;
+        case 'cusco':
+            header('Location: http://www.triposo.com/loc/Cusco');
+            break;
+        case 'nazca':
+            header('Location: http://www.triposo.com/loc/Nazca/Understand');
+            break;
+        case 'lima':
+            header('Location: http://www.triposo.com/loc/Lima');
+            break;
+        case 'santiago':
+            header('Location: http://www.triposo.com/loc/Santiago');
+            break;
+        case 'auckland':
+            header('Location: http://www.triposo.com/loc/Auckland');
+            break;
+        case 'tekapo':
+            header('Location: https://www.triposo.com/loc/Lake_Tekapo_28town29');
+            break;
+        case 'cook':
+            header('Location: http://www.triposo.com/poi/N__60598015');
+            break;
+        case 'queenstown':
+            header('Location: http://www.triposo.com/loc/Queenstown2C_New_Zealand');
+            break;
+        case 'milford':
+            header('Location: http://www.triposo.com/loc/Milford_Sound');
+            break;
+        case 'haastPass':
+            header('Location: http://www.triposo.com/loc/Haast2C_New_Zealand');
+            break;
+        case 'sydney':
+            header('Location: http://www.triposo.com/loc/Sydney');
+            break;
+        case 'bluemountains':
+            header('Location: https://www.triposo.com/loc/Blue_Mountains_National_Park');
+            break;
+        case 'melbourne':
+            header('Location: http://www.triposo.com/loc/Melbourne');
+            break;
+        case 'brisbane':
+            header('Location: http://www.triposo.com/loc/Brisbane');
+            break;
+        case 'barrier':
+            header('Location: http://www.triposo.com/loc/Belize_Barrier_Reef');
+            break;
+        case 'singapore':
+            header('Location: http://www.triposo.com/loc/Singapore');
+            break;
+            case 'bali':
+            header('Location: http://www.triposo.com/loc/Bali');
+            break;
+        case 'giliIslands':
+            header('Location: http://www.triposo.com/loc/Gili_Islands');
+            break;
+        case 'komodo':
+            header('Location: http://en.wikipedia.org/wiki/Komodo_dragon');
+            break;
+        case 'borobudur':
+            header('Location: http://en.wikipedia.org/wiki/Borobudur');
+            break;
+        case 'bromo':
+            header('Location: http://www.triposo.com/poi/T__41d80a583c8d');
+            break;
+        case 'bangkok':
+            header('Location: http://www.triposo.com/loc/Bangkok');
+            break;
+        case 'angkor':
+            header('Location: http://www.triposo.com/loc/Angkor');
+            break;
+        case 'phnomPenh':
+            header('Location: http://www.triposo.com/loc/Phnom_Penh');
+            break;
+        case 'hochiminh':
+            header('Location: http://www.triposo.com/loc/Ho_Chi_Minh_City');
+            break;
+        case 'hanoi':
+            header('Location: http://www.triposo.com/loc/Hanoi');
+            break;
+        case 'halongbay':
+            header('Location: http://www.triposo.com/loc/Ha_Long');
+            break;
+        case 'sichuan':
+            header('Location: http://www.triposo.com/poi/T__f3aaf429e35a');
+            break;
+        case 'jiuzhaigou':
+            header('Location: http://www.triposo.com/loc/Jiuzhaigou_Valley');
+            break;
+        case 'guilin':
+            header('Location: http://www.triposo.com/loc/Guilin');
+            break;
+         case 'mountHuang':
+            header('http://www.triposo.com/loc/Wuhan');
+            break;    
+        case 'beijing':
+            header('Location: http://www.triposo.com/loc/Beijing');
+            break;
+        case 'wall':
+            header('Location: http://www.triposo.com/loc/Great_Wall_of_China');
+            break;
+        case 'zhangye':
+            header('Location: http://www.triposo.com/loc/Zhangye');
+            break;
+        case 'lhasa' :
+            header('Location: http://www.triposo.com/loc/Lhasa');
+            break;
+        case 'tibetan':
+            header('Location: http://www.tibetdiscovery.com/tibet-landscape/');
+            break;
+        case 'everest':
+            header('Location: http://www.triposo.com/loc/Mount_Everest');
+            break;
+        case 'everest2':
+            header('Location: http://www.triposo.com/loc/Mount_Everest');
+            break;
+        case 'kathmandu':
+            header('Location: http://www.triposo.com/loc/Kathmandu');
+            break;
+        case 'varanasi':
+            header('Location: http://www.triposo.com/loc/Varanasi');
+            break;
+        case 'kolkata':
+            header('Location: http://www.triposo.com/loc/Kolkata');
+            break;
+        case 'rajasthan':
+            header('Location: http://fr.wikipedia.org/wiki/Rajasthan');
+            break;
+        case 'agra':
+            header('Location: http://www.triposo.com/loc/Agra');
+            break;
+        case 'ladakh':
+            header('Location: http://www.triposo.com/loc/Ladakh');
+            break;
+        case 'newDelhi':
+            header('Location: http://www.triposo.com/loc/New_Delhi');
+            break;
+        case 'dubai':
+            header('Location: http://www.triposo.com/loc/Dubai');
+            break;
+        case 'collect':
+            header('Location: http://www.workingabroadmagazine.com/jobs-abroad/australia-jobs/cool-jobs-australia-for-non-australians/');
+            break;
+        default:
+
+            break;
+    }
+} else {
+
+} 
+?>
\ No newline at end of file
diff --git a/destinations.php b/destinations.php
new file mode 100644
index 0000000..b3d76a3
--- /dev/null
+++ b/destinations.php
@@ -0,0 +1,194 @@
+
+<?php require("w/0fonctions.php");
+      require("w/1head.php");
+?>
+</head>
+
+<!--
+<!DOCTYPE html>
+<html>
+<head>-->
+  <title>Destinations map</title>
+  <link rel="stylesheet" href="css/jquery-jvectormap-1.2.2.css" type="text/css" media="screen"/>
+  <script src="js/jquery-1.8.2.js"></script>
+  <script src="js/jquery-jvectormap-1.2.2.min.js"></script>
+  <script src="js/jquery-jvectormap-world-mill-en.js"></script>
+  <script src="js/url-map1.js"></script>
+</head>
+<!-- <body> -->
+
+
+<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
+<?php require("w/2lightbox.php");?>
+<?php require("w/4headerScroller.php");?>
+
+<div class="text-align">
+  <div id="d-map" style="width: 900px; height: 600px; text-align: center ;margin-left: auto;  margin-right: auto;"></div>
+</div>
+  <script>
+      
+
+	  
+	  $(function() {
+			$('#d-map').vectorMap({
+				hoverOpacity: 0.7, // opacity for :hover
+				hoverColor: false,
+				markerStyle: {
+				  initial: {
+				  // Couleur des marqueurs
+					r: '2',
+					fill: '#FF2F2F',
+					stroke: '#000000'
+				  }
+				},
+				
+								markers: [
+								// Definition des marqueurs (y compris liens url)
+				  {latLng: [48.69, 2.09], name: 'Paris', weburl : "http://www.recontact.me/destinations.php"},
+				  {latLng: [-22.65, -43.67], name: 'Rio de Janeiro', weburl : "http://www.recontact.me/destination.php?dest=rio"},
+				  {latLng: [-23.85, -46.89], name: 'São Paulo', weburl : "http://www.recontact.me/destination.php?dest=sao"},
+				  {latLng: [-25.47, -54.60], name: 'Iguazu Falls', weburl : "http://www.recontact.me/destination.php?dest=iguazu"},
+				  {latLng: [-27.20, -55.89], name: 'Trinidad', weburl : "http://www.recontact.me/destination.php?dest=trinidad"},
+				  {latLng: [-25.26, -57.67], name: 'Asunción', weburl : "http://www.recontact.me/destination.php?dest=asuncion"},
+				  {latLng: [-28.10, -57.62], name: 'Esteros del Iberá', weburl : "http://www.recontact.me/destination.php?dest=ibera"},
+				{latLng: [-27.20, -58.96], name: 'Resistencia', weburl : "http://www.recontact.me/destination.php?dest=resistencia"},
+				{latLng: [-24.26, -65.40], name: 'Salta', weburl : "http://www.recontact.me/destination.php?dest=salta"},
+				{latLng: [-20.63, -66.75], name: 'Uyuni', weburl : "http://www.recontact.me/destination.php?dest=uyuni"},
+				{latLng: [-19.06, -65.76], name: 'Potosi', weburl : "http://www.recontact.me/destination.php?dest=potosi"},
+				{latLng: [-16.35, -68.47], name: 'La Paz', weburl : "http://www.recontact.me/destination.php?dest=lapaz"},
+				{latLng: [-15.62, -67.65], name: 'Death road', weburl : "http://www.recontact.me/destination.php?dest=routeDeLaMort"},
+				{latLng: [-13.72, -71.69], name: 'Cusco', weburl : "http://www.recontact.me/destination.php?dest=Cusco"},
+				{latLng: [-13.20, -72.74], name: 'Machu Picchu', weburl :"http://www.recontact.me/destination.php?dest=machupicchu"},
+				{latLng: [-14.60, -75.14], name: 'Nazca Lines', weburl : "http://www.recontact.me/destination.php?dest=nazca"},
+				{latLng: [-11.65, -77.38], name: 'Lima', weburl : "http://www.recontact.me/destination.php?dest=lima"},
+				{latLng: [-33.48, -70.87], name: 'Santiago de Chile', weburl : "http://www.recontact.me/destination.php?dest=santiago"},
+				{latLng: [-36.87, 174.74], name: 'Auckland', weburl : "http://www.recontact.me/destination.php?dest=auckland"},
+				{latLng: [-43.71, 170.84], name: 'Tekapo Lake', weburl : "http://www.recontact.me/destination.php?dest=tekapo"},
+				{latLng: [-43.09, 170.84], name: 'Mount Cook', weburl : "http://www.recontact.me/destination.php?dest=cook"},
+				{latLng: [-45.05, 168.67], name: 'Queenstown', weburl : "http://www.recontact.me/destination.php?dest=queenstown"},
+				{latLng: [-46.26, 167.92], name: 'Milford Sound', weburl : "http://www.recontact.me/destination.php?dest=milford"},
+				{latLng: [-44.08, 169.35], name: 'Haast Pass', weburl : "http://www.recontact.me/destination.php?dest=haastPass"},
+				{latLng: [-34.35, 150.75], name: 'Sydney', weburl : "http://www.recontact.me/destination.php?dest=sydney"},
+				{latLng: [-34.01, 146.55], name: 'Blue Montains', weburl : "http://www.recontact.me/destination.php?dest=bluemountains"},
+				{latLng: [-37.69, 145.13], name: 'Melbourne', weburl : "http://www.recontact.me/destination.php?dest=melbourne"},
+				{latLng: [-27.13, 152.84], name: 'Brisbane', weburl : "http://www.recontact.me/destination.php?dest=brisbane"},
+				{latLng: [-18.03, 148.03], name: 'Great Barrier Reef', weburl : "http://www.recontact.me/destination.php?dest=barrier"},
+				{latLng: [1.49, 103.43], name: 'Singapore', weburl : "http://www.recontact.me/destination.php?dest=singapore"},
+				{latLng: [-8.39, 115.35], name: 'Bali', weburl : "http://www.recontact.me/destination.php?dest=bali"},
+				{latLng: [-8.61, 116.92], name: 'Gili Islands', weburl : "http://www.recontact.me/destination.php?dest=giliIslands"},
+				{latLng: [-7.34, 110.11], name: 'Borobudur', weburl : "http://www.recontact.me/destination.php?dest=borobudur"},
+				{latLng: [-7.87, 112.80], name: 'Mount Bromo', weburl : "http://www.recontact.me/destination.php?dest=bromo"},		
+				{latLng: [13.82, 100.67], name: 'Bangkok', weburl : "http://www.recontact.me/destination.php?dest=bangkok"},
+				{latLng: [13.31, 104.56], name: 'Angkor', weburl : "http://www.recontact.me/destination.php?dest=angkor"},
+				{latLng: [11.39, 104.49], name: 'Phnom-Penh', weburl : "http://www.recontact.me/destination.php?dest=phnomPenh"},
+				{latLng: [10.50, 106.66], name: 'Hô Chi Minh', weburl : "http://www.recontact.me/destination.php?dest=hochominh"},
+				{latLng: [21.16, 105.46], name: 'Hà Noi', weburl : "http://www.recontact.me/destination.php?dest=hanoi"},
+				{latLng: [20.51, 106.89], name: 'Halong Bay', weburl : "http://www.recontact.me/destination.php?dest=halongbay"},
+				{latLng: [29.65, 103.97], name: 'Sichuan', weburl : "http://www.recontact.me/destination.php?dest=sichuan"},
+				{latLng: [34.90, 104.19], name: 'Jiuzhaigou valley',weburl : "http://www.recontact.me/destination.php?dest=jiuzhaigou"},
+				{latLng: [26.11, 108.61], name: 'Guilin', weburl : "http://www.recontact.me/destination.php?dest=guilin"},
+				{latLng: [39.77, 116.10], name: 'Beijing', weburl : "http://www.recontact.me/destination.php?dest=beijing"},
+				{latLng: [40.97, 116.77], name: 'Great Wall of China', weburl : "http://www.recontact.me/destination.php?dest=wall"},
+				{latLng: [39.96, 99.62], name: 'Zhangye', weburl : "http://www.recontact.me/destination.php?dest=zhangye"},
+				{latLng: [30.67, 90.26], name: 'Lhassa', weburl : "http://www.recontact.me/destination.php?dest=lhasa"},
+				{latLng: [30.47, 91.01], name: 'Potala Palace', weburl : "http://www.recontact.me/destination.php?dest=potala"},
+				{latLng: [27.99, 86.74], name: 'Mount Everest', weburl : "http://www.recontact.me/destination.php?dest=everest"},
+				{latLng: [27.79, 85.02], name: 'Kahtmandu', weburl : "http://www.recontact.me/destination.php?dest=kathmandu"},
+				{latLng: [25.06, 83.82], name: 'Varanasi', weburl : "http://www.recontact.me/destination.php?dest=varanasi"},
+				{latLng: [22.44, 87.27], name: 'Calcutta', weburl : "http://www.recontact.me/destination.php?dest=kolkata"},
+				{latLng: [25.65, 78.43], name: 'Taj Mahal - Agra', weburl : "http://www.recontact.me/destination.php?dest=agra"},
+				{latLng: [28.75, 77.83], name: 'New Delhi', weburl : "http://www.recontact.me/destination.php?dest=newDelhi"},
+				{latLng: [23.86, 76.63], name: 'Rajasthan', weburl : "http://www.recontact.me/destination.php?dest=rajasthan"},
+				{latLng: [33.24, 76.71], name: 'Leh Ladakh', weburl : "http://www.recontact.me/destination.php?dest=ladakh"}
+				  ],
+				onRegionClick: function(event, code){
+                        //Destinations du trajet - Liens url
+						if (code == "FR") {window.location.href = 'http://www.recontact.me'}
+                        if (code == "BR") {window.location = 'http://www.recontact.me/destination.php?dest=brazil'}
+                        if (code == "PY") {window.location = 'http://www.recontact.me/destination.php?dest=paraguay'}
+                        if (code == "AR") {window.location = 'http://www.recontact.me/destination.php?dest=argentina'}
+                        if (code == "BO") {window.location = 'http://www.recontact.me/destination.php?dest=bolivia'}
+                        if (code == "PE") {window.location = 'http://www.recontact.me/destination.php?dest=peru'}
+                        if (code == "CL") {window.location = 'http://www.recontact.me/destination.php?dest=chile'}
+                        if (code == "NZ") {window.location = 'http://www.recontact.me/destination.php?dest=newZealand'}
+                        if (code == "AU") {window.location = 'http://www.recontact.me/destination.php?dest=australia'}
+                        if (code == "SG") {window.location = 'http://www.recontact.me/destination.php?dest=singapore'}
+                        if (code == "ID") {window.location = 'http://www.recontact.me/destination.php?dest=indonesia'}
+                        if (code == "TH") {window.location = 'http://www.recontact.me/destination.php?dest=thailand'}
+                        if (code == "KH") {window.location = 'http://www.recontact.me/destination.php?dest=cambodia'}
+                        if (code == "VN") {window.location = 'http://www.recontact.me/destination.php?dest=vietnam'}
+                        if (code == "CN") {window.location = 'http://www.recontact.me/destination.php?dest=china'}
+                        if (code == "NP") {window.location = 'http://www.recontact.me/destination.php?dest=nepal'}
+						if (code == "IN") {window.location = 'http://www.recontact.me/destination.php?dest=india'}
+						if (code == "AE") {window.location = 'http://www.recontact.me/destination.php?dest=uae'}
+						if (code == "SA") {window.location = 'http://www.recontact.me/destination.php?dest=uae'}
+                        //Autres pays => pour faire apparaitre les pages continent - Liens url
+                        if (code == "CO") {window.location = 'http://www.recontact.me/destination.php?dest=southAmerica'}
+                        if (code == "UY") {window.location = 'http://www.recontact.me/destination.php?dest=southAmerica'}
+                        if (code == "VE") {window.location = 'http://www.recontact.me/destination.php?dest=southAmerica'}
+                        if (code == "GY") {window.location = 'http://www.recontact.me/destination.php?dest=southAmerica'}
+                        if (code == "FK") {window.location = 'http://www.recontact.me/destination.php?dest=southAmerica'}
+                        if (code == "PG") {window.location = 'http://www.recontact.me/destination.php?dest=oceania'}
+                        if (code == "NC") {window.location = 'http://www.recontact.me/destination.php?dest=oceania'}
+                        if (code == "FJ") {window.location = 'http://www.recontact.me/destination.php?dest=oceania'}
+                        if (code == "RU") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
+                        if (code == "IR") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
+                        if (code == "TR") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
+                        if (code == "MN") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
+                        if (code == "JP") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
+                        if (code == "KZ") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
+                        if (code == "PK") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
+                        if (code == "AF") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
+                        if (code == "UZ") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
+                        if (code == "MM") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
+                        if (code == "MY") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
+                        if (code == "IQ") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
+						if (code == "LA") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
+                                               
+				},
+				onMarkerClick: function(events, index) {
+					$(location).attr('href', markers[index].weburl);
+				},
+				series: {
+				  regions: [{
+					values: {
+					// Couleur des pays
+						FR:'#FF4E4E',
+						BR:'#18A7C4', //Am sud
+						PY:'#1F64FB', //Am sud
+						AR:'#33B9EE', //Am sud
+						BO:'#5A78FD', //Am sud
+						PE:'#1FDCCD', //Am sud
+						CL:'#2B1FDC', //Am sud
+						NZ:'#FC9920', //Oceanie
+						AU:'#F55E0D', //Oceanie
+						SG:'#2A970F', //Asie du SE
+						ID:'#429833', //Asie du SE
+						TH:'#068918', //Asie du SE
+						KH:'#5EFD6D', //Asie du SE
+						VN:'#1EAF04', //Asie du SE
+						CN:'#C6FF07', //Asie
+						NP:'#DDF45E', //Asie
+						IN:'#FCE237',  //Asie  
+						AE:'#FFDD01'
+						
+						
+					}
+				  }]
+				}
+				
+				
+			});
+		});
+    </script>
+<div class="vide">
+</div>
+
+<?php require("w/8footer.php");?>
+<?php require("w/9end.php");?>
+
+<!-- 
+</body>
+</html>
+ -->
+
diff --git a/fonts/Angelina.eot b/fonts/Angelina.eot
new file mode 100644
index 0000000..2786aaa
Binary files /dev/null and b/fonts/Angelina.eot differ
diff --git a/fonts/Angelina.svg b/fonts/Angelina.svg
new file mode 100644
index 0000000..54fc609
--- /dev/null
+++ b/fonts/Angelina.svg
@@ -0,0 +1,7699 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg>
+<metadata>
+Created by FontForge 20110222 at Thu May 22 10:11:21 2014
+ By deploy user
+Generated by Fontographer 4.0
+</metadata>
+<defs>
+<font id="Angelina" horiz-adv-x="2576" >
+  <font-face 
+    font-family="Angelina"
+    font-weight="400"
+    font-stretch="normal"
+    units-per-em="2100"
+    panose-1="0 0 4 0 0 0 0 0 0 0"
+    ascent="1680"
+    descent="-420"
+    x-height="644"
+    cap-height="1205"
+    bbox="-505 -835 1691.13 1364"
+    underline-thickness="20"
+    underline-position="-123"
+    unicode-range="U+0020-F002"
+  />
+<missing-glyph horiz-adv-x="1050" 
+d="M131 0v1300h788v-1300h-788zM263 131h525v1038h-525v-1038z" />
+    <glyph glyph-name=".notdef" horiz-adv-x="1050" 
+d="M131 0v1300h788v-1300h-788zM263 131h525v1038h-525v-1038z" />
+    <glyph glyph-name=".null" horiz-adv-x="0" 
+ />
+    <glyph glyph-name="nonmarkingreturn" horiz-adv-x="544" 
+ />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="544" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="418" 
+d="M280 91q-12 -9 -42 4q-60 25 -104 117q-36 75 -41 141q-3 27 -3 67q0 195 38 416q43 253 97 253q18 0 34.5 -16.5t16.5 -34.5q0 -6 -2 -11q-90 -246 -90 -610q0 -220 87 -283q29 -28 9 -43zM215 -137q-62 0 -62 46q0 56 64 56q67 0 67 -52q0 -17 -26 -33.5t-43 -16.5z
+" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="426" 
+d="M228 592q-13 -9 -25 -9q-25 0 -25 23q0 17 19 32q56 43 56 169q0 25 -4 48q-2 16 22 34t47 18q38 0 38 -55q0 -59 -37 -137q-39 -83 -91 -123zM95 592q-13 -9 -25 -9q-25 0 -25 23q0 17 19 32q56 43 56 169q0 25 -4 48q-2 16 21.5 34t47.5 18q38 0 38 -55q0 -59 -37 -137
+q-39 -83 -91 -123z" />
+    <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="1362" 
+d="M680 113q-3 -31 -27 -31q-35 0 -29 46q29 239 184 598q161 374 321 544q11 13 29 12v0q26 0 41 -20q17 -22 -2 -42q-155 -166 -322.5 -526t-194.5 -581zM1322 884q-2 -38 -32 -38q-5 0 -10 1q-142 36 -383 36q-232 0 -463 -33q-239 -33 -373 -88q-9 -4 -17 -4
+q-26 0 -26 25q0 24 29 36q153 62 411.5 103t496.5 41q206 0 335 -32q33 -8 32 -47zM1331 570q-1 -38 -32 -38q-5 0 -10 1q-142 36 -382 36q-232 0 -463 -32q-240 -34 -374 -89q-9 -3 -17 -3q-26 0 -26 25q0 24 29 35q153 63 411.5 104t497.5 41q205 0 335 -33q32 -8 31 -47z
+M281 44q-3 -31 -27 -31q-35 0 -29 46q28 240 184 598q161 374 321 544q11 13 29 13v0q26 0 41 -21q17 -22 -2 -42q-155 -166 -322.5 -526t-194.5 -581z" />
+    <glyph glyph-name="dollar" unicode="$" horiz-adv-x="547" 
+d="M457 1094q-6 0 -39 17.5t-51 19.5q-17 1 -45 -9q-35 -144 -58 -319q215 -18 215 -154q0 -85 -77 -160q-67 -65 -164 -99q2 -90 13 -153q6 -37 -22 -37q-26 0 -32 34q-10 60 -14 141q-30 -5 -56 -5q-50 0 -93 30q-50 36 -50 92q0 23 20 54q23 35 49 35q8 0 15 -2
+q-5 -35 -14 -54q-5 -11 -5 -23q0 -45 55 -45q30 0 76 12q-2 126 7 263l-83 4q-47 2 -93 19q-61 25 -61 65q0 74 100 191q96 112 203 172q21 90 47 153q9 22 38 22v0q21 0 35.5 -13t6.5 -33q-16 -40 -32 -92q10 1 21 1q29 0 72 -23q51 -27 51 -61q0 -43 -35 -43zM193 806
+q13 142 36 266q-72 -51 -123 -113q-55 -67 -55 -113q0 -41 142 -40zM296 728l-40 2q-14 -128 -17 -243q173 65 173 149q0 42 -41 68q-34 23 -75 24z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="895" 
+d="M601 940q28 -4 99 -4q25 0 44 2q66 57 123 96q12 8 27 8v0q33 0 44 -25q13 -28 -25 -58q-33 -25 -94 -73q-232 -185 -496 -516q-258 -325 -353 -543q-11 -26 -31 -26q-27 0 -27 33q0 12 6 24q88 205 308 502.5t440 506.5q-42 3 -76 11q-48 -160 -141 -181q-16 -3 -31 -3
+q-87 0 -87 103q0 62 39.5 138t72.5 76q34 0 34 -30q0 -9 -16 -30q-61 -80 -61 -149q0 -52 21 -52q66 0 111 147q-80 34 -76 98q4 56 61 56q81 0 84 -111zM396 -62q-17 -4 -31 -4q-87 0 -87 103q0 63 39.5 139t72.5 76q34 0 34 -31q0 -2 -38.5 -62t-38.5 -117q0 -51 21 -51
+q40 0 83 80q38 72 38 115q0 54 -22 54q-20 0 -51 -29l-13 8q-10 6 -10 19q0 16 33 34q28 15 41 15q79 0 81 -108q1 -51 -39 -131q-49 -96 -113 -110zM542 955q-4 45 -21 45q-11 2 -11 -2q0 -30 32 -43z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="1062" 
+d="M709 322q-57 -12 -169 -44q-66 -26 -66 -68q0 -10 14 -36.5t14 -38.5q0 -28 -27 -28q-11 0 -31 37q-30 52 -30 73q0 90 125 139q116 37 231 73q125 49 125 138q0 58 -58 92t-58 45q0 29 36 29q46 0 99 -55q58 -60 58 -125q0 -103 -86 -162q-57 -40 -177 -69zM362 -115
+q-103 13 -197 94q-105 90 -105 197q0 46 21 90q46 97 136 172q84 70 170 93q-177 81 -177 207q0 44 22 91q81 173 310 173q22 0 43 -2q55 -5 134 -50q95 -54 95 -110q1 -17 -18 -33.5t-40 -16.5q-22 0 -34 21q-66 123 -204 123q-156 0 -211 -115q-12 -27 -12 -52
+q0 -70 98 -133q5 -3 159 -81q12 -6 61.5 -6t67.5 -8q38 -15 38 -51t-44 -36q-8 0 -17 2q-72 12 -100 12q-81 -1 -88 0q-67 3 -170 -57q-114 -67 -155 -153q-18 -38 -18 -73q0 -83 91 -145q79 -55 182 -69q32 -4 63 -4v0q167 0 257 104q100 114 42 299q-2 7 -2 13v0
+q0 24 22 21q22 -4 35 -40q28 -79 28 -148v0q0 -176 -163 -269q-144 -83 -320 -60z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="284" 
+d="M106 592q-12 -9 -25 -9q-24 0 -24 23q0 17 18 32q56 43 56 169q0 25 -3 48q-3 16 21 34t48 18q38 0 38 -55q0 -59 -37 -137q-39 -83 -92 -123z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="465" 
+d="M124 509q-27 -118 -27 -245q0 -324 199 -383q14 -22 14 -40v0q0 -46 -59 -33q-128 30 -190 193q-49 130 -49 321q0 143 24 249q38 163 118 311q93 171 206 245q9 6 18 6v0q26 0 39 -32q14 -33 -4 -53q-226 -263 -289 -539z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="463" 
+d="M91 -189q-21 -14 -42 -14q-31 0 -31 22q0 10 9 20q224 262 300 589q27 118 27 245q0 324 -199 384q-14 22 -14 40v0q0 46 59 32q128 -29 190 -192q49 -130 49 -322q0 -143 -24 -248q-38 -164 -119 -312q-92 -171 -205 -244z" />
+    <glyph glyph-name="asterisk" unicode="*" 
+ />
+    <glyph glyph-name="plus" unicode="+" 
+ />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="453" 
+d="M116 -150q-44 -16 -44 21q0 22 28 32q36 14 69.5 70.5t43.5 121.5q5 32 63 32q45 0 44 -39q-2 -53 -66 -131q-67 -81 -138 -107z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="671" 
+d="M569 370q-31 10 -68 35q-27 18 -45 21q-32 6 -67 6q-66 0 -306 -69q-13 -4 -21 -3q-49 9 -42 53q6 31 145 61q104 22 173 27q72 5 115 -2q48 -9 91 -32q61 -33 53 -75z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="305" 
+d="M192 -19q-24 0 -47 16q-26 19 -26 46q0 52 54 52q78 0 78 -45q0 -69 -59 -69z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="895" 
+d="M-30 -173q-11 -26 -31 -26q-27 0 -27 33q0 12 6 24q113 261 408 632q306 385 541 544q12 8 26 8v0q30 0 45 -27q16 -29 -12 -47q-231 -156 -542 -529q-309 -369 -414 -612z" />
+    <glyph glyph-name="zero" unicode="0" horiz-adv-x="844" 
+d="M292 -168q-150 0 -255 188q-84 149 -88 273q-6 243 57 439q92 282 310 353q12 4 35 -6q27 -12 27 -33q0 -44 -74 -64q-134 -34 -224 -288q-50 -142 -50 -320q0 -135 55 -275q80 -200 232 -200q159 0 268 230q84 174 98 353q2 27 2 57q0 171 -54 300q-67 159 -188 159
+q-59 0 -91 -110q-13 -13 -26 -13q-14 0 -23 16t-5 33q13 66 72 106q49 33 100 33q141 0 229 -190q72 -156 72 -321q0 -236 -113 -453q-139 -267 -366 -267z" />
+    <glyph glyph-name="one" unicode="1" horiz-adv-x="518" 
+d="M214 956q-29 -7 -76 -77q-45 -66 -73 -66q-46 0 -46 40q0 41 99 123q96 79 135 79q28 0 52 -18q28 -21 28 -53q0 -22 -52 -210q-90 -325 -90 -603q0 -190 70 -190h85q25 0 65 -29q44 -32 44 -61l-4 -30q-32 4 -68 30q-24 16 -68 16q-90 0 -274 -92q-40 -20 -51 -20
+q-42 0 -42 43q0 46 209 127q-43 71 -43 171v123q0 227 65 504q34 143 35 193z" />
+    <glyph glyph-name="two" unicode="2" horiz-adv-x="895" 
+d="M384 288q-102 -73 -281 -211q-121 -100 -121 -147q0 -9 28 -9q49 0 233 60q190 63 277 63q58 0 118 -31q77 -38 77 -100q0 -38 -44 -72h-51q27 64 27 69q0 49 -145 49q-91 0 -206 -41l-196 -78q-64 -23 -102 -23t-72 32.5t-34 70.5q0 75 136 197q54 48 285 224
+q194 149 282 240q123 128 123 220q0 139 -158 139q-236 0 -543 -188q-62 -38 -73 -38q-55 0 -55 52q0 35 35 59q32 16 63 32q307 157 521 157q129 0 207 -57q89 -65 89 -194q0 -104 -135 -240q-89 -91 -285 -235z" />
+    <glyph glyph-name="three" unicode="3" horiz-adv-x="944" 
+d="M772 570q-64 -43 -238 -132q298 -21 298 -240q0 -153 -188 -284q-172 -121 -328 -121q-353 0 -456 266q-7 12 -7 23v0q0 24 19 30q20 7 34 -17q40 -100 145 -158q98 -54 214 -54q157 0 316 88q179 99 179 234q0 157 -329 157q-24 0 -177 -24q-30 -5 -44 -5q-39 0 -39 30
+q0 46 67 66q43 9 129 33q170 58 320 154q200 129 200 241q0 73 -75 111q-66 33 -154 27q-183 -12 -341 -82q-104 -45 -157 -93q-16 -15 -40 -15q-53 0 -53 44q0 65 194 142q200 79 391 79q322 0 322 -221q0 -146 -202 -279z" />
+    <glyph glyph-name="four" unicode="4" horiz-adv-x="906" 
+d="M689 512l8 2q12 2 22 2q116 0 176 -100l-17 -59q-65 70 -168 70q-4 0 -41 -15q-26 -167 -26 -223v-180q0 -152 53 -183q33 -19 70 -56q-61 -12 -63 -12q-86 0 -129 124q-29 87 -29 192q0 56 17 160q18 108 19 158q-121 -30 -172 -45q-97 -29 -167 -63q-60 -23 -165 -67
+q-76 -34 -94 -34q-62 0 -62 50q0 10 39 91q45 96 48 102q87 218 126 381q7 44 25 150q26 132 70 132q51 0 51 -68q0 -84 -87 -342q-84 -247 -150 -374q95 26 295 95q212 74 258 99q22 131 68 310q63 244 100 244q53 0 53 -51q0 -38 -63 -233q-57 -176 -65 -257z" />
+    <glyph glyph-name="five" unicode="5" horiz-adv-x="916" 
+d="M70 494q273 156 463 156q142 0 230 -55q99 -63 99 -185q0 -43 -13 -92q-58 -222 -307 -377q-222 -139 -429 -139q-188 0 -188 127q0 22 7 47q5 19 29 52q27 37 44 37q39 0 24 -52q-20 -14 -28 -44q-2 -11 -2 -20q0 -65 122 -65q180 0 385 135q217 143 262 315q8 30 8 59
+q0 81 -59.5 130t-151.5 49q-173 0 -495 -186q-66 -38 -83 -38q-51 0 -51 34q0 23 45 95q92 147 147 357q3 9 8 29l-14 -8q-35 -20 -55 -20q-48 0 -48 40q0 6 1 11q11 40 184 111q142 58 215 74q120 27 255 27q62 0 100 -39q33 -33 33 -75q0 -45 -36 -52q-19 -3 -27 10.5
+t-3 30.5q1 5 1 10q0 39 -99 39q-148 0 -405 -116q-50 -195 -148 -373q-14 -25 -20 -39z" />
+    <glyph glyph-name="six" unicode="6" horiz-adv-x="777" 
+d="M693 977q-10 0 -67 17q-52 16 -85 16q-84 0 -202 -130q-101 -111 -147 -216q-140 -317 -135 -489q7 -283 161 -283q70 0 170 94q88 82 131 164q94 180 91 303q-4 149 -126 149t-237 -163q-109 -155 -105 -287q1 -34 22.5 -74t21.5 -45q1 -33 -35 -33q-32 0 -58 68
+q-21 54 -22 94q-4 172 116 333q130 174 302 174q99 0 153 -69q48 -61 51 -157q5 -186 -131 -394q-149 -230 -333 -230q-66 0 -123 36.5t-81 98.5q-42 108 -42 246q0 255 121 490q75 146 194 264q152 154 287 154q45 0 96 -20q64 -26 65 -67q2 -44 -53 -44z" />
+    <glyph glyph-name="seven" unicode="7" horiz-adv-x="730" 
+d="M608 990l-8 -1q-94 -10 -333 -23q-304 -8 -304 76q0 45 53 45q29 0 82 -15t79 -16q316 -11 553 23q51 8 51 -36q0 -15 -8 -32q-20 -9 -56 -28q-71 -40 -190 -199q-91 -121 -162 -243q-184 -314 -223 -563q-6 -34 -15 -110q-24 -25 -44 -25q-48 0 -48 76q0 208 206 567
+q182 318 367 504z" />
+    <glyph glyph-name="eight" unicode="8" horiz-adv-x="832" 
+d="M538 433q111 -52 155 -108q36 -47 36 -107q0 -157 -162 -256q-133 -82 -278 -82q-230 0 -230 148q0 128 305 374q-48 21 -148 49.5t-148 50.5q-152 67 -152 158q0 97 172 212q137 91 341 168q181 69 248 69q90 0 148 -59.5t58 -148.5q0 -28 -25 -110q-32 -103 -67 -103
+q-53 0 -53 42q0 24 37.5 84.5t37.5 105.5q0 102 -127 102q-152 0 -410 -133q-275 -142 -275 -255q0 -43 284 -124q36 -10 143 -46q5 -2 11 -4q17 0 111 87q82 75 105 103q15 17 15 31v0q0 -4 -4 23q-3 15 5 32q12 13 23 13q18 0 33 -29q12 -25 12 -46q0 -70 -185 -227z
+M456 374q-23 0 -169 -144q-155 -152 -155 -205q0 -73 171 -73q85 0 212 80q144 89 144 185q0 43 -89 103q-82 54 -114 54z" />
+    <glyph glyph-name="nine" unicode="9" horiz-adv-x="762" 
+d="M537 59q-158 -294 -374 -294q-42 0 -103 29q-77 37 -77 86q0 30 24 30q16 0 30 -13q66 -62 117 -62q215 0 350 367q99 270 99 463q0 103 -29 202q-50 162 -157 162q-36 0 -133 -72q-102 -76 -160 -226q-50 -132 -50 -275q0 -183 120 -183q121 0 225 167q95 153 95 296
+q0 93 -52 118q-16 7 -16 22v0q0 16 18 30t31 8q59 -29 78 -94q11 -40 11 -133q0 -136 -107 -297q-125 -189 -290 -189q-5 0 -16 4l-3 1q-105 0 -156 119q-34 81 -34 175q0 172 129 377q142 225 298 225q154 0 224 -173q52 -125 52 -312q0 -33 -2 -64q-16 -258 -142 -494z
+" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="299" 
+d="M251 408q-24 0 -47 17q-26 19 -26 45q0 52 53 52q79 0 79 -45q0 -69 -59 -69zM187 -60q-25 0 -47 17q-26 19 -26 45q0 52 53 52q78 0 78 -44q0 -70 -58 -70z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="446" 
+d="M340 430q-24 0 -47 17q-26 18 -26 45q0 52 53 52q79 0 79 -45q0 -69 -59 -69zM109 -190q-45 -17 -45 21q0 21 29 32q35 14 69 70.5t44 121.5q5 32 63 32q44 0 43 -39q-2 -53 -66 -131q-67 -81 -137 -107z" />
+    <glyph glyph-name="less" unicode="&#x3c;" 
+ />
+    <glyph glyph-name="equal" unicode="=" 
+ />
+    <glyph glyph-name="greater" unicode="&#x3e;" 
+ />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="855" 
+d="M619 580q-48 -38 -162 -119q-213 -151 -213 -220q0 -33 31 -37q54 -7 54 -33q0 -39 -48 -39q-49 0 -80.5 35.5t-31.5 82.5q0 82 148 207q138 106 275 212q148 120 148 193q0 134 -203 134q-108 0 -246 -67q-92 -44 -207 -124q-96 -67 -101 -67q-44 0 -44 48q0 51 168 147
+q144 83 216 103q109 30 216 30q279 0 279 -208q0 -120 -199 -278zM254 -135q-62 0 -62 46q0 56 65 56q67 0 67 -52q0 -17 -28 -34q-24 -16 -42 -16z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="1024" 
+d="M543 -19q-192 0 -342 114q-167 127 -167 323q0 179 154 324q150 142 324 142q117 0 218 -76q111 -85 136 -221q5 -32 5 -65v0q0 -135 -72 -225q-78 -98 -188 -59q-63 23 -62 148q-176 -219 -278 -219q-56 0 -56 68q0 128 169.5 327.5t250.5 146.5q26 -17 26 -67
+q0 -63 -44 -67q-19 -2 -29 9.5t-4 24.5q11 27 10 48q0 6 5 7q-57 -11 -192.5 -185t-135.5 -237q0 -21 19 -21q44 0 158 138q38 44 75 89q45 59 50 103q4 32 37 32q45 0 37 -43q-32 -161 -32 -193q0 -55 24 -62q10 -2 19 -2v0q66 0 109.5 95t21.5 204q-23 116 -104 183
+q-75 61 -173 61q-149 0 -277.5 -126.5t-128.5 -281.5q0 -167 137 -277q128 -102 300 -102q140 0 235.5 75t95.5 186q0 40 -14 80q-2 7 -2 13v0q0 21 17 24q18 4 28 -18q32 -67 32 -129q0 -129 -126 -212q-114 -77 -266 -77z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="1123" 
+d="M988 -123q-181 1 -237 544q-19 2 -45 2q-92 0 -279 -43q-173 -39 -178 -51q-34 -84 -107 -252q-30 -78 -81 -206q-39 -96 -85 -96q-52 0 -52 58q0 25 158 334q40 79 57 119q-54 -21 -94 -48q-17 -11 -41 -11q-49 0 -49 50q0 35 98 71q65 21 130 43q24 52 57 121
+q57 128 178 379q121 234 234 234q53 0 93 -68q26 -45 37 -94q29 -133 51 -457q196 -17 196 -137q0 -43 -35 -61q-45 -22 -45 29q0 5 10 32q0 54 -130 54q12 0 16 -23q65 -454 141 -454q16 0 31 11q21 17 28.5 20t14.5 3v0q36 2 36 -41q0 -28 -44 -47q-35 -16 -64 -15z
+M714 826q-33 217 -83 217t-183 -280q-46 -97 -146 -333q240 69 443 84q-7 99 -31 312z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="1171" 
+d="M426 -141q-217 -29 -254 -29q-202 0 -202 136q0 86 69 129q30 0 35 -5q2 -2 12 -34q-44 -50 -44 -90q0 -46 132 -46q198 0 432 98q114 47 257 169q163 138 163 221q0 103 -203 103q-149 0 -302 -55q-7 -3 -123 -54q-92 -41 -112 -41q-58 0 -58 21q0 29 92 82
+q483 274 483 473q0 48 -55 76q-48 24 -115 24q-285 0 -623 -314q-70 -65 -86 -65q-49 0 -49 54q0 38 122 135q329 261 625 261q279 0 279 -192q0 -131 -238 -330q75 14 153 14q97 0 180 -40q108 -53 108 -150q0 -167 -263 -357q-236 -170 -415 -194zM240 752
+q-100 -191 -100 -532q0 -145 104 -175q16 -16 16 -30q0 -30 -47 -30q-74 0 -121 115q-37 90 -37 172q0 106 45 326q53 262 108 262q50 0 50 -52q0 -23 -18 -56z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="849" 
+d="M694 69q-77 -100 -194 -167q-127 -72 -247 -72q-138 0 -230 116q-84 105 -84 242v73q0 149 95 358q100 218 243 362q165 166 327 166q37 0 90 -26q63 -31 63 -67q0 -25 -20 -42.5t-43 -17.5q-5 0 -55 23t-84 23q-165 0 -352 -308q-174 -288 -174 -482q0 -137 43 -227
+q54 -113 164 -113q93 0 215 71q181 105 311 350q21 40 45 40q23 0 33 -42q-5 -31 -66 -135q-53 -91 -80 -125z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="1184" 
+d="M491 -149q-100 0 -142 33q-9 7 -9 17q0 14 13.5 25.5t26.5 8.5q69 -14 70 -14q218 0 418 219q196 215 196 435q0 180 -146 290q-135 102 -328 102q-131 0 -277 -42q-151 -43 -253 -113t-115 -70q-58 0 -58 54q0 35 89 86q288 168 618 168q213 0 376 -125
+q179 -137 179 -347q0 -255 -197 -485q-206 -242 -461 -242zM292 -144q-102 0 -156 201q-39 141 -39 278v134q0 71 26 207q31 166 67 166q54 0 54 -59q0 -29 -12 -73q-16 -62 -18 -71q-29 -157 -29 -286q0 -424 148 -424q19 0 40 7q-45 -80 -81 -80z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="970" 
+d="M759 900q-15 -1 -21 10t-5 24q2 13 2 24q0 36 -25 48q-20 9 -80 9q-162 0 -457 -104q-13 -5 -107 -68.5t-106 -63.5q-53 0 -53 53q0 46 214 138q147 63 280 105q45 14 217 37q17 2 35 2q67 0 114 -27q51 -32 51 -85q0 -36 -25 -78q-14 -24 -34 -24zM207 510q23 5 125 40
+q78 26 125 26q149 0 172 -71l-9 -46q-40 -3 -61 25q-12 18 -71 18q-46 0 -156 -27q-123 -30 -130 -54q-12 -47 -8 -150l8 -160q2 -74 14 -106q22 -53 85 -53q66 0 212 38q152 40 233 40q67 0 122 -41q62 -48 62 -124l-44 -25q-47 106 -171 106q-73 0 -214 -35.5t-214 -35.5
+q-113 0 -153 78q-27 51 -27 163q0 45 5 129q5 89 6 129q-51 -29 -67 -29q-44 0 -44 57q0 33 114 85q5 74 21 243q25 212 81 212q54 0 54 -64q0 2 -25 -107q-21 -94 -45 -261z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="648" 
+d="M867 935q-26 14 -26 51q0 59 -160 59q-76 0 -228 -38q-140 -36 -226 -72q-17 -8 -130 -72l-75 -42q-31 -18 -47 -22q-49 0 -49 51q0 52 105 93q484 192 670 192q74 0 132 -26q78 -36 78 -105q0 -60 -44 -69zM164 480q18 1 75 16q70 17 114 17q48 0 95 -15q66 -22 66 -65
+l-25 -27q-32 4 -73 23q-29 13 -48 13q-40 0 -114 -12q-94 -15 -94 -34q0 -546 123 -526q7 1 11 1q43 0 43 -35q0 -16 -22 -28q-17 -10 -33 -10q-208 0 -211 550l-14 -7q-59 -32 -65 -32q-50 0 -50 44q0 42 50 66l86 30q10 62 18 158q16 177 17 185q24 140 80 140
+q46 0 46 -51q0 -10 -13 -63q-35 -140 -41 -168q-20 -96 -21 -170z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="1091" 
+d="M971 -267q-150 0 -150 276q0 90 32 269q-125 -217 -233 -306q-148 -125 -368 -125q-153 0 -240 159q-70 128 -70 283q0 289 182 586q207 339 487 339q41 0 90 -24q59 -28 59 -66q0 -21 -14.5 -38t-32.5 -17q-9 0 -16 4q-63 38 -125 38q-106 0 -225 -117
+q-140 -137 -228 -332q-90 -201 -90 -390q0 -122 55 -227q65 -123 166 -123q221 0 437 273q195 248 215 464q6 71 -23 71q-37 0 -376 -205q-69 -42 -84 -42q-47 0 -47 49q0 53 235 167q223 108 285 108q101 0 101 -121q0 -37 -11 -93q-5 -27 -14 -72q-51 -364 -51 -550
+q0 -170 58 -163q51 7 51 -33q0 -42 -55 -42z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="1270" 
+d="M254 509q223 70 351 83q216 20 217 20q15 0 44 -3q35 -3 45 -3q16 150 60 316q59 219 116 219q44 0 44 -59q0 -28 -10 -63q-22 -54 -48 -128l-40 -148q-21 -86 -24 -151q61 -28 83 -47q39 -33 39 -86q0 -28 -19 -52t-40 -24q-25 0 -33 39l20 42q-7 31 -58 43
+q-8 -28 0 -166q6 -109 10 -148q27 -216 98 -216q19 0 34 20h47q8 -32 8 -35q0 -25 -34 -43q-29 -17 -55 -17q-144 0 -187 255q-11 63 -21 360q-36 5 -135 5q-166 0 -514 -99q-9 -124 -54 -341q-58 -276 -206 -276q-24 0 -56 18q-41 22 -41 54q0 3 9 33h41q22 -33 40 -33
+q92 0 141 231q29 135 35 280q-88 -45 -118 -45q-43 0 -43 46q0 37 58 61q13 5 90 26q7 -2 13 -3q4 78 3 108q-2 39 -7 209q-3 105 -44 267q-7 29 -7 50q0 63 56 63q42 0 70 -201q21 -150 21 -253q0 10 -1 -46v-79q1 -53 1 -74z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="737" 
+d="M657 1080q-18 50 -155 50q-143 0 -283 -51q-155 -56 -236 -104q-7 -4 -14 -4q-40 0 -40 46q0 60 242 128q212 60 303 60q68 0 148 -26q104 -34 104 -88q0 -53 -25 -53q-29 0 -44 42zM719 -109q-9 -5 -45 -5q-15 86 -171 86q-179 0 -419 -104q-49 -21 -60 -21
+q-52 0 -52 53q0 58 325 125q-80 104 -80 419q0 215 31 437q4 64 20 187q4 17 21 38q21 25 44 25q58 0 47 -71q-76 -476 -76 -660q0 -85 8 -164q20 -192 85 -192q12 0 37.5 2.5t37.5 2.5q83 0 158 -24q104 -34 104 -99q0 -25 -15 -35z" />
+    <glyph glyph-name="J" unicode="J" horiz-adv-x="704" 
+d="M733 1082q-27 -34 -52 -2q1 9 1 17q0 51 -48 67q-24 8 -87 8q-146 0 -429 -121q-49 -22 -58 -22q-53 0 -53 43q0 63 251 123q212 51 317 51q58 0 109 -29q64 -37 64 -100q0 -14 -15 -35zM325 -173q-54 -122 -150 -221q-118 -122 -236 -130q-76 -5 -74 -5q-101 0 -201 80
+q-106 85 -108 189q-2 60 36 60q20 0 26 -36q12 -81 79.5 -141t148.5 -60q276 0 414 328q103 247 103 585q0 288 -46 601q-4 25 11 52q19 31 52 31q41 0 54 -41q4 -15 6 -72q8 -195 8 -338q0 -601 -123 -882z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="768" 
+d="M702 -79q-142 7 -360 272q-53 66 -157 185q-81 85 -154 103l-6 43q31 24 46 26q22 0 44 1q99 11 238 120q119 93 199 196q5 8 25 43q102 180 132 178q19 -1 33 -21.5t13 -34.5q-3 -49 -131 -221q-56 -77 -176 -170q-133 -103 -241 -142q16 -14 120 -152q85 -114 189 -213
+q143 -137 226 -141q18 -1 43 11q17 10 71 35l20 -33q-3 -42 -72 -68q-56 -20 -102 -17zM144 -148q-103 0 -162 132q-42 94 -52 219q-3 37 -3 100q0 257 33 502q40 304 106 304q55 0 51 -61q-102 -260 -102 -641q0 -64 3 -172q1 -64 34 -177q40 -135 83 -135q39 1 66 -17
+q-6 -54 -57 -54z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="909" 
+d="M906 -131l2 39q8 103 -247 103q-203 0 -442 -82q-6 -3 -130 -52q-104 -42 -116 -42q-53 0 -53 50q0 26 107 81q19 10 23 13q119 92 119 439q0 195 -8 289q-23 286 -23 271q0 62 35 109q40 54 105 54q55 0 147 -68q98 -72 98 -130q0 -50 -50 -50q-36 0 -91.5 89t-112.5 89
+q-38 0 -33 -114q18 -397 18 -398v-305q0 -131 -66 -249q277 101 490 101q89 0 184 -50q115 -59 115 -144q0 -44 -71 -43z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="1701" 
+d="M1568 -165q-84 0 -125 79q-71 138 -85 844q-7 337 -89 337q-78 0 -198 -290q-66 -158 -128 -378q-80 -279 -74 -413q2 -35 -12 -69q-17 -44 -50 -44q-21 0 -37 24q-12 20 -12 37q0 62 9 187t9 188q0 203 -14 343q-26 262 -84 262q-56 0 -154 -221q-177 -406 -213 -634
+q-4 -63 -21 -182q-11 -50 -64 -50t-53 60q0 -5 17 141q37 332 37 717q0 180 -48 180q-34 0 -97 -74q-42 -55 -84 -109q-49 -61 -73 -61q-52 0 -52 57q0 48 139 158q136 108 183 108q93 0 117 -162q8 -50 8 -229q0 -58 -9 -235q209 616 380 616q117 0 150 -256
+q13 -96 13 -352q27 122 44 186q46 173 135 338q126 234 245 234q144 0 162 -309l23 -403q17 -301 18 -307q28 -244 98 -244q17 0 40.5 25t37.5 25q9 0 18 -7q22 -15 14 -46q-8 -29 -55 -52q-40 -19 -66 -19z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="1121" 
+d="M982 -65q-107 0 -157 190q-30 115 -49 383q-8 137 -34 377q-25 156 -72 156q-34 0 -140 -272q-115 -298 -149 -409q-71 -236 -70 -428q1 -75 -57 -75q-55 0 -55 70q0 62 13 188.5t13 189.5q0 70 7.5 210t7.5 210q0 198 -43 198q-53 0 -202 -181q-33 -41 -43 -46
+q-6 -3 -12 -3q-17 0 -31 20q-13 17 -13 34q0 54 135 158q130 100 184 100q115 0 114 -163l-5 -397q35 107 109 321q131 346 263 346q90 0 124 -140q8 -34 25 -208q6 -121 34 -420q41 -329 105 -329q9 0 43 25q12 9 32 14l33 -16q-2 -42 -44 -75q-36 -28 -66 -28z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="937" 
+d="M278 -133q-183 0 -268 151q-66 116 -66 302q0 120 41 251q29 83 59 166q-7 198 132 339q135 138 315 125q161 -11 266 -189q90 -152 90 -314q0 -285 -135 -532q-164 -299 -434 -299zM465 1123q-120 10 -227.5 -93t-113.5 -224q-2 32 33 73.5t64 41.5q19 0 34 -16t15 -34
+q0 -28 -66.5 -106t-66.5 -88q0 -7 20.5 -25t29.5 -18q29 3 35.5 4.5t12.5 1.5q21 0 21 -20q0 -51 -62 -51q-56 0 -94 34q-65 -153 -65 -287q0 -142 51 -244q63 -126 179 -126q232 0 369 262q115 218 115 483q0 145 -71 273q-83 147 -213 159z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="1142" 
+d="M447 357q-53 0 -99 27q-58 33 -58 91q0 30 22 53h46q-4 -83 66 -83q198 0 401 161q211 168 211 356q0 120 -110 183q-92 53 -232 53q-184 0 -371 -104q-117 -64 -315 -226q-37 -30 -48 -30q-21 0 -41.5 18t-20.5 41q0 17 55 67q44 40 73 60q214 141 324 185
+q160 64 379 64q184 0 289 -99t103 -258q-1 -150 -158 -313q-144 -149 -295.5 -197.5t-220.5 -48.5zM346 -174q-133 0 -191 165q-39 110 -39 266q0 29 -4 87t-4 87q0 286 23 461q10 81 60 81q54 0 54 -56q0 -33 -12 -84q-15 -68 -17 -84q-25 -182 -25 -342q0 -506 161 -506
+q8 0 16 1l31 -30q-14 -46 -53 -46z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="937" 
+d="M544 -36q85 -52 159 -52q36 0 39 6q0 -1 0 3q0 26 3 36q6 17 23 30q51 -18 51 -65q0 -43 -49 -74q-40 -26 -78 -26q-67 0 -197 86l-19 12q-92 -49 -198 -49q-183 0 -268 151q-66 116 -66 302q0 120 41 251q29 83 59 166q-7 198 132 339q135 138 315 126q161 -11 266 -189
+q90 -152 90 -315q0 -196 -73 -395q-84 -229 -230 -343zM465 1127q-120 10 -227.5 -93t-113.5 -223q-2 31 33 73t64 42q19 0 34 -16.5t15 -33.5q0 -29 -66.5 -107t-66.5 -88q0 -7 20.5 -25t29.5 -18q29 3 35.5 4.5t12.5 1.5q21 0 21 -20q0 -51 -62 -51q-56 0 -94 35
+q-65 -154 -65 -287q0 -142 51 -245q63 -126 179 -126q68 0 129 24q-97 60 -182 60q-75 0 -75 47q0 50 79 50q93 0 254 -116q135 93 212 306q67 184 67 374q0 145 -71 273q-83 147 -213 159z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="1111" 
+d="M944 -134q-172 0 -356 256q-52 72 -125 150q-79 84 -105 91q-85 23 -78 67q4 31 62 31q43 0 74 -13q199 19 394 174q206 164 219 342q9 120 -85 179q-79 50 -217 50q-292 0 -696 -295q-80 -59 -86 -59q-19 0 -41 16.5t-22 34.5q0 11 9 20q135 133 385 242
+q262 114 459 114q179 0 278 -85t99 -230q0 -17 -2 -36q-12 -149 -181 -312q-154 -148 -308 -196q-40 -13 -118 -35q24 -34 73 -100q102 -134 238 -255q86 -76 169 -76q19 0 45 13q17 11 72 39l20 -33q-5 -43 -74 -71q-55 -23 -102 -23zM367 -177q-209 0 -204 435
+q3 316 67 632q17 80 65 80q50 0 50 -56q0 -28 -17 -88q-9 -27 -23 -81q-34 -159 -48 -346q-7 -89 -7 -162q0 -339 126 -339q8 0 17 1l29 -30q-17 -46 -55 -46z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="847" 
+d="M749 881q-18 0 -35.5 18t-14.5 37q10 75 10 73q0 93 -65 93q-119 0 -366 -204q-250 -208 -250 -321q0 -48 98 -78q47 -15 250 -50q178 -31 259 -70q128 -61 128 -173q0 -132 -151 -248q-142 -109 -274 -109h-45q-85 0 -161 52q-87 59 -87 146q0 23 14 62q17 46 35 46
+q36 0 36 -35q0 -14 -6.5 -36t-6.5 -26q0 -52 53 -85q47 -29 113 -29q134 0 255 79q133 87 133 206q0 64 -108 100q-55 18 -242 48q-87 13 -257 54q-132 45 -132 128q0 206 278 425q261 205 450 205q155 0 155 -193q0 -30 -18 -69q-20 -46 -48 -46z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="870" 
+d="M985 968q-19 -13 -30 -13q-22 0 -16 39q15 38 15 43q0 81 -286 81q-193 0 -453 -111q-62 -31 -173 -85q-83 -38 -106 -38q-54 0 -54 48q0 49 235 136q171 63 294 93q157 39 302 39q97 0 187 -28q128 -39 128 -116q0 -60 -43 -88zM618 -148q-19 -18 -45 -18
+q-123 0 -183 210q-41 143 -41 305v168q0 1 25 414q9 140 76 141q53 1 53 -60q0 -33 -17 -90q-20 -73 -23 -90q-39 -218 -19 -509q5 -85 30 -254q21 -85 41 -118q31 -49 90 -54q25 -3 25 -21q0 -15 -12 -24z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="1021" 
+d="M701 562q-79 -229 -230 -454q-182 -271 -319 -271q-62 0 -95 49q-27 41 -27 98q0 119 71 379q55 189 110 377q58 207 58 272q0 39 -27 39q-36 0 -118 -86q-21 -29 -67 -83q-39 -40 -58 -40q-30 0 -51 45q3 43 95 120q74 63 140 98q42 23 89 23q43 0 69 -52q20 -40 20 -83
+q0 -127 -123 -501q-110 -333 -110 -496q0 -85 18 -85q159 0 449 616q45 96 92 265q14 37 30 114q5 103 10 132q18 90 69 90q53 0 53 -59q0 -26 -12 -73q-16 -66 -17 -73q-15 -82 -23 -151q-9 -81 -9 -298q0 1 19 -286q15 -215 89 -215q33 0 49 51q7 24 26 24q31 0 31 -47
+q1 -41 -30.5 -69.5t-70.5 -28.5q-124 0 -175 236q-29 138 -29 326q0 39 4 97z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="1040" 
+d="M959 820q-119 -313 -175 -540q-42 -172 -98 -365q-19 -65 -104 -65q-87 0 -155 250q-20 71 -68 327q-102 545 -181 545q-47 0 -127 -114t-110 -114q-48 0 -48 48q0 41 102 135q94 87 135 102q48 18 82 18q89 0 151 -188q38 -116 82 -380q12 -85 49 -298q47 -232 77 -232
+q36 0 72 154q67 289 162 579q146 448 232 448v0q21 0 41.5 -21t9.5 -38q-75 -108 -129 -251z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="1560" 
+d="M373 183q91 260 200 477q141 281 217 281q64 0 64 -65q0 -19 -16 -46q-4 -30 -4 -79q0 -245 70 -514q85 -323 205 -323q135 0 223 310q68 239 68 428q0 193 -40 336q-61 217 -197 217q-42 0 -90 -51q-29 0 -33 2t-18 26q4 42 73 73q56 25 97 25q137 0 227 -177
+q71 -140 79 -288q1 -23 1 -49q0 -293 -90 -576q-113 -353 -296 -353q-191 0 -293 396q-71 279 -71 556q0 5 2 16q-41 -38 -196 -376q-91 -200 -151 -434q-10 -41 -13 -73q-9 -101 -50 -112q-11 -2 -21 -2q-55 0 -51 64q21 275 21 274q0 333 -7 431q-24 331 -104 331
+q-44 0 -114 -94q-47 -68 -94 -137q-40 -54 -77 -57l-40 29q3 75 133 206.5t199 131.5q132 0 175 -221q20 -106 20 -320q0 -85 -8 -263z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="1017" 
+d="M343 506q-146 -202 -200 -292q-121 -201 -121 -319q0 -21 37 -67l-24 -35q-49 6 -83 69q-27 50 -27 88q0 79 96 241q65 109 179 262q96 130 96 132q0 15 -124 219l-160 258q-56 95 -56 115q0 58 57 58q34 0 61 -45q1 -1 78 -156q66 -132 95 -188q56 -103 109 -179
+q79 94 264 311q241 280 288 280q17 0 35 -15.5t18 -34.5q0 -22 -14 -37q-148 -152 -296 -303q-244 -252 -244 -281q0 -22 151 -223q188 -251 303 -251q27 0 50.5 28t40.5 28q34 0 34 -37q0 -48 -60 -79q-48 -24 -97 -24q-134 0 -278 183z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="910" 
+d="M717 -571q-166 -264 -440 -264q-104 0 -199 85q-92 82 -131 200q-4 25 -3 36q5 32 32 18q15 -7 42 -50q122 -199 252 -199q285 0 451 393q113 267 136 577q18 236 18 354q0 184 -36 377q-15 -45 -67 -219q-85 -282 -257 -545q-177 -273 -311 -273q-126 0 -126 163
+q0 102 80 377q46 150 117 398q36 140 36 200q0 78 -32 78q-34 0 -166.5 -122t-151.5 -122q-45 0 -45 50q0 47 158 162t222 115q113 0 113 -128q0 -117 -79 -389q-61 -202 -121 -405q-36 -142 -36 -212q0 -93 42 -93q69 0 249 307q313 534 325 817q0 21 -1 53q-1 41 -1 52
+q0 59 49 59q56 0 98 -301q31 -221 31 -307q0 -401 -37 -639q-55 -355 -211 -603z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="974" 
+d="M1131 916q-14 -21 -33 -21q-27 0 -21 33q16 98 16 86q0 59 -165 59q-109 0 -300 -44q-116 -27 -405 -108q-75 -21 -103 -21q-55 0 -55 56q0 30 52 50q85 31 218 55q217 38 221 39q241 52 379 52q82 0 144 -30q81 -40 81 -116q0 -47 -29 -90zM1095 -153q-16 -18 -33 -18
+q-27 0 -27 34q0 12 6 25q8 20 8 50q0 66 -82 109q-72 37 -157 37q-140 0 -297 -46q-46 -14 -283 -100q-206 -75 -229 -75q-87 0 -87 100q0 79 130 220q79 86 185 184q97 91 423 365q363 306 387 306q18 0 37.5 -15.5t19.5 -36.5t-180 -164q-917 -731 -917 -840q0 -14 25 -14
+q6 0 75 22q129 42 389 122q221 64 347 64q104 0 191 -60q98 -69 98 -174q0 -37 -29 -95z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="737" 
+d="M668 1225q-18 50 -155 50q-142 0 -283 -51q-39 -15 -62 -10q-33 6 -28 37q9 45 84 63q157 38 261 35q82 -1 156 -26q97 -33 97 -87q0 -53 -25 -53q-29 0 -45 42zM720 -151q-9 -5 -46 -5q-15 86 -170 86q-57 0 -140 -18q-11 -3 -22 -3q-55 0 -55 43q0 16 14 28
+q-78 104 -78 480q0 307 37 565q3 64 20 188q3 17 21 38q21 25 43 25q59 0 47 -71l-44 -281q-42 -275 -42 -570q0 -352 92 -352q13 0 38 2.5t38 2.5q83 0 157 -24q104 -34 104 -99q0 -25 -14 -35z" />
+    <glyph glyph-name="backslash" unicode="\" 
+ />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="737" 
+d="M223 1282q-165 -6 -257 -26q-40 -9 -40 43q0 7 2 14q16 51 285 51q284 0 311 -79q13 -38 -28 -38q-11 0 -25 4q-124 35 -248 31zM359 -82q-162 -35 -280 -85q-49 -22 -60 -22q-51 0 -51 53q0 58 325 126q-70 99 -70 427q0 283 45 633q4 64 20 187q4 18 21 38q21 25 43 25
+q59 0 48 -70l-45 -281q-52 -350 -52 -626q0 -315 89 -315q37 0 37 -34q0 -41 -70 -56z" />
+    <glyph glyph-name="asciicircum" unicode="^" 
+ />
+    <glyph glyph-name="underscore" unicode="_" 
+ />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="626" 
+d="M442 786q-13 -22 -45 -10q-124 48 -165 67q-119 53 -142 91q-7 11 -7 21v0q0 29 41 43q40 13 54 -4q63 -79 245 -167q35 -16 19 -41z" />
+    <glyph glyph-name="a" unicode="a" horiz-adv-x="734" 
+d="M598 -11q-95 34 -95 222q0 20 1 41q-99 -132 -218 -241q-153 -140 -241 -140q-29 0 -50 16q-36 27 -36 88v0q0 125 134 337q130 203 284 334q168 143 249 90q38 -24 38 -101q0 -92 -63 -98q-44 -3 -44 31q0 5 2 9q19 47 18 84q0 22 -5 21q-99 -18 -320.5 -305.5
+t-221.5 -396.5q0 -38 34 -38q87 0 273 225q129 156 141 173q57 79 65 145q5 45 48 45v0q61 0 49 -59q-49 -257 -49 -313q0 -102 45 -114q16 -4 34 6q15 9 17 18q10 43 50 43q24 0 24 -26q0 -11 -6 -27q-31 -78 -112 -78q-22 0 -45 9z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="854" 
+d="M47 107q102 172 253 304q183 160 341 160q52 0 100 -29q63 -39 63 -105q0 -157 -227 -381t-375 -224q-122 0 -122 91q0 50 48 100q12 12 32 12q22 0 22 -16q0 -12 -13 -31q-27 -39 -27 -55q0 -26 38 -26q125 0 337 213q210 210 210 323q0 61 -82 61q-198 0 -491 -384
+l-3 -4l-8 -14q-63 -106 -94 -106q-66 0 -86 91q-7 38 -7 142q0 174 92 532q95 368 150 368q17 0 38 -14q25 -16 25 -38q0 -6 -3 -13q-102 -260 -119 -313q-104 -318 -104 -554q0 -49 12 -90z" />
+    <glyph glyph-name="c" unicode="c" horiz-adv-x="676" 
+d="M540 588q-23 0 -57 36t-68 36q-123 0 -251 -227q-113 -201 -113 -314q0 -126 106 -126q105 0 208 69q95 64 163 169q6 11 16 11q12 0 23 -16t8 -26q-8 -32 -112 -134q-95 -93 -116 -104q-99 -54 -124 -54q-3 0 -26 -2.5t-25 -2.5q-104 0 -157 75q-44 62 -44 155
+q0 147 132 358q152 243 322 244q29 0 85 -25q73 -32 76 -78q2 -20 -15.5 -32t-30.5 -12z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="863" 
+d="M582 312l-37 -46q-321 -407 -467 -407h-20q-100 0 -100 102q0 84 89 258q94 187 214 316q143 153 263 153q46 0 94 -34q20 110 59 318q37 201 83 201q18 0 36.5 -16t18.5 -37q0 -5 -25 -88q-127 -434 -127 -833q0 -230 69 -230q4 2 15 8.5t43 21.5q17 -17 17 -34
+q0 -23 -31 -42q-27 -17 -51 -17q-145 0 -145 334q0 30 2 72zM535 619q-112 20 -315 -268q-192 -273 -192 -387q0 -28 22 -28q87 0 295 209q187 189 223 270q22 49 22 111q0 31 -16.5 59.5t-38.5 33.5z" />
+    <glyph glyph-name="e" unicode="e" horiz-adv-x="626" 
+d="M102 291q-18 -16 -38.5 -97t-20.5 -141q0 -78 103 -78q99 0 232 115q129 112 179 231h32q19 -18 13 -34q-58 -168 -194 -279q-129 -107 -259 -107q-96 0 -145 66q-48 63 -42 170q8 150 160 372q163 238 297 238q45 0 69 -42q18 -31 18 -65q0 -98 -83 -225
+q-98 -153 -225 -153q-60 0 -92 26zM407 677q-38 -9 -69 -46q-208 -244 -208 -284q0 -11 46 -14q78 -4 170 112q90 113 90 202q0 38 -29 30z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="496" 
+d="M564 877q-21 7 -27 38q-3 26 -6 51q-5 42 -35 85q-33 49 -70 49q-104 0 -161 -251q-29 -127 -45 -390q12 2 55 12q35 8 56 8q88 0 116 -67q5 -12 5 -25v0q0 -22 -14 -27q-15 -5 -37 20q-29 34 -71 34q-30 0 -70 -14t-51 -30q-6 -10 -6 -55q0 -61 14.5 -216.5t14.5 -178.5
+q0 -66 -54 -66q-53 0 -47 71q1 17 1 15q0 48 -9 401q-32 -16 -104 -59q-26 -16 -34 -16q-35 0 -35 50q0 16 8 23q26 24 153 82l19 9q30 340 55 438q74 298 256 298q64 0 113 -71q44 -63 44 -127q0 -77 -34 -91z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="770" 
+d="M270 -701q-126 0 -229.5 115t-103.5 243q0 58 39 58q28 0 28 -34q-3 -114 75 -205.5t174 -91.5q198 0 293 293q61 187 61 373q0 372 -66 372q-4 0 -46 -64q-125 -189 -173 -245q-128 -149 -235 -149q-57 0 -89 43q-28 37 -28 90q0 168 213.5 434.5t348.5 266.5
+q57 0 89 -61q26 -46 26 -94q0 -84 -46 -84q-56 0 -48 101q4 63 -23 63q-74 0 -201 -145q-93 -106 -147 -198q-41 -48 -84 -135q-51 -102 -51 -163q0 -43 15 -43q73 0 190 126q43 46 191 233q99 126 128 126q67 0 102 -198q23 -134 23 -262q0 -319 -126 -542t-300 -223z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="694" 
+d="M73 193l9 21q160 394 294 394q112 0 141 -327q5 -78 23 -213q16 -83 44 -83q24 0 43.5 17.5t27.5 17.5q29 0 29 -29q0 -27 -42 -50q-36 -19 -59 -19q-123 0 -155 325q-6 77 -23 211q-14 82 -36 82q-58 0 -149 -184q-123 -247 -142 -464q-1 -13 -18.5 -28t-34.5 -15
+q-16 0 -23 16q-15 38 -15 256q0 208 65 602q70 432 129 432q50 0 50 -49q0 -1 -35 -110q-37 -116 -53 -204q-63 -364 -70 -599z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="315" 
+d="M123 869q-22 0 -37.5 19t-15.5 36q0 20 15.5 40t39.5 20q52 0 52 -57q0 -58 -54 -58zM183 -119q-95 0 -145 148q-35 102 -35 199q0 89 22 219q33 188 90 188q45 0 45 -52q0 -24 -28 -90q-29 -72 -42 -245q2 -82 0 -98l26 -124q26 -82 77 -82q12 0 16 4q14 19 39 31
+q21 -18 21 -34q0 -27 -35 -47q-28 -17 -51 -17z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="368" 
+d="M213 787q-56 0 -56 48q0 41 43 41q59 0 59 -36q0 -53 -46 -53zM-157 -717q-144 0 -246 98t-102 243q0 48 34 48q35 0 32 -38q-7 -101 69.5 -187t176.5 -86q215 0 316 333q64 210 64 429q0 276 -49 461q-6 21 5 49q13 37 50 37q77 0 77 -463q0 -160 -7 -227
+q-26 -257 -137 -463q-125 -234 -283 -234z" />
+    <glyph glyph-name="k" unicode="k" horiz-adv-x="708" 
+d="M644 -153l-17 4l2 -2q-16 8 -16 23q0 9 9 29.5t9 35.5q0 139 -184 209q-127 48 -259 48q-2 0 -33 -1t-37 -1q-44 0 -44 65q0 6 63 68q73 71 135 153q73 97 134 252q21 52 48 52q52 0 52 -60q0 -116 -305 -435q218 -41 314 -87q178 -85 178 -243q0 -19 -12 -56
+q-16 -49 -37 -54zM155 -144q-119 27 -162 200q-24 94 -27 281q-1 82 50 424q62 412 121 412q10 0 30 -16q23 -19 23 -39q0 -5 -2 -10q-134 -387 -134 -761q0 -201 44 -348q21 -69 51 -77q44 -12 44 -35q0 -12 -12.5 -23t-25.5 -8z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="335" 
+d="M6 235q-1 42 -1 93q0 261 30 528q34 296 76 296q52 0 52 -57q-1 -9 -6 -35l-12 -71q-19 -106 -26 -163q-28 -238 -28 -540q0 -365 128 -365q23 0 35 18h23l18 -18v2l1 -3q2 -8 2 -19q-34 -43 -86 -43q-77 0 -133 88q-65 102 -73 289z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="1200" 
+d="M1063 -33q-86 0 -141 125q-43 97 -43 177q0 -19 2 97q2 76 -2 118q-5 58 -20 58q-3 0 -51 -76q-163 -254 -176 -272q-136 -188 -213 -188t-84 167q-2 46 9 291q2 55 -9 55q-32 0 -168 -247q-139 -251 -148 -343q-3 -37 -46 -37q-20 0 -36 64q-11 49 -11 73q0 183 8 315
+q8 122 31 207q24 92 55 92q22 0 40.5 -16t14.5 -31q-59 -213 -61 -438q108 194 150 259q122 187 191 187q83 0 79 -197q-1 -21 -6 -95q-5 -68 -5 -108q0 -77 15 -117q36 11 125 130q73 100 124 186q132 228 192 228t76 -115q5 -71 15 -218q18 -267 94 -269q29 -1 51.5 29.5
+t36.5 30.5q28 0 28 -30q0 -41 -50 -70q-39 -22 -67 -22z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="716" 
+d="M81 238l17 30q215 364 305 364q85 0 113 -125l18 -190q16 -156 20 -177q23 -140 67 -140q19 0 52 35l37 -12q2 -39 -34 -64q-27 -19 -50 -19q-144 0 -178 325q-6 77 -21 211q-11 82 -28 82q-34 0 -167.5 -210.5t-188.5 -388.5q-14 -48 -49 -48q-45 0 -41 45q1 16 64 424
+q3 51 10 141q8 82 60 82q30 0 41 -22q6 -23 12 -45z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="628" 
+d="M172 -98q-87 -7 -139 59q-48 60 -48 151q0 154 73.5 333.5t137.5 179.5q58 0 58 -49q0 -14 -33 -58q-158 -208 -158 -389q0 -156 78 -156q118 0 231 215q99 186 99 299q0 163 -81 163q-62 0 -132 -66l-15 9q-14 8 -14 24q0 34 72 69q60 29 89 29q162 0 168 -250
+q3 -121 -107 -319q-128 -231 -279 -244z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="706" 
+d="M120 405q205 297 407 297q133 0 133 -190q0 -157 -140 -348q-145 -198 -279 -198q-101 0 -101 103q0 32 21 81h42q2 -21 -2 -43q-4 -26 -4 -41q0 -23 27 -23q127 0 245 202q104 177 104 290q0 101 -54 101q-108 0 -253 -178q-132 -161 -153 -266q-38 -180 -40 -419
+q-4 -335 98 -335q1 0 10.5 3.5t50.5 18.5v-38q0 -19 -32 -33q-26 -12 -38 -11q-84 8 -130 122q-35 88 -39 208q-2 56 -2 115q0 213 49 746q14 146 85 146q45 0 45 -49q0 -6 -1 -12z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="714" 
+d="M590 -583q-106 0 -158 112q-36 79 -36 178q0 178 87 591l1 7q-279 -360 -431 -360h-21q-45 0 -75 44q-24 36 -24 71q0 149 239 435q236 284 348 284q95 0 95 -127q0 -92 -55 -92q-44 0 -44 50q0 7 1.5 13.5t12 38.5t10.5 36q0 13 -12 13q-44 0 -219 -186
+q-70 -74 -168 -220q-129 -190 -129 -271q0 -10 15 -10q78 0 269 179q183 171 207 246q9 35 18 69q16 39 54 39q55 0 55 -60h-18q20 4 17 -6l-6 -20q-35 -121 -66 -260q-72 -321 -72 -526q0 -65 18 -119q27 -87 88 -87q49 0 74 48.5t38 48.5q31 0 31 -33q0 -53 -52 -92
+q-46 -34 -92 -34z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="536" 
+d="M88 449q124 316 266 316q94 0 110 -86q9 -52 -34 -52q-14 0 -20 12q-4 9 -8 25l-2 11q-4 20 -26 20q-49 0 -125 -104q-89 -123 -125 -224q-38 -108 -36 -248q0 -5 7 -163q0 -19 -19.5 -35.5t-38.5 -16.5q-56 0 -49 87q18 202 18 336q0 138 -18 314q-2 20 17 41t39 21
+q33 0 48 -33q11 -24 8 -45q-13 -105 -12 -176z" />
+    <glyph glyph-name="s" unicode="s" horiz-adv-x="545" 
+d="M463 621q-6 0 -39.5 18t-50.5 19q-68 6 -190 -99q-126 -108 -126 -185q0 -41 146 -41q282 0 282 -157q0 -111 -125 -199q-114 -80 -227 -80q-50 0 -93 31q-50 35 -50 91q0 23 20 54q23 36 49 36q7 0 14 -3q-4 -35 -13 -54q-5 -11 -5 -23q0 -45 54 -45q83 0 190 54
+q119 60 119 126q0 41 -41 68q-34 22 -75 24l-192 7q-48 2 -93 20q-61 24 -61 64q0 99 155.5 250.5t262.5 151.5q30 0 73 -23q51 -28 51 -62q0 -43 -35 -43z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="537" 
+d="M273 566q45 11 108 11q29 0 69 -21q51 -28 51 -66q0 -7 -3 -13l-1 -3q0 2 -4 -8q-11 -4 -8 -5h-2q-6 -3 -14 -3q-6 0 -16 11q-20 48 -66 48q-16 0 -36 -6q-42 -11 -86 -38q0 -5 -1 -16q-13 -101 -7 -244q10 -265 119 -265q31 0 57 32t36 32q32 0 32 -30q0 -36 -59 -68
+q-49 -26 -73 -26q-91 0 -145 99q-38 71 -47 157q-16 152 -2 301q-56 -20 -135 -78q-10 -8 -19 -8q-27 0 -27 56q0 35 165 113q10 2 20 5q7 68 22 203t67 135q43 0 46 -56z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="691" 
+d="M427 345q-107 -224 -139 -274q-107 -165 -226 -165q-94 0 -94 188q0 54 57 291q66 270 111 272q22 0 42.5 -13.5t20.5 -30.5q-1 -8 -7 -25l-18 -46q-127 -342 -127 -480q0 -84 29 -84q36 0 112 93q82 101 162 258q90 176 91 268q1 32 19.5 59t44.5 27q50 0 50 -50
+q0 -8 -17.5 -98t-17.5 -171q0 -314 97 -314q23 0 50 27q12 12 35 27q22 -19 22 -31q0 -36 -49 -64q-40 -23 -65 -23q-156 0 -182 341z" />
+    <glyph glyph-name="v" unicode="v" horiz-adv-x="633" 
+d="M662 630h-2q-60 4 -181 -252l-148 -348q-54 -125 -80 -125q-33 0 -70 112q-22 72 -81 238q-29 72 -93 193l-66 124q-4 9 -4 18q0 20 21 34q17 11 33 11q39 0 130 -217q5 -11 113 -293q31 -81 27 -81l35 90q103 263 139 333q115 223 225 223q44 0 44 -38q0 -18 -25 -24
+q-8 -2 -17 2z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="1026" 
+d="M706 32q-96 0 -189 157q-61 104 -108 250q-37 -95 -122 -295q-119 -253 -203 -253q-60 0 -87 110q-18 76 -14 136q6 107 24 301q22 161 74 161q46 0 46 -59q0 -6 -3 -18q-64 -291 -64 -419q-10 -123 14 -123q56 0 156 206q66 135 111 264q12 43 34 120q21 71 51 71
+q14 0 33 -11q25 -16 23 -39q-9 -86 50 -264q72 -217 180 -217q52 0 105.5 146.5t53.5 286.5q0 32 -4 60q-16 132 -72 132q-3 0 -20 -6t-23 -6q-43 0 -43 16q0 17 34.5 36.5t64.5 19.5q78 0 120 -120q32 -89 32 -188q0 -94 -68 -255q-83 -200 -186 -200z" />
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="791" 
+d="M657 44q-130 0 -388 298q-58 -59 -136 -197q-85 -152 -85 -220q0 -21 17 -63l-39 -14q-16 14 -35.5 53.5t-19.5 57.5q0 91 117 270t117 169q0 1 -115.5 142t-115.5 186q0 14 11.5 30t24.5 16q30 0 137 -147.5t116 -147.5q1 0 141 193.5t177 193.5q20 0 33 -22
+q11 -18 11 -34q0 -22 -154 -195t-154 -197t133.5 -150t162.5 -135q5 -1 30 -12q19 -7 31 -7q29 0 65 33q37 5 37 -27q0 -26 -56 -52q-46 -22 -63 -22z" />
+    <glyph glyph-name="y" unicode="y" horiz-adv-x="707" 
+d="M140 -642q-145 0 -260 123q-101 106 -101 193q0 42 34 42q19 0 29 -30q6 -22 12 -45q30 -83 94 -137q67 -57 150 -64q213 -18 337 235q100 204 100 453q0 171 -49 423q-85 -219 -141 -325q-114 -215 -222 -250q-19 -6 -36 -6q-96 0 -96 148q0 136 71 383q75 260 131 265
+q20 2 41.5 -14.5t21.5 -32.5q0 -5 -2 -9q-59 -92 -110 -230q-71 -193 -71 -354q0 -85 25 -85q31 0 101 106q34 51 68 114q142 223 165 368q8 52 3 92q-8 68 49 68q54 0 65 -101l1 -13q24 -223 55 -276q17 -29 17 -276q0 -227 -99 -453q-136 -312 -383 -312z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="786" 
+d="M-15 -51q-38 22 -38 41q0 57 103 149q154 137 340 273q193 143 203.5 152l10.5 9q-103 6 -296 -28q-135 -24 -207 -45q-5 -2 -12 -2q-60 0 -60 49q0 26 40 46q32 16 50 16q61 0 432 35q136 0 136 -69q0 -34 -89 -109q-62 -47 -124 -95q-96 -71 -286 -215
+q-143 -113 -156 -158q10 0 30 -2q364 99 449 99q71 0 134 -27q89 -37 89 -110q0 -8 -15 -38q-16 1 -31.5 11.5t-14.5 18.5q2 72 -131 72q-100 0 -436 -112q-66 -22 -78 -22q-49 0 -43 56v5z" />
+    <glyph glyph-name="braceleft" unicode="{" 
+ />
+    <glyph glyph-name="bar" unicode="|" 
+ />
+    <glyph glyph-name="braceright" unicode="}" 
+ />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="628" 
+d="M366 716q-30 19 -62 39t-57 20q-32 0 -67 -30l-26 -28q-19 -18 -31 -18q-21 0 -21 23q0 6 28 46q27 37 36 47q21 23 47 34q19 8 38 8v0q37 0 102 -48q58 -42 88 -31q12 5 44 31q29 24 42 24v0q14 0 20 -14q7 -14 -3 -28q-63 -89 -129 -89q-25 0 -49 14z" />
+    <glyph glyph-name="Adieresis" unicode="&#xc4;" 
+ />
+    <glyph glyph-name="Aring" unicode="&#xc5;" 
+ />
+    <glyph glyph-name="Ccedilla" unicode="&#xc7;" 
+ />
+    <glyph glyph-name="Eacute" unicode="&#xc9;" 
+ />
+    <glyph glyph-name="Ntilde" unicode="&#xd1;" 
+ />
+    <glyph glyph-name="Odieresis" unicode="&#xd6;" 
+ />
+    <glyph glyph-name="Udieresis" unicode="&#xdc;" 
+ />
+    <glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="734" 
+d="M707 908q-50 -23 -174 -71q-10 -3 -19 -3q-30 0 -30 25q0 19 26 30q167 72 242 166q7 8 26 8v0q31 0 54 -18q26 -22 9 -50q-24 -37 -134 -87zM598 -11q-95 34 -95 222q0 20 1 41q-99 -132 -218 -241q-153 -140 -241 -140q-29 0 -50 16q-36 27 -36 88v0q0 125 134 337
+q130 203 284 334q168 143 249 90q38 -24 38 -101q0 -92 -63 -98q-44 -3 -44 31q0 5 2 9q19 47 18 84q0 22 -5 21q-99 -18 -320.5 -305.5t-221.5 -396.5q0 -38 34 -38q87 0 273 225q129 156 141 173q57 79 65 145q5 45 48 45v0q61 0 49 -59q-49 -257 -49 -313q0 -102 45 -114
+q16 -4 34 6q15 9 17 18q10 43 50 43q24 0 24 -26q0 -11 -6 -27q-31 -78 -112 -78q-22 0 -45 9z" />
+    <glyph glyph-name="agrave" unicode="&#xe0;" 
+ />
+    <glyph glyph-name="acircumflex" unicode="&#xe2;" 
+ />
+    <glyph glyph-name="adieresis" unicode="&#xe4;" 
+ />
+    <glyph glyph-name="atilde" unicode="&#xe3;" 
+ />
+    <glyph glyph-name="aring" unicode="&#xe5;" 
+ />
+    <glyph glyph-name="ccedilla" unicode="&#xe7;" 
+ />
+    <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="626" 
+d="M532 847q-51 -23 -174 -71q-10 -3 -19 -3q-30 0 -30 25q0 20 25 30q168 72 243 166q7 8 25 8v0q32 0 55 -18q26 -22 8 -50q-23 -37 -133 -87zM102 291q-18 -16 -38.5 -97t-20.5 -141q0 -78 103 -78q99 0 232 115q129 112 179 231h32q19 -18 13 -34q-58 -168 -194 -279
+q-129 -107 -259 -107q-96 0 -145 66q-48 63 -42 170q8 150 160 372q163 238 297 238q45 0 69 -42q18 -31 18 -65q0 -98 -83 -225q-98 -153 -225 -153q-60 0 -92 26zM407 677q-38 -9 -69 -46q-208 -244 -208 -284q0 -11 46 -14q78 -4 170 112q90 113 90 202q0 38 -29 30z" />
+    <glyph glyph-name="egrave" unicode="&#xe8;" 
+ />
+    <glyph glyph-name="ecircumflex" unicode="&#xea;" 
+ />
+    <glyph glyph-name="edieresis" unicode="&#xeb;" 
+ />
+    <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="315" 
+d="M329 826q-50 -23 -174 -71q-10 -3 -19 -3q-30 0 -30 25q0 19 26 30q167 72 242 166q7 8 26 8v0q31 0 54 -18q26 -22 9 -50q-24 -37 -134 -87zM183 -119q-95 0 -145 148q-35 102 -35 199q0 89 22 219q33 188 90 188q45 0 45 -52q0 -24 -28 -90q-29 -72 -42 -245
+q2 -82 0 -98l26 -124q26 -82 77 -82q12 0 16 4q14 19 39 31q21 -18 21 -34q0 -27 -35 -47q-28 -17 -51 -17z" />
+    <glyph glyph-name="igrave" unicode="&#xec;" 
+ />
+    <glyph glyph-name="icircumflex" unicode="&#xee;" 
+ />
+    <glyph glyph-name="idieresis" unicode="&#xef;" 
+ />
+    <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="716" 
+d="M366 716q-30 19 -62 39t-57 20q-32 0 -67 -30l-26 -28q-19 -18 -31 -18q-21 0 -21 23q0 6 28 46q27 37 36 47q21 23 47 34q19 8 38 8v0q37 0 102 -48q58 -42 88 -31q12 5 44 31q29 24 42 24v0q14 0 20 -14q7 -14 -3 -28q-63 -89 -129 -89q-25 0 -49 14zM81 238l17 30
+q215 364 305 364q85 0 113 -125l18 -190q16 -156 20 -177q23 -140 67 -140q19 0 52 35l37 -12q2 -39 -34 -64q-27 -19 -50 -19q-144 0 -178 325q-6 77 -21 211q-11 82 -28 82q-34 0 -167.5 -210.5t-188.5 -388.5q-14 -48 -49 -48q-45 0 -41 45q1 16 64 424q3 51 10 141
+q8 82 60 82q30 0 41 -22q6 -23 12 -45z" />
+    <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="628" 
+d="M523 850q-50 -23 -174 -70q-10 -4 -18 -4q-30 0 -30 25q0 20 25 30q168 73 242 166q7 9 26 9v0q31 0 54 -19q26 -22 9 -49q-23 -38 -134 -88zM172 -98q-87 -7 -139 59q-48 60 -48 151q0 154 73.5 333.5t137.5 179.5q58 0 58 -49q0 -14 -33 -58q-158 -208 -158 -389
+q0 -156 78 -156q118 0 231 215q99 186 99 299q0 163 -81 163q-62 0 -132 -66l-15 9q-14 8 -14 24q0 34 72 69q60 29 89 29q162 0 168 -250q3 -121 -107 -319q-128 -231 -279 -244z" />
+    <glyph glyph-name="ograve" unicode="&#xf2;" 
+ />
+    <glyph glyph-name="ocircumflex" unicode="&#xf4;" 
+ />
+    <glyph glyph-name="odieresis" unicode="&#xf6;" 
+ />
+    <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="628" 
+d="M432 764q-31 20 -62.5 40t-56.5 20q-32 0 -67 -31q-13 -13 -26 -27q-19 -19 -32 -19q-21 0 -21 24q0 6 29 46q26 37 35 46q21 24 48 35q18 8 37 8v0q38 0 103 -48q58 -43 87 -31q12 4 45 31q28 23 41 23v0q14 0 20 -14q7 -14 -3 -28q-63 -88 -129 -88q-25 0 -48 13z
+M172 -98q-87 -7 -139 59q-48 60 -48 151q0 154 73.5 333.5t137.5 179.5q58 0 58 -49q0 -14 -33 -58q-158 -208 -158 -389q0 -156 78 -156q118 0 231 215q99 186 99 299q0 163 -81 163q-62 0 -132 -66l-15 9q-14 8 -14 24q0 34 72 69q60 29 89 29q162 0 168 -250
+q3 -121 -107 -319q-128 -231 -279 -244z" />
+    <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="691" 
+d="M523 850q-50 -23 -174 -70q-10 -4 -18 -4q-30 0 -30 25q0 20 25 30q168 73 242 166q7 9 26 9v0q31 0 54 -19q26 -22 9 -49q-23 -38 -134 -88zM427 345q-107 -224 -139 -274q-107 -165 -226 -165q-94 0 -94 188q0 54 57 291q66 270 111 272q22 0 42.5 -13.5t20.5 -30.5
+q-1 -8 -7 -25l-18 -46q-127 -342 -127 -480q0 -84 29 -84q36 0 112 93q82 101 162 258q90 176 91 268q1 32 19.5 59t44.5 27q50 0 50 -50q0 -8 -17.5 -98t-17.5 -171q0 -314 97 -314q23 0 50 27q12 12 35 27q22 -19 22 -31q0 -36 -49 -64q-40 -23 -65 -23q-156 0 -182 341z
+" />
+    <glyph glyph-name="ugrave" unicode="&#xf9;" 
+ />
+    <glyph glyph-name="ucircumflex" unicode="&#xfb;" 
+ />
+    <glyph glyph-name="udieresis" unicode="&#xfc;" 
+ />
+    <glyph glyph-name="dagger" unicode="&#x2020;" horiz-adv-x="589" 
+ />
+    <glyph glyph-name="degree" unicode="&#xb0;" 
+ />
+    <glyph glyph-name="cent" unicode="&#xa2;" horiz-adv-x="683" 
+d="M177 394q-43 -5 -42 -5q-104 0 -157 76q-44 62 -44 155q0 109 89 281q98 191 223 273q23 95 50 162q9 22 38 22v0q21 0 35 -13t7 -33q-18 -42 -34 -96q23 5 47 5q29 0 84 -25q73 -32 76 -77q2 -20 -17 -34q-15 -11 -29 -11q-23 0 -57 36t-67 36q-29 0 -59 -14
+q-75 -303 -85 -633q151 56 256 219q7 10 16 10q13 0 24 -15.5t8 -26.5q-9 -32 -113 -134q-95 -93 -115 -104q-25 -15 -77 -42q1 -101 12 -169q6 -37 -22 -37q-25 0 -31 34q-11 67 -16 160zM14 606q0 -127 106 -127q29 0 55 4q-2 292 47 572q-83 -92 -149 -246
+q-59 -137 -59 -203z" />
+    <glyph glyph-name="sterling" unicode="&#xa3;" 
+ />
+    <glyph glyph-name="section" unicode="&#xa7;" 
+ />
+    <glyph glyph-name="bullet" unicode="&#x2022;" 
+ />
+    <glyph glyph-name="paragraph" unicode="&#xb6;" 
+ />
+    <glyph glyph-name="germandbls" unicode="&#xdf;" 
+ />
+    <glyph glyph-name="registered" unicode="&#xae;" 
+ />
+    <glyph glyph-name="copyright" unicode="&#xa9;" 
+ />
+    <glyph glyph-name="trademark" unicode="&#x2122;" 
+ />
+    <glyph glyph-name="acute" unicode="&#xb4;" 
+ />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" 
+ />
+    <glyph glyph-name="AE" unicode="&#xc6;" 
+ />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" 
+ />
+    <glyph glyph-name="plusminus" unicode="&#xb1;" 
+ />
+    <glyph glyph-name="yen" unicode="&#xa5;" 
+ />
+    <glyph glyph-name="mu" unicode="&#xb5;" 
+ />
+    <glyph glyph-name="ordfeminine" unicode="&#xaa;" 
+ />
+    <glyph glyph-name="ordmasculine" unicode="&#xba;" 
+ />
+    <glyph glyph-name="ae" unicode="&#xe6;" 
+ />
+    <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="554" 
+ />
+    <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="741" 
+d="M434 295q-67 0 -67 52q0 17 26 33.5t44 16.5q61 0 61 -46q0 -56 -64 -56zM368 -773q-109 -30 -217 -30q-278 0 -278 207q0 107 149 237l276 207q149 111 149 173q0 33 -31 37q-54 8 -54 33q0 40 48 40q49 0 80 -36t31 -82q0 -83 -148 -207q-137 -106 -275 -212
+q-148 -121 -148 -194q0 -134 204 -134q108 0 246 67q92 45 207 125q96 67 101 67q44 0 44 -49q0 -51 -169 -147q-143 -82 -215 -102z" />
+    <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="418" 
+d="M264 305q-67 0 -67 52q0 17 26 33.5t44 16.5q61 0 61 -46q0 -56 -64 -56zM177 -147q0 -365 90 -611q1 -5 1 -10q0 -19 -16 -35t-34 -16q-55 0 -98 253q-37 221 -37 416q0 40 2 66q6 66 42 142q44 92 104 117q16 7 28 7v0q19 0 20 -15q2 -15 -15 -32q-87 -62 -87 -282z
+" />
+    <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="372" 
+d="M145 86q0 -55 9 -108q7 -40 55 -78q13 -10 13 -22v0q0 -20 -26 -30t-48 7q-76 57 -76 233q0 117 32 262q23 92 64 291q6 33 43 33q46 0 39 -40q-9 -54 -65 -283q-40 -160 -40 -265z" />
+    <glyph glyph-name="florin" unicode="&#x192;" 
+ />
+    <glyph glyph-name="guillemotleft" unicode="&#xab;" 
+ />
+    <glyph glyph-name="guillemotright" unicode="&#xbb;" 
+ />
+    <glyph glyph-name="ellipsis" unicode="&#x2026;" horiz-adv-x="1096" 
+d="M954 -22q-26 0 -52 19t-26 47q0 55 56 55q84 0 84 -47q0 -74 -62 -74zM552 -22q-26 0 -50 18q-28 20 -28 48q0 55 57 55q83 0 83 -47q0 -74 -62 -74zM125 -22q-26 0 -52 19t-26 47q0 55 56 55q84 0 84 -47q0 -74 -62 -74z" />
+    <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" 
+ />
+    <glyph glyph-name="Agrave" unicode="&#xc0;" 
+ />
+    <glyph glyph-name="Atilde" unicode="&#xc3;" 
+ />
+    <glyph glyph-name="Otilde" unicode="&#xd5;" 
+ />
+    <glyph glyph-name="OE" unicode="&#x152;" 
+ />
+    <glyph glyph-name="oe" unicode="&#x153;" 
+ />
+    <glyph glyph-name="endash" unicode="&#x2013;" horiz-adv-x="823" 
+d="M727 374q-32 9 -75 34q-31 18 -53 22q-39 6 -92 6q-226 0 -433 -64q-22 -6 -30 -5q-47 7 -47 42q0 5 1 11q6 31 165 61q120 22 198 27q140 9 234 -5q52 -8 102 -32q70 -34 61 -76z" />
+    <glyph glyph-name="emdash" unicode="&#x2014;" horiz-adv-x="1130" 
+d="M1019 378q-37 8 -92 33q-43 19 -74 22q-49 6 -126 6q-157 0 -368 -21q-205 -21 -314 -46q-27 -6 -35 -5q-59 7 -59 43q0 6 2 11q8 30 216 60q156 22 259 27q284 14 416 -2q62 -7 126 -30q88 -32 88 -70q0 -4 -2 -9z" />
+    <glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="259" 
+d="M236 806q2 -16 -21.5 -34t-47.5 -18q-38 0 -38 55q0 59 37 137q39 83 91 123q13 9 25 9v0q20 0 24 -18q5 -20 -18 -37q-56 -44 -56 -170q0 -24 4 -47zM103 806q2 -16 -22 -34t-47 -18q-38 0 -38 55q0 59 37 137q38 83 91 123q12 9 25 9v0q20 0 24 -18q5 -20 -18 -37
+q-56 -44 -56 -170q0 -24 4 -47z" />
+    <glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="301" 
+d="M139 740q-12 -9 -25 -9q-25 0 -25 24q0 17 19 31q56 44 56 170q0 24 -4 47q-2 16 22 34t47 18q38 0 38 -55q0 -59 -37 -137q-38 -83 -91 -123zM6 740q-13 -9 -25 -9q-25 0 -25 24q0 17 19 31q56 44 56 170q0 24 -4 47q-2 16 21.5 34t47.5 18q38 0 38 -55q0 -59 -37 -137
+q-39 -83 -91 -123z" />
+    <glyph glyph-name="quoteleft" unicode="&#x2018;" horiz-adv-x="217" 
+d="M114 821q3 -16 -21 -34t-48 -18q-38 0 -38 55q0 59 37 137q39 82 91 122q13 10 26 10v0q20 0 24 -19t-19 -37q-55 -43 -55 -169q0 -24 3 -47z" />
+    <glyph glyph-name="quoteright" unicode="&#x2019;" horiz-adv-x="249" 
+d="M62 770q-13 -10 -25 -10q-25 0 -25 24q0 17 19 32q56 43 56 169q0 25 -4 48q-2 16 21.5 34t47.5 18q38 0 38 -55q0 -60 -37 -137q-39 -83 -91 -123z" />
+    <glyph glyph-name="divide" unicode="&#xf7;" 
+ />
+    <glyph glyph-name="ydieresis" unicode="&#xff;" 
+ />
+    <glyph glyph-name="Ydieresis" unicode="&#x178;" 
+ />
+    <glyph glyph-name="currency" unicode="&#xa4;" 
+ />
+    <glyph glyph-name="guilsinglleft" unicode="&#x2039;" 
+ />
+    <glyph glyph-name="guilsinglright" unicode="&#x203a;" 
+ />
+    <glyph glyph-name="daggerdbl" unicode="&#x2021;" 
+ />
+    <glyph glyph-name="periodcentered" unicode="&#x2219;" 
+ />
+    <glyph glyph-name="quotesinglbase" unicode="&#x201a;" 
+ />
+    <glyph glyph-name="quotedblbase" unicode="&#x201e;" 
+ />
+    <glyph glyph-name="perthousand" unicode="&#x2030;" 
+ />
+    <glyph glyph-name="Acircumflex" unicode="&#xc2;" 
+ />
+    <glyph glyph-name="Ecircumflex" unicode="&#xca;" 
+ />
+    <glyph glyph-name="Aacute" unicode="&#xc1;" 
+ />
+    <glyph glyph-name="Edieresis" unicode="&#xcb;" 
+ />
+    <glyph glyph-name="Egrave" unicode="&#xc8;" 
+ />
+    <glyph glyph-name="Iacute" unicode="&#xcd;" 
+ />
+    <glyph glyph-name="Icircumflex" unicode="&#xce;" 
+ />
+    <glyph glyph-name="Idieresis" unicode="&#xcf;" 
+ />
+    <glyph glyph-name="Igrave" unicode="&#xcc;" 
+ />
+    <glyph glyph-name="Oacute" unicode="&#xd3;" 
+ />
+    <glyph glyph-name="Ocircumflex" unicode="&#xd4;" 
+ />
+    <glyph glyph-name="Ograve" unicode="&#xd2;" 
+ />
+    <glyph glyph-name="Uacute" unicode="&#xda;" 
+ />
+    <glyph glyph-name="Ucircumflex" unicode="&#xdb;" 
+ />
+    <glyph glyph-name="Ugrave" unicode="&#xd9;" 
+ />
+    <glyph glyph-name="circumflex" unicode="&#x2c6;" 
+ />
+    <glyph glyph-name="tilde" unicode="&#x2dc;" 
+ />
+    <glyph glyph-name="macron" unicode="&#xaf;" 
+ />
+    <glyph glyph-name="cedilla" unicode="&#xb8;" 
+ />
+    <glyph glyph-name="Scaron" unicode="&#x160;" 
+ />
+    <glyph glyph-name="scaron" unicode="&#x161;" 
+ />
+    <glyph glyph-name="brokenbar" unicode="&#xa6;" 
+ />
+    <glyph glyph-name="Eth" unicode="&#xd0;" 
+ />
+    <glyph glyph-name="eth" unicode="&#xf0;" 
+ />
+    <glyph glyph-name="Yacute" unicode="&#xdd;" 
+ />
+    <glyph glyph-name="yacute" unicode="&#xfd;" 
+ />
+    <glyph glyph-name="Thorn" unicode="&#xde;" 
+ />
+    <glyph glyph-name="thorn" unicode="&#xfe;" 
+ />
+    <glyph glyph-name="minus" unicode="&#xad;" 
+ />
+    <glyph glyph-name="multiply" unicode="&#xd7;" 
+ />
+    <glyph glyph-name="onesuperior" unicode="&#xb9;" 
+ />
+    <glyph glyph-name="twosuperior" unicode="&#xb2;" 
+ />
+    <glyph glyph-name="threesuperior" unicode="&#xb3;" 
+ />
+    <glyph glyph-name="onehalf" unicode="&#xbd;" 
+ />
+    <glyph glyph-name="onequarter" unicode="&#xbc;" 
+ />
+    <glyph glyph-name="threequarters" unicode="&#xbe;" 
+ />
+    <glyph glyph-name="Lslash" unicode="&#x141;" 
+ />
+    <glyph glyph-name="lslash" unicode="&#x142;" 
+ />
+    <glyph glyph-name="LF" 
+ />
+    <glyph glyph-name="Zcaron" unicode="&#x17d;" 
+ />
+    <glyph glyph-name="zcaron" unicode="&#x17e;" 
+ />
+    <glyph glyph-name="DLE" 
+ />
+    <glyph glyph-name="DC1" 
+ />
+    <glyph glyph-name="DC2" 
+ />
+    <glyph glyph-name="DC3" 
+ />
+    <glyph glyph-name="DC4" 
+ />
+    <glyph glyph-name="RS" 
+ />
+    <glyph glyph-name="US" 
+ />
+    <glyph glyph-name="DEL" 
+ />
+    <glyph glyph-name="notequal" unicode="&#x2260;" 
+ />
+    <glyph glyph-name="infinity" unicode="&#x221e;" 
+ />
+    <glyph glyph-name="lessequal" unicode="&#x2264;" 
+ />
+    <glyph glyph-name="greaterequal" unicode="&#x2265;" 
+ />
+    <glyph glyph-name="partialdiff" unicode="&#x2202;" horiz-adv-x="739" 
+ />
+    <glyph glyph-name="summation" unicode="&#x3a3;" 
+ />
+    <glyph glyph-name="product" unicode="&#x220f;" 
+ />
+    <glyph glyph-name="pi" unicode="&#x3c0;" 
+ />
+    <glyph glyph-name="integral" unicode="&#x222b;" 
+ />
+    <glyph glyph-name="Omega" unicode="&#x3a9;" 
+ />
+    <glyph glyph-name="radical" unicode="&#x221a;" 
+ />
+    <glyph glyph-name="approxequal" unicode="&#x2248;" 
+ />
+    <glyph glyph-name="Delta" unicode="&#x2206;" 
+ />
+    <glyph glyph-name="lozenge" unicode="&#x25ca;" 
+ />
+    <glyph glyph-name="fraction" unicode="&#x2215;" 
+ />
+    <glyph glyph-name="fi" unicode="&#xf001;" 
+ />
+    <glyph glyph-name="fl" unicode="&#xf002;" 
+ />
+    <glyph glyph-name="apple" unicode="&#xf000;" 
+ />
+    <glyph glyph-name="dotlessi" unicode="&#x131;" 
+ />
+    <glyph glyph-name="breve" unicode="&#x2d8;" 
+ />
+    <glyph glyph-name="dotaccent" unicode="&#x2d9;" horiz-adv-x="611" 
+ />
+    <glyph glyph-name="ring" unicode="&#x2da;" 
+ />
+    <glyph glyph-name="hungarumlaut" unicode="&#x2dd;" 
+ />
+    <glyph glyph-name="ogonek" unicode="&#x2db;" 
+ />
+    <glyph glyph-name="caron" unicode="&#x2c7;" 
+ />
+    <hkern g1=".notdef" u2="&#xc1;" k="86" />
+    <hkern g1=".notdef" u2="&#xc2;" k="-34" />
+    <hkern g1=".notdef" u2="&#x2021;" k="-36" />
+    <hkern g1=".notdef" u2="&#x203a;" k="-100" />
+    <hkern g1=".notdef" u2="&#x2019;" k="-99" />
+    <hkern g1=".notdef" u2="&#x2014;" k="-90" />
+    <hkern g1=".notdef" u2="&#x2013;" k="-108" />
+    <hkern g1=".notdef" u2="&#x153;" k="-97" />
+    <hkern g1=".notdef" u2="&#xc0;" k="275" />
+    <hkern g1=".notdef" u2="&#xa2;" k="-150" />
+    <hkern g1=".notdef" u2="&#xc9;" k="27" />
+    <hkern g1=".notdef" u2="&#x7e;" k="89" />
+    <hkern g1=".notdef" u2="z" k="-21" />
+    <hkern g1=".notdef" u2="y" k="-99" />
+    <hkern g1=".notdef" u2="x" k="-38" />
+    <hkern g1=".notdef" u2="w" k="-99" />
+    <hkern g1=".notdef" u2="v" k="-71" />
+    <hkern g1=".notdef" u2="u" k="-123" />
+    <hkern g1=".notdef" u2="t" k="35" />
+    <hkern g1=".notdef" u2="s" k="-133" />
+    <hkern g1=".notdef" u2="r" k="-117" />
+    <hkern g1=".notdef" u2="q" k="-97" />
+    <hkern g1=".notdef" u2="p" k="-111" />
+    <hkern g1=".notdef" u2="o" k="-110" />
+    <hkern g1=".notdef" u2="n" k="-124" />
+    <hkern g1=".notdef" u2="m" k="-192" />
+    <hkern g1=".notdef" u2="l" k="-149" />
+    <hkern g1=".notdef" u2="k" k="-154" />
+    <hkern g1=".notdef" u2="j" k="167" />
+    <hkern g1=".notdef" u2="i" k="-107" />
+    <hkern g1=".notdef" u2="h" k="-127" />
+    <hkern g1=".notdef" u2="g" k="-81" />
+    <hkern g1=".notdef" u2="f" k="-143" />
+    <hkern g1=".notdef" u2="e" k="-116" />
+    <hkern g1=".notdef" u2="d" k="-21" />
+    <hkern g1=".notdef" u2="c" k="-114" />
+    <hkern g1=".notdef" u2="b" k="-159" />
+    <hkern g1=".notdef" u2="a" k="-57" />
+    <hkern g1=".notdef" u2="`" k="-102" />
+    <hkern g1=".notdef" u2="Z" k="-77" />
+    <hkern g1=".notdef" u2="Y" k="-218" />
+    <hkern g1=".notdef" u2="X" k="-109" />
+    <hkern g1=".notdef" u2="W" k="-123" />
+    <hkern g1=".notdef" u2="V" k="-134" />
+    <hkern g1=".notdef" u2="U" k="-193" />
+    <hkern g1=".notdef" u2="T" k="-213" />
+    <hkern g1=".notdef" u2="S" k="-71" />
+    <hkern g1=".notdef" u2="R" k="-224" />
+    <hkern g1=".notdef" u2="Q" k="-171" />
+    <hkern g1=".notdef" u2="P" k="-233" />
+    <hkern g1=".notdef" u2="O" k="-171" />
+    <hkern g1=".notdef" u2="N" k="-114" />
+    <hkern g1=".notdef" u2="M" k="-149" />
+    <hkern g1=".notdef" u2="L" k="-43" />
+    <hkern g1=".notdef" u2="K" k="-216" />
+    <hkern g1=".notdef" u2="J" k="243" />
+    <hkern g1=".notdef" u2="I" k="-171" />
+    <hkern g1=".notdef" u2="H" k="-52" />
+    <hkern g1=".notdef" u2="G" k="-170" />
+    <hkern g1=".notdef" u2="F" k="-190" />
+    <hkern g1=".notdef" u2="E" k="-174" />
+    <hkern g1=".notdef" u2="D" k="-143" />
+    <hkern g1=".notdef" u2="C" k="-169" />
+    <hkern g1=".notdef" u2="B" k="-135" />
+    <hkern g1=".notdef" u2="A" k="-125" />
+    <hkern g1=".notdef" u2="&#x40;" k="-60" />
+    <hkern g1=".notdef" u2="&#x3f;" k="-62" />
+    <hkern g1=".notdef" u2="&#x3b;" k="198" />
+    <hkern g1=".notdef" u2="&#x3a;" k="311" />
+    <hkern g1=".notdef" u2="&#x39;" k="-90" />
+    <hkern g1=".notdef" u2="&#x38;" k="-96" />
+    <hkern g1=".notdef" u2="&#x37;" k="-130" />
+    <hkern g1=".notdef" u2="&#x36;" k="-123" />
+    <hkern g1=".notdef" u2="&#x35;" k="-101" />
+    <hkern g1=".notdef" u2="&#x34;" k="-143" />
+    <hkern g1=".notdef" u2="&#x33;" k="-76" />
+    <hkern g1=".notdef" u2="&#x32;" k="-72" />
+    <hkern g1=".notdef" u2="&#x31;" k="-107" />
+    <hkern g1=".notdef" u2="&#x30;" k="-166" />
+    <hkern g1=".notdef" u2="&#x2f;" k="45" />
+    <hkern g1=".notdef" u2="&#x2e;" k="101" />
+    <hkern g1=".notdef" u2="&#x2d;" k="47" />
+    <hkern g1=".notdef" u2="&#x2c;" k="164" />
+    <hkern g1=".notdef" u2="&#x29;" k="93" />
+    <hkern g1=".notdef" u2="&#x28;" k="-104" />
+    <hkern g1=".notdef" u2="&#x26;" k="-22" />
+    <hkern g1=".notdef" u2="&#x25;" k="27" />
+    <hkern g1=".notdef" u2="&#x24;" k="-181" />
+    <hkern g1=".notdef" u2="&#x23;" k="59" />
+    <hkern g1=".notdef" u2="&#x21;" k="-45" />
+    <hkern g1=".notdef" g2=".notdef" k="-99" />
+    <hkern u1="&#x21;" u2="&#xd0;" k="63" />
+    <hkern u1="&#x21;" u2="&#xc1;" k="78" />
+    <hkern u1="&#x21;" u2="&#xc2;" k="54" />
+    <hkern u1="&#x21;" u2="&#x2013;" k="-39" />
+    <hkern u1="&#x21;" u2="&#xc0;" k="273" />
+    <hkern u1="&#x21;" u2="&#xd1;" k="39" />
+    <hkern u1="&#x21;" u2="&#xc9;" k="342" />
+    <hkern u1="&#x21;" u2="&#x7e;" k="142" />
+    <hkern u1="&#x21;" u2="y" k="121" />
+    <hkern u1="&#x21;" u2="x" k="-24" />
+    <hkern u1="&#x21;" u2="v" k="25" />
+    <hkern u1="&#x21;" u2="u" k="-44" />
+    <hkern u1="&#x21;" u2="t" k="85" />
+    <hkern u1="&#x21;" u2="r" k="-24" />
+    <hkern u1="&#x21;" u2="q" k="-50" />
+    <hkern u1="&#x21;" u2="p" k="-25" />
+    <hkern u1="&#x21;" u2="o" k="-24" />
+    <hkern u1="&#x21;" u2="n" k="-52" />
+    <hkern u1="&#x21;" u2="m" k="-96" />
+    <hkern u1="&#x21;" u2="k" k="-45" />
+    <hkern u1="&#x21;" u2="j" k="-92" />
+    <hkern u1="&#x21;" u2="h" k="-33" />
+    <hkern u1="&#x21;" u2="f" k="29" />
+    <hkern u1="&#x21;" u2="e" k="-42" />
+    <hkern u1="&#x21;" u2="c" k="-35" />
+    <hkern u1="&#x21;" u2="b" k="-58" />
+    <hkern u1="&#x21;" u2="a" k="-28" />
+    <hkern u1="&#x21;" u2="`" k="90" />
+    <hkern u1="&#x21;" u2="Z" k="-41" />
+    <hkern u1="&#x21;" u2="Y" k="-38" />
+    <hkern u1="&#x21;" u2="X" k="-65" />
+    <hkern u1="&#x21;" u2="W" k="-21" />
+    <hkern u1="&#x21;" u2="T" k="-32" />
+    <hkern u1="&#x21;" u2="S" k="26" />
+    <hkern u1="&#x21;" u2="R" k="-56" />
+    <hkern u1="&#x21;" u2="Q" k="-51" />
+    <hkern u1="&#x21;" u2="P" k="-53" />
+    <hkern u1="&#x21;" u2="O" k="-52" />
+    <hkern u1="&#x21;" u2="M" k="-32" />
+    <hkern u1="&#x21;" u2="L" k="-58" />
+    <hkern u1="&#x21;" u2="K" k="-86" />
+    <hkern u1="&#x21;" u2="I" k="-38" />
+    <hkern u1="&#x21;" u2="H" k="-82" />
+    <hkern u1="&#x21;" u2="G" k="-51" />
+    <hkern u1="&#x21;" u2="F" k="-28" />
+    <hkern u1="&#x21;" u2="E" k="-33" />
+    <hkern u1="&#x21;" u2="D" k="-43" />
+    <hkern u1="&#x21;" u2="C" k="-63" />
+    <hkern u1="&#x21;" u2="B" k="-53" />
+    <hkern u1="&#x21;" u2="A" k="-32" />
+    <hkern u1="&#x21;" u2="&#x40;" k="113" />
+    <hkern u1="&#x21;" u2="&#x3f;" k="43" />
+    <hkern u1="&#x21;" u2="&#x3b;" k="130" />
+    <hkern u1="&#x21;" u2="&#x3a;" k="141" />
+    <hkern u1="&#x21;" u2="&#x36;" k="-21" />
+    <hkern u1="&#x21;" u2="&#x35;" k="-44" />
+    <hkern u1="&#x21;" u2="&#x32;" k="-70" />
+    <hkern u1="&#x21;" u2="&#x31;" k="-22" />
+    <hkern u1="&#x21;" u2="&#x30;" k="-34" />
+    <hkern u1="&#x21;" u2="&#x2e;" k="415" />
+    <hkern u1="&#x21;" u2="&#x2d;" k="87" />
+    <hkern u1="&#x21;" u2="&#x2c;" k="72" />
+    <hkern u1="&#x21;" u2="&#x29;" k="77" />
+    <hkern u1="&#x21;" u2="&#x26;" k="67" />
+    <hkern u1="&#x21;" u2="&#x25;" k="-34" />
+    <hkern u1="&#x21;" u2="&#x23;" k="101" />
+    <hkern u1="&#x21;" u2="&#x21;" k="125" />
+    <hkern u1="&#x21;" g2=".notdef" k="-24" />
+    <hkern u1="&#x23;" u2="&#xd0;" k="426" />
+    <hkern u1="&#x23;" u2="&#xc1;" k="667" />
+    <hkern u1="&#x23;" u2="&#xc2;" k="110" />
+    <hkern u1="&#x23;" u2="&#x2021;" k="219" />
+    <hkern u1="&#x23;" u2="&#x203a;" k="60" />
+    <hkern u1="&#x23;" u2="&#x2014;" k="70" />
+    <hkern u1="&#x23;" u2="&#x153;" k="36" />
+    <hkern u1="&#x23;" u2="&#xc0;" k="873" />
+    <hkern u1="&#x23;" u2="&#xa2;" k="-114" />
+    <hkern u1="&#x23;" u2="&#xd1;" k="402" />
+    <hkern u1="&#x23;" u2="&#xc9;" k="953" />
+    <hkern u1="&#x23;" u2="&#x7e;" k="393" />
+    <hkern u1="&#x23;" u2="z" k="29" />
+    <hkern u1="&#x23;" u2="y" k="31" />
+    <hkern u1="&#x23;" u2="w" k="21" />
+    <hkern u1="&#x23;" u2="v" k="-59" />
+    <hkern u1="&#x23;" u2="u" k="23" />
+    <hkern u1="&#x23;" u2="t" k="132" />
+    <hkern u1="&#x23;" u2="s" k="35" />
+    <hkern u1="&#x23;" u2="r" k="-35" />
+    <hkern u1="&#x23;" u2="q" k="155" />
+    <hkern u1="&#x23;" u2="o" k="62" />
+    <hkern u1="&#x23;" u2="m" k="-76" />
+    <hkern u1="&#x23;" u2="l" k="-43" />
+    <hkern u1="&#x23;" u2="k" k="-66" />
+    <hkern u1="&#x23;" u2="j" k="105" />
+    <hkern u1="&#x23;" u2="h" k="-30" />
+    <hkern u1="&#x23;" u2="g" k="139" />
+    <hkern u1="&#x23;" u2="f" k="86" />
+    <hkern u1="&#x23;" u2="e" k="95" />
+    <hkern u1="&#x23;" u2="d" k="226" />
+    <hkern u1="&#x23;" u2="c" k="87" />
+    <hkern u1="&#x23;" u2="b" k="-53" />
+    <hkern u1="&#x23;" u2="a" k="209" />
+    <hkern u1="&#x23;" u2="`" k="30" />
+    <hkern u1="&#x23;" u2="Z" k="93" />
+    <hkern u1="&#x23;" u2="Y" k="-81" />
+    <hkern u1="&#x23;" u2="X" k="41" />
+    <hkern u1="&#x23;" u2="W" k="21" />
+    <hkern u1="&#x23;" u2="V" k="-41" />
+    <hkern u1="&#x23;" u2="U" k="-67" />
+    <hkern u1="&#x23;" u2="T" k="-82" />
+    <hkern u1="&#x23;" u2="S" k="-73" />
+    <hkern u1="&#x23;" u2="R" k="-113" />
+    <hkern u1="&#x23;" u2="Q" k="-71" />
+    <hkern u1="&#x23;" u2="P" k="-111" />
+    <hkern u1="&#x23;" u2="O" k="-69" />
+    <hkern u1="&#x23;" u2="N" k="-25" />
+    <hkern u1="&#x23;" u2="M" k="-41" />
+    <hkern u1="&#x23;" u2="L" k="96" />
+    <hkern u1="&#x23;" u2="K" k="-118" />
+    <hkern u1="&#x23;" u2="J" k="187" />
+    <hkern u1="&#x23;" u2="I" k="138" />
+    <hkern u1="&#x23;" u2="H" k="91" />
+    <hkern u1="&#x23;" u2="G" k="-60" />
+    <hkern u1="&#x23;" u2="F" k="-87" />
+    <hkern u1="&#x23;" u2="E" k="-90" />
+    <hkern u1="&#x23;" u2="D" k="-70" />
+    <hkern u1="&#x23;" u2="C" k="-39" />
+    <hkern u1="&#x23;" u2="A" k="197" />
+    <hkern u1="&#x23;" u2="&#x40;" k="30" />
+    <hkern u1="&#x23;" u2="&#x3b;" k="289" />
+    <hkern u1="&#x23;" u2="&#x3a;" k="617" />
+    <hkern u1="&#x23;" u2="&#x39;" k="-40" />
+    <hkern u1="&#x23;" u2="&#x38;" k="-82" />
+    <hkern u1="&#x23;" u2="&#x37;" k="160" />
+    <hkern u1="&#x23;" u2="&#x33;" k="100" />
+    <hkern u1="&#x23;" u2="&#x30;" k="-77" />
+    <hkern u1="&#x23;" u2="&#x2f;" k="314" />
+    <hkern u1="&#x23;" u2="&#x2e;" k="1026" />
+    <hkern u1="&#x23;" u2="&#x2d;" k="452" />
+    <hkern u1="&#x23;" u2="&#x2c;" k="780" />
+    <hkern u1="&#x23;" u2="&#x29;" k="259" />
+    <hkern u1="&#x23;" u2="&#x26;" k="197" />
+    <hkern u1="&#x23;" u2="&#x25;" k="282" />
+    <hkern u1="&#x23;" u2="&#x24;" k="-86" />
+    <hkern u1="&#x23;" u2="&#x23;" k="138" />
+    <hkern u1="&#x23;" u2="&#x21;" k="49" />
+    <hkern u1="&#x23;" g2=".notdef" k="100" />
+    <hkern u1="&#x24;" u2="&#xd0;" k="36" />
+    <hkern u1="&#x24;" u2="&#xc1;" k="340" />
+    <hkern u1="&#x24;" u2="&#xc2;" k="75" />
+    <hkern u1="&#x24;" u2="&#x2021;" k="199" />
+    <hkern u1="&#x24;" u2="&#x203a;" k="50" />
+    <hkern u1="&#x24;" u2="&#x2014;" k="69" />
+    <hkern u1="&#x24;" u2="&#x153;" k="32" />
+    <hkern u1="&#x24;" u2="&#xc0;" k="517" />
+    <hkern u1="&#x24;" u2="&#xa2;" k="-117" />
+    <hkern u1="&#x24;" u2="&#xc9;" k="609" />
+    <hkern u1="&#x24;" u2="&#x7e;" k="29" />
+    <hkern u1="&#x24;" u2="x" k="-71" />
+    <hkern u1="&#x24;" u2="v" k="-109" />
+    <hkern u1="&#x24;" u2="t" k="50" />
+    <hkern u1="&#x24;" u2="r" k="-86" />
+    <hkern u1="&#x24;" u2="q" k="114" />
+    <hkern u1="&#x24;" u2="p" k="-39" />
+    <hkern u1="&#x24;" u2="o" k="38" />
+    <hkern u1="&#x24;" u2="n" k="-32" />
+    <hkern u1="&#x24;" u2="m" k="-111" />
+    <hkern u1="&#x24;" u2="l" k="-67" />
+    <hkern u1="&#x24;" u2="k" k="-86" />
+    <hkern u1="&#x24;" u2="j" k="119" />
+    <hkern u1="&#x24;" u2="h" k="-47" />
+    <hkern u1="&#x24;" u2="g" k="117" />
+    <hkern u1="&#x24;" u2="f" k="65" />
+    <hkern u1="&#x24;" u2="e" k="73" />
+    <hkern u1="&#x24;" u2="d" k="218" />
+    <hkern u1="&#x24;" u2="c" k="64" />
+    <hkern u1="&#x24;" u2="b" k="-68" />
+    <hkern u1="&#x24;" u2="a" k="165" />
+    <hkern u1="&#x24;" u2="`" k="184" />
+    <hkern u1="&#x24;" u2="Z" k="198" />
+    <hkern u1="&#x24;" u2="X" k="-101" />
+    <hkern u1="&#x24;" u2="W" k="-113" />
+    <hkern u1="&#x24;" u2="V" k="-52" />
+    <hkern u1="&#x24;" u2="U" k="61" />
+    <hkern u1="&#x24;" u2="T" k="35" />
+    <hkern u1="&#x24;" u2="S" k="-92" />
+    <hkern u1="&#x24;" u2="Q" k="-79" />
+    <hkern u1="&#x24;" u2="O" k="-77" />
+    <hkern u1="&#x24;" u2="N" k="-113" />
+    <hkern u1="&#x24;" u2="M" k="-100" />
+    <hkern u1="&#x24;" u2="L" k="83" />
+    <hkern u1="&#x24;" u2="K" k="-140" />
+    <hkern u1="&#x24;" u2="I" k="-41" />
+    <hkern u1="&#x24;" u2="H" k="21" />
+    <hkern u1="&#x24;" u2="G" k="-67" />
+    <hkern u1="&#x24;" u2="E" k="35" />
+    <hkern u1="&#x24;" u2="D" k="-94" />
+    <hkern u1="&#x24;" u2="C" k="-43" />
+    <hkern u1="&#x24;" u2="B" k="-157" />
+    <hkern u1="&#x24;" u2="A" k="127" />
+    <hkern u1="&#x24;" u2="&#x3b;" k="250" />
+    <hkern u1="&#x24;" u2="&#x3a;" k="171" />
+    <hkern u1="&#x24;" u2="&#x39;" k="-72" />
+    <hkern u1="&#x24;" u2="&#x38;" k="-116" />
+    <hkern u1="&#x24;" u2="&#x37;" k="79" />
+    <hkern u1="&#x24;" u2="&#x33;" k="236" />
+    <hkern u1="&#x24;" u2="&#x32;" k="-85" />
+    <hkern u1="&#x24;" u2="&#x31;" k="64" />
+    <hkern u1="&#x24;" u2="&#x30;" k="-95" />
+    <hkern u1="&#x24;" u2="&#x2f;" k="286" />
+    <hkern u1="&#x24;" u2="&#x2e;" k="271" />
+    <hkern u1="&#x24;" u2="&#x2d;" k="66" />
+    <hkern u1="&#x24;" u2="&#x2c;" k="339" />
+    <hkern u1="&#x24;" u2="&#x29;" k="90" />
+    <hkern u1="&#x24;" u2="&#x28;" k="-25" />
+    <hkern u1="&#x24;" u2="&#x26;" k="142" />
+    <hkern u1="&#x24;" u2="&#x25;" k="260" />
+    <hkern u1="&#x24;" u2="&#x24;" k="-46" />
+    <hkern u1="&#x24;" u2="&#x23;" k="70" />
+    <hkern u1="&#x24;" u2="&#x21;" k="23" />
+    <hkern u1="&#x24;" g2=".notdef" k="100" />
+    <hkern u1="&#x25;" u2="&#xd0;" k="344" />
+    <hkern u1="&#x25;" u2="&#xc1;" k="365" />
+    <hkern u1="&#x25;" u2="&#xc2;" k="283" />
+    <hkern u1="&#x25;" u2="&#x2021;" k="214" />
+    <hkern u1="&#x25;" u2="&#x203a;" k="176" />
+    <hkern u1="&#x25;" u2="&#x2019;" k="147" />
+    <hkern u1="&#x25;" u2="&#x2014;" k="198" />
+    <hkern u1="&#x25;" u2="&#x2013;" k="167" />
+    <hkern u1="&#x25;" u2="&#x153;" k="187" />
+    <hkern u1="&#x25;" u2="&#xc0;" k="603" />
+    <hkern u1="&#x25;" u2="&#xa2;" k="-94" />
+    <hkern u1="&#x25;" u2="&#xd1;" k="319" />
+    <hkern u1="&#x25;" u2="&#xc9;" k="255" />
+    <hkern u1="&#x25;" u2="&#x7e;" k="138" />
+    <hkern u1="&#x25;" u2="z" k="217" />
+    <hkern u1="&#x25;" u2="y" k="218" />
+    <hkern u1="&#x25;" u2="x" k="82" />
+    <hkern u1="&#x25;" u2="w" k="205" />
+    <hkern u1="&#x25;" u2="v" k="178" />
+    <hkern u1="&#x25;" u2="u" k="178" />
+    <hkern u1="&#x25;" u2="t" k="205" />
+    <hkern u1="&#x25;" u2="s" k="230" />
+    <hkern u1="&#x25;" u2="r" k="147" />
+    <hkern u1="&#x25;" u2="q" k="185" />
+    <hkern u1="&#x25;" u2="p" k="203" />
+    <hkern u1="&#x25;" u2="o" k="194" />
+    <hkern u1="&#x25;" u2="n" k="180" />
+    <hkern u1="&#x25;" u2="m" k="124" />
+    <hkern u1="&#x25;" u2="l" k="-101" />
+    <hkern u1="&#x25;" u2="k" k="-96" />
+    <hkern u1="&#x25;" u2="j" k="153" />
+    <hkern u1="&#x25;" u2="i" k="-47" />
+    <hkern u1="&#x25;" u2="h" k="-56" />
+    <hkern u1="&#x25;" u2="g" k="216" />
+    <hkern u1="&#x25;" u2="f" k="62" />
+    <hkern u1="&#x25;" u2="e" k="175" />
+    <hkern u1="&#x25;" u2="d" k="230" />
+    <hkern u1="&#x25;" u2="c" k="182" />
+    <hkern u1="&#x25;" u2="b" k="-49" />
+    <hkern u1="&#x25;" u2="a" k="208" />
+    <hkern u1="&#x25;" u2="`" k="-92" />
+    <hkern u1="&#x25;" u2="Z" k="-24" />
+    <hkern u1="&#x25;" u2="Y" k="-152" />
+    <hkern u1="&#x25;" u2="X" k="-92" />
+    <hkern u1="&#x25;" u2="V" k="-46" />
+    <hkern u1="&#x25;" u2="U" k="-121" />
+    <hkern u1="&#x25;" u2="T" k="-155" />
+    <hkern u1="&#x25;" u2="S" k="47" />
+    <hkern u1="&#x25;" u2="R" k="-142" />
+    <hkern u1="&#x25;" u2="Q" k="-53" />
+    <hkern u1="&#x25;" u2="P" k="-154" />
+    <hkern u1="&#x25;" u2="O" k="-58" />
+    <hkern u1="&#x25;" u2="M" k="-44" />
+    <hkern u1="&#x25;" u2="K" k="-163" />
+    <hkern u1="&#x25;" u2="J" k="-42" />
+    <hkern u1="&#x25;" u2="I" k="-156" />
+    <hkern u1="&#x25;" u2="G" k="28" />
+    <hkern u1="&#x25;" u2="F" k="-90" />
+    <hkern u1="&#x25;" u2="E" k="-74" />
+    <hkern u1="&#x25;" u2="D" k="-63" />
+    <hkern u1="&#x25;" u2="C" k="84" />
+    <hkern u1="&#x25;" u2="A" k="191" />
+    <hkern u1="&#x25;" u2="&#x40;" k="256" />
+    <hkern u1="&#x25;" u2="&#x3f;" k="24" />
+    <hkern u1="&#x25;" u2="&#x3b;" k="450" />
+    <hkern u1="&#x25;" u2="&#x3a;" k="369" />
+    <hkern u1="&#x25;" u2="&#x39;" k="32" />
+    <hkern u1="&#x25;" u2="&#x38;" k="43" />
+    <hkern u1="&#x25;" u2="&#x37;" k="-119" />
+    <hkern u1="&#x25;" u2="&#x36;" k="129" />
+    <hkern u1="&#x25;" u2="&#x34;" k="43" />
+    <hkern u1="&#x25;" u2="&#x33;" k="78" />
+    <hkern u1="&#x25;" u2="&#x31;" k="-26" />
+    <hkern u1="&#x25;" u2="&#x30;" k="-23" />
+    <hkern u1="&#x25;" u2="&#x2f;" k="275" />
+    <hkern u1="&#x25;" u2="&#x2e;" k="329" />
+    <hkern u1="&#x25;" u2="&#x2d;" k="374" />
+    <hkern u1="&#x25;" u2="&#x2c;" k="427" />
+    <hkern u1="&#x25;" u2="&#x29;" k="83" />
+    <hkern u1="&#x25;" u2="&#x28;" k="48" />
+    <hkern u1="&#x25;" u2="&#x26;" k="188" />
+    <hkern u1="&#x25;" u2="&#x25;" k="223" />
+    <hkern u1="&#x25;" u2="&#x24;" k="-124" />
+    <hkern u1="&#x25;" u2="&#x23;" k="91" />
+    <hkern u1="&#x25;" g2=".notdef" k="177" />
+    <hkern u1="&#x26;" u2="&#xd0;" k="-43" />
+    <hkern u1="&#x26;" u2="&#xc1;" k="218" />
+    <hkern u1="&#x26;" u2="&#xc2;" k="77" />
+    <hkern u1="&#x26;" u2="&#x2021;" k="97" />
+    <hkern u1="&#x26;" u2="&#x203a;" k="31" />
+    <hkern u1="&#x26;" u2="&#x2014;" k="47" />
+    <hkern u1="&#x26;" u2="&#x153;" k="24" />
+    <hkern u1="&#x26;" u2="&#xc0;" k="432" />
+    <hkern u1="&#x26;" u2="&#xa2;" k="-95" />
+    <hkern u1="&#x26;" u2="&#xd1;" k="-67" />
+    <hkern u1="&#x26;" u2="&#xc9;" k="133" />
+    <hkern u1="&#x26;" u2="&#x7e;" k="163" />
+    <hkern u1="&#x26;" u2="v" k="-84" />
+    <hkern u1="&#x26;" u2="s" k="-27" />
+    <hkern u1="&#x26;" u2="r" k="-57" />
+    <hkern u1="&#x26;" u2="q" k="39" />
+    <hkern u1="&#x26;" u2="p" k="-25" />
+    <hkern u1="&#x26;" u2="n" k="-34" />
+    <hkern u1="&#x26;" u2="m" k="-110" />
+    <hkern u1="&#x26;" u2="l" k="-36" />
+    <hkern u1="&#x26;" u2="k" k="-62" />
+    <hkern u1="&#x26;" u2="j" k="97" />
+    <hkern u1="&#x26;" u2="h" k="-29" />
+    <hkern u1="&#x26;" u2="g" k="68" />
+    <hkern u1="&#x26;" u2="f" k="44" />
+    <hkern u1="&#x26;" u2="e" k="33" />
+    <hkern u1="&#x26;" u2="d" k="113" />
+    <hkern u1="&#x26;" u2="c" k="28" />
+    <hkern u1="&#x26;" u2="b" k="-53" />
+    <hkern u1="&#x26;" u2="a" k="67" />
+    <hkern u1="&#x26;" u2="`" k="230" />
+    <hkern u1="&#x26;" u2="Z" k="84" />
+    <hkern u1="&#x26;" u2="Y" k="71" />
+    <hkern u1="&#x26;" u2="X" k="60" />
+    <hkern u1="&#x26;" u2="W" k="-104" />
+    <hkern u1="&#x26;" u2="V" k="59" />
+    <hkern u1="&#x26;" u2="U" k="60" />
+    <hkern u1="&#x26;" u2="T" k="69" />
+    <hkern u1="&#x26;" u2="S" k="-71" />
+    <hkern u1="&#x26;" u2="Q" k="-72" />
+    <hkern u1="&#x26;" u2="P" k="21" />
+    <hkern u1="&#x26;" u2="O" k="-72" />
+    <hkern u1="&#x26;" u2="N" k="-26" />
+    <hkern u1="&#x26;" u2="M" k="21" />
+    <hkern u1="&#x26;" u2="L" k="114" />
+    <hkern u1="&#x26;" u2="K" k="-112" />
+    <hkern u1="&#x26;" u2="J" k="310" />
+    <hkern u1="&#x26;" u2="I" k="169" />
+    <hkern u1="&#x26;" u2="G" k="-67" />
+    <hkern u1="&#x26;" u2="C" k="-53" />
+    <hkern u1="&#x26;" u2="B" k="-100" />
+    <hkern u1="&#x26;" u2="A" k="59" />
+    <hkern u1="&#x26;" u2="&#x3f;" k="104" />
+    <hkern u1="&#x26;" u2="&#x3b;" k="220" />
+    <hkern u1="&#x26;" u2="&#x3a;" k="139" />
+    <hkern u1="&#x26;" u2="&#x39;" k="-36" />
+    <hkern u1="&#x26;" u2="&#x38;" k="-82" />
+    <hkern u1="&#x26;" u2="&#x37;" k="161" />
+    <hkern u1="&#x26;" u2="&#x35;" k="-26" />
+    <hkern u1="&#x26;" u2="&#x33;" k="34" />
+    <hkern u1="&#x26;" u2="&#x32;" k="44" />
+    <hkern u1="&#x26;" u2="&#x31;" k="81" />
+    <hkern u1="&#x26;" u2="&#x30;" k="-77" />
+    <hkern u1="&#x26;" u2="&#x2f;" k="159" />
+    <hkern u1="&#x26;" u2="&#x2e;" k="207" />
+    <hkern u1="&#x26;" u2="&#x2c;" k="284" />
+    <hkern u1="&#x26;" u2="&#x29;" k="275" />
+    <hkern u1="&#x26;" u2="&#x26;" k="146" />
+    <hkern u1="&#x26;" u2="&#x25;" k="142" />
+    <hkern u1="&#x26;" u2="&#x24;" k="-48" />
+    <hkern u1="&#x26;" u2="&#x23;" k="35" />
+    <hkern u1="&#x26;" u2="&#x21;" k="54" />
+    <hkern u1="&#x26;" g2=".notdef" k="59" />
+    <hkern u1="&#x28;" u2="&#xd0;" k="186" />
+    <hkern u1="&#x28;" u2="&#xc1;" k="111" />
+    <hkern u1="&#x28;" u2="&#xc2;" k="140" />
+    <hkern u1="&#x28;" u2="&#x2021;" k="62" />
+    <hkern u1="&#x28;" u2="&#x203a;" k="153" />
+    <hkern u1="&#x28;" u2="&#x2019;" k="160" />
+    <hkern u1="&#x28;" u2="&#x2014;" k="164" />
+    <hkern u1="&#x28;" u2="&#x2013;" k="62" />
+    <hkern u1="&#x28;" u2="&#x153;" k="114" />
+    <hkern u1="&#x28;" u2="&#xc0;" k="388" />
+    <hkern u1="&#x28;" u2="&#xd1;" k="161" />
+    <hkern u1="&#x28;" u2="&#xc9;" k="196" />
+    <hkern u1="&#x28;" u2="&#x7e;" k="184" />
+    <hkern u1="&#x28;" u2="z" k="99" />
+    <hkern u1="&#x28;" u2="y" k="245" />
+    <hkern u1="&#x28;" u2="x" k="36" />
+    <hkern u1="&#x28;" u2="w" k="126" />
+    <hkern u1="&#x28;" u2="v" k="115" />
+    <hkern u1="&#x28;" u2="u" k="95" />
+    <hkern u1="&#x28;" u2="t" k="203" />
+    <hkern u1="&#x28;" u2="s" k="139" />
+    <hkern u1="&#x28;" u2="r" k="82" />
+    <hkern u1="&#x28;" u2="q" k="119" />
+    <hkern u1="&#x28;" u2="o" k="150" />
+    <hkern u1="&#x28;" u2="n" k="53" />
+    <hkern u1="&#x28;" u2="m" k="21" />
+    <hkern u1="&#x28;" u2="l" k="-37" />
+    <hkern u1="&#x28;" u2="k" k="-32" />
+    <hkern u1="&#x28;" u2="j" k="25" />
+    <hkern u1="&#x28;" u2="i" k="53" />
+    <hkern u1="&#x28;" u2="g" k="169" />
+    <hkern u1="&#x28;" u2="f" k="145" />
+    <hkern u1="&#x28;" u2="e" k="130" />
+    <hkern u1="&#x28;" u2="d" k="60" />
+    <hkern u1="&#x28;" u2="c" k="147" />
+    <hkern u1="&#x28;" u2="b" k="25" />
+    <hkern u1="&#x28;" u2="a" k="45" />
+    <hkern u1="&#x28;" u2="`" k="45" />
+    <hkern u1="&#x28;" u2="Z" k="21" />
+    <hkern u1="&#x28;" u2="Y" k="-62" />
+    <hkern u1="&#x28;" u2="X" k="-81" />
+    <hkern u1="&#x28;" u2="W" k="44" />
+    <hkern u1="&#x28;" u2="V" k="28" />
+    <hkern u1="&#x28;" u2="U" k="-27" />
+    <hkern u1="&#x28;" u2="T" k="-60" />
+    <hkern u1="&#x28;" u2="S" k="99" />
+    <hkern u1="&#x28;" u2="R" k="-61" />
+    <hkern u1="&#x28;" u2="Q" k="34" />
+    <hkern u1="&#x28;" u2="P" k="-66" />
+    <hkern u1="&#x28;" u2="O" k="34" />
+    <hkern u1="&#x28;" u2="N" k="24" />
+    <hkern u1="&#x28;" u2="L" k="-33" />
+    <hkern u1="&#x28;" u2="K" k="-90" />
+    <hkern u1="&#x28;" u2="J" k="93" />
+    <hkern u1="&#x28;" u2="I" k="-97" />
+    <hkern u1="&#x28;" u2="H" k="-58" />
+    <hkern u1="&#x28;" u2="G" k="118" />
+    <hkern u1="&#x28;" u2="F" k="-22" />
+    <hkern u1="&#x28;" u2="C" k="91" />
+    <hkern u1="&#x28;" u2="&#x40;" k="224" />
+    <hkern u1="&#x28;" u2="&#x3f;" k="71" />
+    <hkern u1="&#x28;" u2="&#x3b;" k="119" />
+    <hkern u1="&#x28;" u2="&#x3a;" k="270" />
+    <hkern u1="&#x28;" u2="&#x38;" k="58" />
+    <hkern u1="&#x28;" u2="&#x37;" k="-73" />
+    <hkern u1="&#x28;" u2="&#x36;" k="87" />
+    <hkern u1="&#x28;" u2="&#x34;" k="109" />
+    <hkern u1="&#x28;" u2="&#x33;" k="73" />
+    <hkern u1="&#x28;" u2="&#x32;" k="-25" />
+    <hkern u1="&#x28;" u2="&#x30;" k="74" />
+    <hkern u1="&#x28;" u2="&#x2e;" k="269" />
+    <hkern u1="&#x28;" u2="&#x2d;" k="210" />
+    <hkern u1="&#x28;" u2="&#x2c;" k="95" />
+    <hkern u1="&#x28;" u2="&#x29;" k="69" />
+    <hkern u1="&#x28;" u2="&#x28;" k="130" />
+    <hkern u1="&#x28;" u2="&#x26;" k="259" />
+    <hkern u1="&#x28;" u2="&#x25;" k="-21" />
+    <hkern u1="&#x28;" u2="&#x23;" k="131" />
+    <hkern u1="&#x28;" u2="&#x21;" k="84" />
+    <hkern u1="&#x28;" g2=".notdef" k="141" />
+    <hkern u1="&#x29;" u2="&#xd0;" k="-132" />
+    <hkern u1="&#x29;" u2="&#xc1;" k="85" />
+    <hkern u1="&#x29;" u2="&#x203a;" k="-81" />
+    <hkern u1="&#x29;" u2="&#x2019;" k="-92" />
+    <hkern u1="&#x29;" u2="&#x2014;" k="-67" />
+    <hkern u1="&#x29;" u2="&#x2013;" k="-99" />
+    <hkern u1="&#x29;" u2="&#x153;" k="-76" />
+    <hkern u1="&#x29;" u2="&#xc0;" k="351" />
+    <hkern u1="&#x29;" u2="&#xa2;" k="-187" />
+    <hkern u1="&#x29;" u2="&#xd1;" k="-157" />
+    <hkern u1="&#x29;" u2="&#xc9;" k="36" />
+    <hkern u1="&#x29;" u2="&#x7e;" k="-37" />
+    <hkern u1="&#x29;" u2="z" k="-82" />
+    <hkern u1="&#x29;" u2="y" k="-72" />
+    <hkern u1="&#x29;" u2="x" k="-137" />
+    <hkern u1="&#x29;" u2="w" k="-96" />
+    <hkern u1="&#x29;" u2="v" k="-161" />
+    <hkern u1="&#x29;" u2="u" k="-102" />
+    <hkern u1="&#x29;" u2="t" k="-98" />
+    <hkern u1="&#x29;" u2="s" k="-132" />
+    <hkern u1="&#x29;" u2="r" k="-142" />
+    <hkern u1="&#x29;" u2="q" k="-72" />
+    <hkern u1="&#x29;" u2="p" k="-99" />
+    <hkern u1="&#x29;" u2="o" k="-87" />
+    <hkern u1="&#x29;" u2="n" k="-110" />
+    <hkern u1="&#x29;" u2="m" k="-187" />
+    <hkern u1="&#x29;" u2="l" k="-124" />
+    <hkern u1="&#x29;" u2="k" k="-145" />
+    <hkern u1="&#x29;" u2="j" k="-22" />
+    <hkern u1="&#x29;" u2="i" k="-99" />
+    <hkern u1="&#x29;" u2="h" k="-115" />
+    <hkern u1="&#x29;" u2="g" k="-49" />
+    <hkern u1="&#x29;" u2="f" k="-123" />
+    <hkern u1="&#x29;" u2="e" k="-93" />
+    <hkern u1="&#x29;" u2="c" k="-90" />
+    <hkern u1="&#x29;" u2="b" k="-142" />
+    <hkern u1="&#x29;" u2="a" k="-41" />
+    <hkern u1="&#x29;" u2="Z" k="-22" />
+    <hkern u1="&#x29;" u2="Y" k="-128" />
+    <hkern u1="&#x29;" u2="X" k="-53" />
+    <hkern u1="&#x29;" u2="W" k="-190" />
+    <hkern u1="&#x29;" u2="V" k="-148" />
+    <hkern u1="&#x29;" u2="U" k="-135" />
+    <hkern u1="&#x29;" u2="T" k="-139" />
+    <hkern u1="&#x29;" u2="S" k="-155" />
+    <hkern u1="&#x29;" u2="R" k="-179" />
+    <hkern u1="&#x29;" u2="Q" k="-159" />
+    <hkern u1="&#x29;" u2="P" k="-174" />
+    <hkern u1="&#x29;" u2="O" k="-163" />
+    <hkern u1="&#x29;" u2="N" k="-177" />
+    <hkern u1="&#x29;" u2="M" k="-181" />
+    <hkern u1="&#x29;" u2="K" k="-199" />
+    <hkern u1="&#x29;" u2="J" k="53" />
+    <hkern u1="&#x29;" u2="I" k="-98" />
+    <hkern u1="&#x29;" u2="H" k="-100" />
+    <hkern u1="&#x29;" u2="G" k="-150" />
+    <hkern u1="&#x29;" u2="F" k="-160" />
+    <hkern u1="&#x29;" u2="E" k="-170" />
+    <hkern u1="&#x29;" u2="D" k="-199" />
+    <hkern u1="&#x29;" u2="C" k="-147" />
+    <hkern u1="&#x29;" u2="B" k="-220" />
+    <hkern u1="&#x29;" u2="A" k="-94" />
+    <hkern u1="&#x29;" u2="&#x40;" k="-77" />
+    <hkern u1="&#x29;" u2="&#x3f;" k="-113" />
+    <hkern u1="&#x29;" u2="&#x3b;" k="142" />
+    <hkern u1="&#x29;" u2="&#x3a;" k="58" />
+    <hkern u1="&#x29;" u2="&#x39;" k="-120" />
+    <hkern u1="&#x29;" u2="&#x38;" k="-176" />
+    <hkern u1="&#x29;" u2="&#x37;" k="-56" />
+    <hkern u1="&#x29;" u2="&#x36;" k="-101" />
+    <hkern u1="&#x29;" u2="&#x35;" k="-135" />
+    <hkern u1="&#x29;" u2="&#x34;" k="-109" />
+    <hkern u1="&#x29;" u2="&#x33;" k="-78" />
+    <hkern u1="&#x29;" u2="&#x32;" k="-180" />
+    <hkern u1="&#x29;" u2="&#x31;" k="-83" />
+    <hkern u1="&#x29;" u2="&#x30;" k="-161" />
+    <hkern u1="&#x29;" u2="&#x2f;" k="47" />
+    <hkern u1="&#x29;" u2="&#x2e;" k="110" />
+    <hkern u1="&#x29;" u2="&#x2d;" k="-109" />
+    <hkern u1="&#x29;" u2="&#x2c;" k="177" />
+    <hkern u1="&#x29;" u2="&#x29;" k="127" />
+    <hkern u1="&#x29;" u2="&#x28;" k="-96" />
+    <hkern u1="&#x29;" u2="&#x25;" k="30" />
+    <hkern u1="&#x29;" u2="&#x24;" k="-159" />
+    <hkern u1="&#x29;" u2="&#x23;" k="-57" />
+    <hkern u1="&#x29;" u2="&#x21;" k="-34" />
+    <hkern u1="&#x29;" g2=".notdef" k="-75" />
+    <hkern u1="&#x2c;" u2="&#xd0;" k="343" />
+    <hkern u1="&#x2c;" u2="&#xc1;" k="92" />
+    <hkern u1="&#x2c;" u2="&#xc2;" k="49" />
+    <hkern u1="&#x2c;" u2="&#x2021;" k="-67" />
+    <hkern u1="&#x2c;" u2="&#x203a;" k="-42" />
+    <hkern u1="&#x2c;" u2="&#x2014;" k="-42" />
+    <hkern u1="&#x2c;" u2="&#x2013;" k="-67" />
+    <hkern u1="&#x2c;" u2="&#x153;" k="-63" />
+    <hkern u1="&#x2c;" u2="&#xc0;" k="291" />
+    <hkern u1="&#x2c;" u2="&#xa2;" k="281" />
+    <hkern u1="&#x2c;" u2="&#xd1;" k="298" />
+    <hkern u1="&#x2c;" u2="&#x7e;" k="448" />
+    <hkern u1="&#x2c;" u2="z" k="-67" />
+    <hkern u1="&#x2c;" u2="x" k="-36" />
+    <hkern u1="&#x2c;" u2="w" k="-47" />
+    <hkern u1="&#x2c;" u2="v" k="122" />
+    <hkern u1="&#x2c;" u2="u" k="-63" />
+    <hkern u1="&#x2c;" u2="t" k="156" />
+    <hkern u1="&#x2c;" u2="s" k="-24" />
+    <hkern u1="&#x2c;" u2="r" k="-38" />
+    <hkern u1="&#x2c;" u2="q" k="-60" />
+    <hkern u1="&#x2c;" u2="p" k="-29" />
+    <hkern u1="&#x2c;" u2="o" k="-42" />
+    <hkern u1="&#x2c;" u2="n" k="-67" />
+    <hkern u1="&#x2c;" u2="m" k="-106" />
+    <hkern u1="&#x2c;" u2="k" k="-25" />
+    <hkern u1="&#x2c;" u2="j" k="-53" />
+    <hkern u1="&#x2c;" u2="h" k="-39" />
+    <hkern u1="&#x2c;" u2="f" k="100" />
+    <hkern u1="&#x2c;" u2="e" k="-66" />
+    <hkern u1="&#x2c;" u2="d" k="-56" />
+    <hkern u1="&#x2c;" u2="c" k="-53" />
+    <hkern u1="&#x2c;" u2="b" k="-51" />
+    <hkern u1="&#x2c;" u2="a" k="-67" />
+    <hkern u1="&#x2c;" u2="`" k="431" />
+    <hkern u1="&#x2c;" u2="Z" k="-67" />
+    <hkern u1="&#x2c;" u2="Y" k="100" />
+    <hkern u1="&#x2c;" u2="X" k="-80" />
+    <hkern u1="&#x2c;" u2="W" k="254" />
+    <hkern u1="&#x2c;" u2="V" k="324" />
+    <hkern u1="&#x2c;" u2="T" k="304" />
+    <hkern u1="&#x2c;" u2="S" k="29" />
+    <hkern u1="&#x2c;" u2="R" k="261" />
+    <hkern u1="&#x2c;" u2="Q" k="-30" />
+    <hkern u1="&#x2c;" u2="P" k="267" />
+    <hkern u1="&#x2c;" u2="O" k="-47" />
+    <hkern u1="&#x2c;" u2="N" k="270" />
+    <hkern u1="&#x2c;" u2="M" k="280" />
+    <hkern u1="&#x2c;" u2="K" k="-80" />
+    <hkern u1="&#x2c;" u2="I" k="50" />
+    <hkern u1="&#x2c;" u2="G" k="-45" />
+    <hkern u1="&#x2c;" u2="F" k="64" />
+    <hkern u1="&#x2c;" u2="E" k="102" />
+    <hkern u1="&#x2c;" u2="D" k="253" />
+    <hkern u1="&#x2c;" u2="C" k="-67" />
+    <hkern u1="&#x2c;" u2="B" k="-34" />
+    <hkern u1="&#x2c;" u2="&#x40;" k="160" />
+    <hkern u1="&#x2c;" u2="&#x3f;" k="376" />
+    <hkern u1="&#x2c;" u2="&#x3b;" k="175" />
+    <hkern u1="&#x2c;" u2="&#x3a;" k="106" />
+    <hkern u1="&#x2c;" u2="&#x39;" k="126" />
+    <hkern u1="&#x2c;" u2="&#x38;" k="39" />
+    <hkern u1="&#x2c;" u2="&#x37;" k="25" />
+    <hkern u1="&#x2c;" u2="&#x36;" k="-31" />
+    <hkern u1="&#x2c;" u2="&#x35;" k="-40" />
+    <hkern u1="&#x2c;" u2="&#x34;" k="363" />
+    <hkern u1="&#x2c;" u2="&#x33;" k="-143" />
+    <hkern u1="&#x2c;" u2="&#x32;" k="-86" />
+    <hkern u1="&#x2c;" u2="&#x31;" k="68" />
+    <hkern u1="&#x2c;" u2="&#x30;" k="-21" />
+    <hkern u1="&#x2c;" u2="&#x2f;" k="-23" />
+    <hkern u1="&#x2c;" u2="&#x2e;" k="90" />
+    <hkern u1="&#x2c;" u2="&#x2d;" k="366" />
+    <hkern u1="&#x2c;" u2="&#x2c;" k="166" />
+    <hkern u1="&#x2c;" u2="&#x29;" k="128" />
+    <hkern u1="&#x2c;" u2="&#x26;" k="59" />
+    <hkern u1="&#x2c;" u2="&#x25;" k="-23" />
+    <hkern u1="&#x2c;" u2="&#x24;" k="296" />
+    <hkern u1="&#x2c;" u2="&#x23;" k="189" />
+    <hkern u1="&#x2c;" u2="&#x21;" k="171" />
+    <hkern u1="&#x2c;" g2=".notdef" k="-66" />
+    <hkern u1="&#x2d;" u2="&#xd0;" k="-94" />
+    <hkern u1="&#x2d;" u2="&#xc1;" k="109" />
+    <hkern u1="&#x2d;" u2="&#x2021;" k="49" />
+    <hkern u1="&#x2d;" u2="&#x203a;" k="-55" />
+    <hkern u1="&#x2d;" u2="&#x2019;" k="-83" />
+    <hkern u1="&#x2d;" u2="&#x2014;" k="-55" />
+    <hkern u1="&#x2d;" u2="&#x2013;" k="-78" />
+    <hkern u1="&#x2d;" u2="&#x153;" k="-74" />
+    <hkern u1="&#x2d;" u2="&#xc0;" k="286" />
+    <hkern u1="&#x2d;" u2="&#xa2;" k="-94" />
+    <hkern u1="&#x2d;" u2="&#xd1;" k="-138" />
+    <hkern u1="&#x2d;" u2="&#xc9;" k="664" />
+    <hkern u1="&#x2d;" u2="&#x7e;" k="586" />
+    <hkern u1="&#x2d;" u2="z" k="258" />
+    <hkern u1="&#x2d;" u2="y" k="-65" />
+    <hkern u1="&#x2d;" u2="x" k="71" />
+    <hkern u1="&#x2d;" u2="w" k="-94" />
+    <hkern u1="&#x2d;" u2="v" k="-87" />
+    <hkern u1="&#x2d;" u2="u" k="-74" />
+    <hkern u1="&#x2d;" u2="t" k="-100" />
+    <hkern u1="&#x2d;" u2="s" k="-129" />
+    <hkern u1="&#x2d;" u2="r" k="-93" />
+    <hkern u1="&#x2d;" u2="p" k="-73" />
+    <hkern u1="&#x2d;" u2="o" k="-55" />
+    <hkern u1="&#x2d;" u2="n" k="-78" />
+    <hkern u1="&#x2d;" u2="m" k="-158" />
+    <hkern u1="&#x2d;" u2="l" k="-92" />
+    <hkern u1="&#x2d;" u2="k" k="-126" />
+    <hkern u1="&#x2d;" u2="j" k="140" />
+    <hkern u1="&#x2d;" u2="i" k="-83" />
+    <hkern u1="&#x2d;" u2="h" k="-92" />
+    <hkern u1="&#x2d;" u2="f" k="-64" />
+    <hkern u1="&#x2d;" u2="e" k="-45" />
+    <hkern u1="&#x2d;" u2="d" k="51" />
+    <hkern u1="&#x2d;" u2="c" k="-47" />
+    <hkern u1="&#x2d;" u2="b" k="-126" />
+    <hkern u1="&#x2d;" u2="a" k="49" />
+    <hkern u1="&#x2d;" u2="`" k="483" />
+    <hkern u1="&#x2d;" u2="Z" k="154" />
+    <hkern u1="&#x2d;" u2="Y" k="45" />
+    <hkern u1="&#x2d;" u2="X" k="57" />
+    <hkern u1="&#x2d;" u2="W" k="193" />
+    <hkern u1="&#x2d;" u2="V" k="262" />
+    <hkern u1="&#x2d;" u2="T" k="252" />
+    <hkern u1="&#x2d;" u2="S" k="-61" />
+    <hkern u1="&#x2d;" u2="R" k="71" />
+    <hkern u1="&#x2d;" u2="Q" k="-148" />
+    <hkern u1="&#x2d;" u2="O" k="-148" />
+    <hkern u1="&#x2d;" u2="N" k="130" />
+    <hkern u1="&#x2d;" u2="M" k="121" />
+    <hkern u1="&#x2d;" u2="L" k="72" />
+    <hkern u1="&#x2d;" u2="K" k="-170" />
+    <hkern u1="&#x2d;" u2="J" k="228" />
+    <hkern u1="&#x2d;" u2="I" k="121" />
+    <hkern u1="&#x2d;" u2="H" k="-88" />
+    <hkern u1="&#x2d;" u2="G" k="-146" />
+    <hkern u1="&#x2d;" u2="F" k="-132" />
+    <hkern u1="&#x2d;" u2="E" k="-85" />
+    <hkern u1="&#x2d;" u2="C" k="-140" />
+    <hkern u1="&#x2d;" u2="B" k="-32" />
+    <hkern u1="&#x2d;" u2="A" k="53" />
+    <hkern u1="&#x2d;" u2="&#x40;" k="-63" />
+    <hkern u1="&#x2d;" u2="&#x3f;" k="147" />
+    <hkern u1="&#x2d;" u2="&#x3b;" k="202" />
+    <hkern u1="&#x2d;" u2="&#x3a;" k="95" />
+    <hkern u1="&#x2d;" u2="&#x39;" k="-113" />
+    <hkern u1="&#x2d;" u2="&#x38;" k="95" />
+    <hkern u1="&#x2d;" u2="&#x37;" k="93" />
+    <hkern u1="&#x2d;" u2="&#x36;" k="-92" />
+    <hkern u1="&#x2d;" u2="&#x35;" k="-156" />
+    <hkern u1="&#x2d;" u2="&#x34;" k="-105" />
+    <hkern u1="&#x2d;" u2="&#x33;" k="100" />
+    <hkern u1="&#x2d;" u2="&#x32;" k="273" />
+    <hkern u1="&#x2d;" u2="&#x31;" k="22" />
+    <hkern u1="&#x2d;" u2="&#x30;" k="-146" />
+    <hkern u1="&#x2d;" u2="&#x2f;" k="151" />
+    <hkern u1="&#x2d;" u2="&#x2e;" k="288" />
+    <hkern u1="&#x2d;" u2="&#x2d;" k="-70" />
+    <hkern u1="&#x2d;" u2="&#x2c;" k="357" />
+    <hkern u1="&#x2d;" u2="&#x29;" k="223" />
+    <hkern u1="&#x2d;" u2="&#x28;" k="-83" />
+    <hkern u1="&#x2d;" u2="&#x26;" k="69" />
+    <hkern u1="&#x2d;" u2="&#x25;" k="151" />
+    <hkern u1="&#x2d;" u2="&#x24;" k="-97" />
+    <hkern u1="&#x2d;" g2=".notdef" k="-45" />
+    <hkern u1="&#x2e;" u2="&#xd0;" k="147" />
+    <hkern u1="&#x2e;" u2="&#xc2;" k="-43" />
+    <hkern u1="&#x2e;" u2="&#x2021;" k="-161" />
+    <hkern u1="&#x2e;" u2="&#x203a;" k="-126" />
+    <hkern u1="&#x2e;" u2="&#x2019;" k="-90" />
+    <hkern u1="&#x2e;" u2="&#x2014;" k="-126" />
+    <hkern u1="&#x2e;" u2="&#x2013;" k="-156" />
+    <hkern u1="&#x2e;" u2="&#x153;" k="-148" />
+    <hkern u1="&#x2e;" u2="&#xc0;" k="115" />
+    <hkern u1="&#x2e;" u2="&#xa2;" k="85" />
+    <hkern u1="&#x2e;" u2="&#xd1;" k="102" />
+    <hkern u1="&#x2e;" u2="&#xc9;" k="-67" />
+    <hkern u1="&#x2e;" u2="&#x7e;" k="252" />
+    <hkern u1="&#x2e;" u2="z" k="-164" />
+    <hkern u1="&#x2e;" u2="y" k="-42" />
+    <hkern u1="&#x2e;" u2="x" k="-136" />
+    <hkern u1="&#x2e;" u2="w" k="-131" />
+    <hkern u1="&#x2e;" u2="v" k="118" />
+    <hkern u1="&#x2e;" u2="u" k="-148" />
+    <hkern u1="&#x2e;" u2="t" k="168" />
+    <hkern u1="&#x2e;" u2="s" k="-124" />
+    <hkern u1="&#x2e;" u2="r" k="-125" />
+    <hkern u1="&#x2e;" u2="q" k="-182" />
+    <hkern u1="&#x2e;" u2="p" k="-120" />
+    <hkern u1="&#x2e;" u2="o" k="-126" />
+    <hkern u1="&#x2e;" u2="n" k="-156" />
+    <hkern u1="&#x2e;" u2="m" k="-190" />
+    <hkern u1="&#x2e;" u2="l" k="-85" />
+    <hkern u1="&#x2e;" u2="k" k="-124" />
+    <hkern u1="&#x2e;" u2="j" k="-235" />
+    <hkern u1="&#x2e;" u2="i" k="-90" />
+    <hkern u1="&#x2e;" u2="h" k="-129" />
+    <hkern u1="&#x2e;" u2="g" k="-141" />
+    <hkern u1="&#x2e;" u2="f" k="118" />
+    <hkern u1="&#x2e;" u2="e" k="-150" />
+    <hkern u1="&#x2e;" u2="d" k="-151" />
+    <hkern u1="&#x2e;" u2="c" k="-136" />
+    <hkern u1="&#x2e;" u2="b" k="-140" />
+    <hkern u1="&#x2e;" u2="a" k="-161" />
+    <hkern u1="&#x2e;" u2="`" k="236" />
+    <hkern u1="&#x2e;" u2="Z" k="-193" />
+    <hkern u1="&#x2e;" u2="Y" k="83" />
+    <hkern u1="&#x2e;" u2="X" k="-180" />
+    <hkern u1="&#x2e;" u2="W" k="73" />
+    <hkern u1="&#x2e;" u2="V" k="136" />
+    <hkern u1="&#x2e;" u2="U" k="-83" />
+    <hkern u1="&#x2e;" u2="T" k="116" />
+    <hkern u1="&#x2e;" u2="S" k="89" />
+    <hkern u1="&#x2e;" u2="R" k="74" />
+    <hkern u1="&#x2e;" u2="Q" k="-127" />
+    <hkern u1="&#x2e;" u2="P" k="79" />
+    <hkern u1="&#x2e;" u2="O" k="-129" />
+    <hkern u1="&#x2e;" u2="N" k="91" />
+    <hkern u1="&#x2e;" u2="M" k="69" />
+    <hkern u1="&#x2e;" u2="L" k="86" />
+    <hkern u1="&#x2e;" u2="K" k="-162" />
+    <hkern u1="&#x2e;" u2="J" k="-162" />
+    <hkern u1="&#x2e;" u2="I" k="120" />
+    <hkern u1="&#x2e;" u2="H" k="67" />
+    <hkern u1="&#x2e;" u2="G" k="-132" />
+    <hkern u1="&#x2e;" u2="F" k="93" />
+    <hkern u1="&#x2e;" u2="E" k="81" />
+    <hkern u1="&#x2e;" u2="D" k="70" />
+    <hkern u1="&#x2e;" u2="C" k="-156" />
+    <hkern u1="&#x2e;" u2="B" k="31" />
+    <hkern u1="&#x2e;" u2="A" k="-115" />
+    <hkern u1="&#x2e;" u2="&#x40;" k="225" />
+    <hkern u1="&#x2e;" u2="&#x3f;" k="241" />
+    <hkern u1="&#x2e;" u2="&#x3b;" k="224" />
+    <hkern u1="&#x2e;" u2="&#x39;" k="198" />
+    <hkern u1="&#x2e;" u2="&#x38;" k="78" />
+    <hkern u1="&#x2e;" u2="&#x37;" k="-71" />
+    <hkern u1="&#x2e;" u2="&#x36;" k="-121" />
+    <hkern u1="&#x2e;" u2="&#x35;" k="-138" />
+    <hkern u1="&#x2e;" u2="&#x34;" k="179" />
+    <hkern u1="&#x2e;" u2="&#x33;" k="-256" />
+    <hkern u1="&#x2e;" u2="&#x32;" k="-187" />
+    <hkern u1="&#x2e;" u2="&#x31;" k="117" />
+    <hkern u1="&#x2e;" u2="&#x30;" k="-105" />
+    <hkern u1="&#x2e;" u2="&#x2f;" k="-120" />
+    <hkern u1="&#x2e;" u2="&#x2d;" k="170" />
+    <hkern u1="&#x2e;" u2="&#x2c;" k="229" />
+    <hkern u1="&#x2e;" u2="&#x29;" k="179" />
+    <hkern u1="&#x2e;" u2="&#x28;" k="-73" />
+    <hkern u1="&#x2e;" u2="&#x26;" k="-25" />
+    <hkern u1="&#x2e;" u2="&#x25;" k="-120" />
+    <hkern u1="&#x2e;" u2="&#x24;" k="101" />
+    <hkern u1="&#x2e;" u2="&#x23;" k="192" />
+    <hkern u1="&#x2e;" u2="&#x21;" k="256" />
+    <hkern u1="&#x2e;" g2=".notdef" k="-150" />
+    <hkern u1="&#x2f;" u2="&#xd0;" k="339" />
+    <hkern u1="&#x2f;" u2="&#xc1;" k="612" />
+    <hkern u1="&#x2f;" u2="&#xc2;" k="369" />
+    <hkern u1="&#x2f;" u2="&#x2021;" k="427" />
+    <hkern u1="&#x2f;" u2="&#x203a;" k="201" />
+    <hkern u1="&#x2f;" u2="&#x2019;" k="168" />
+    <hkern u1="&#x2f;" u2="&#x2014;" k="313" />
+    <hkern u1="&#x2f;" u2="&#x2013;" k="193" />
+    <hkern u1="&#x2f;" u2="&#x153;" k="292" />
+    <hkern u1="&#x2f;" u2="&#xc0;" k="900" />
+    <hkern u1="&#x2f;" u2="&#xa2;" k="-91" />
+    <hkern u1="&#x2f;" u2="&#xd1;" k="314" />
+    <hkern u1="&#x2f;" u2="&#xc9;" k="663" />
+    <hkern u1="&#x2f;" u2="&#x7e;" k="136" />
+    <hkern u1="&#x2f;" u2="z" k="313" />
+    <hkern u1="&#x2f;" u2="y" k="271" />
+    <hkern u1="&#x2f;" u2="x" k="104" />
+    <hkern u1="&#x2f;" u2="w" k="306" />
+    <hkern u1="&#x2f;" u2="v" k="207" />
+    <hkern u1="&#x2f;" u2="u" k="293" />
+    <hkern u1="&#x2f;" u2="t" k="231" />
+    <hkern u1="&#x2f;" u2="s" k="338" />
+    <hkern u1="&#x2f;" u2="r" k="174" />
+    <hkern u1="&#x2f;" u2="q" k="471" />
+    <hkern u1="&#x2f;" u2="p" k="228" />
+    <hkern u1="&#x2f;" u2="o" k="360" />
+    <hkern u1="&#x2f;" u2="n" k="291" />
+    <hkern u1="&#x2f;" u2="m" k="195" />
+    <hkern u1="&#x2f;" u2="l" k="-81" />
+    <hkern u1="&#x2f;" u2="k" k="-76" />
+    <hkern u1="&#x2f;" u2="j" k="177" />
+    <hkern u1="&#x2f;" u2="i" k="-27" />
+    <hkern u1="&#x2f;" u2="h" k="-38" />
+    <hkern u1="&#x2f;" u2="g" k="462" />
+    <hkern u1="&#x2f;" u2="f" k="81" />
+    <hkern u1="&#x2f;" u2="e" k="392" />
+    <hkern u1="&#x2f;" u2="d" k="480" />
+    <hkern u1="&#x2f;" u2="c" k="388" />
+    <hkern u1="&#x2f;" u2="b" k="-31" />
+    <hkern u1="&#x2f;" u2="a" k="510" />
+    <hkern u1="&#x2f;" u2="`" k="-96" />
+    <hkern u1="&#x2f;" u2="Y" k="-135" />
+    <hkern u1="&#x2f;" u2="X" k="-69" />
+    <hkern u1="&#x2f;" u2="W" k="30" />
+    <hkern u1="&#x2f;" u2="V" k="-28" />
+    <hkern u1="&#x2f;" u2="U" k="-103" />
+    <hkern u1="&#x2f;" u2="T" k="-137" />
+    <hkern u1="&#x2f;" u2="S" k="65" />
+    <hkern u1="&#x2f;" u2="R" k="-124" />
+    <hkern u1="&#x2f;" u2="Q" k="-35" />
+    <hkern u1="&#x2f;" u2="P" k="-136" />
+    <hkern u1="&#x2f;" u2="O" k="-39" />
+    <hkern u1="&#x2f;" u2="M" k="-23" />
+    <hkern u1="&#x2f;" u2="K" k="-143" />
+    <hkern u1="&#x2f;" u2="I" k="-137" />
+    <hkern u1="&#x2f;" u2="G" k="45" />
+    <hkern u1="&#x2f;" u2="F" k="-68" />
+    <hkern u1="&#x2f;" u2="E" k="-53" />
+    <hkern u1="&#x2f;" u2="D" k="-43" />
+    <hkern u1="&#x2f;" u2="C" k="102" />
+    <hkern u1="&#x2f;" u2="A" k="290" />
+    <hkern u1="&#x2f;" u2="&#x40;" k="279" />
+    <hkern u1="&#x2f;" u2="&#x3f;" k="46" />
+    <hkern u1="&#x2f;" u2="&#x3b;" k="587" />
+    <hkern u1="&#x2f;" u2="&#x3a;" k="509" />
+    <hkern u1="&#x2f;" u2="&#x39;" k="50" />
+    <hkern u1="&#x2f;" u2="&#x38;" k="63" />
+    <hkern u1="&#x2f;" u2="&#x37;" k="-96" />
+    <hkern u1="&#x2f;" u2="&#x36;" k="146" />
+    <hkern u1="&#x2f;" u2="&#x34;" k="62" />
+    <hkern u1="&#x2f;" u2="&#x33;" k="101" />
+    <hkern u1="&#x2f;" u2="&#x2f;" k="568" />
+    <hkern u1="&#x2f;" u2="&#x2e;" k="737" />
+    <hkern u1="&#x2f;" u2="&#x2d;" k="369" />
+    <hkern u1="&#x2f;" u2="&#x2c;" k="795" />
+    <hkern u1="&#x2f;" u2="&#x29;" k="106" />
+    <hkern u1="&#x2f;" u2="&#x28;" k="65" />
+    <hkern u1="&#x2f;" u2="&#x26;" k="212" />
+    <hkern u1="&#x2f;" u2="&#x25;" k="240" />
+    <hkern u1="&#x2f;" u2="&#x24;" k="-121" />
+    <hkern u1="&#x2f;" u2="&#x23;" k="109" />
+    <hkern u1="&#x2f;" u2="&#x21;" k="27" />
+    <hkern u1="&#x2f;" g2=".notdef" k="323" />
+    <hkern u1="&#x30;" u2="&#xd0;" k="-86" />
+    <hkern u1="&#x30;" u2="&#xc1;" k="131" />
+    <hkern u1="&#x30;" u2="&#xc2;" k="37" />
+    <hkern u1="&#x30;" u2="&#x2021;" k="28" />
+    <hkern u1="&#x30;" u2="&#x203a;" k="-35" />
+    <hkern u1="&#x30;" u2="&#x2019;" k="-43" />
+    <hkern u1="&#x30;" u2="&#x2013;" k="-51" />
+    <hkern u1="&#x30;" u2="&#x153;" k="-28" />
+    <hkern u1="&#x30;" u2="&#xc0;" k="334" />
+    <hkern u1="&#x30;" u2="&#xa2;" k="-132" />
+    <hkern u1="&#x30;" u2="&#xd1;" k="-111" />
+    <hkern u1="&#x30;" u2="&#xc9;" k="79" />
+    <hkern u1="&#x30;" u2="&#x7e;" k="27" />
+    <hkern u1="&#x30;" u2="z" k="-34" />
+    <hkern u1="&#x30;" u2="y" k="-29" />
+    <hkern u1="&#x30;" u2="x" k="-77" />
+    <hkern u1="&#x30;" u2="w" k="-49" />
+    <hkern u1="&#x30;" u2="v" k="-112" />
+    <hkern u1="&#x30;" u2="u" k="-57" />
+    <hkern u1="&#x30;" u2="t" k="-51" />
+    <hkern u1="&#x30;" u2="s" k="-86" />
+    <hkern u1="&#x30;" u2="r" k="-90" />
+    <hkern u1="&#x30;" u2="q" k="-31" />
+    <hkern u1="&#x30;" u2="p" k="-53" />
+    <hkern u1="&#x30;" u2="o" k="-42" />
+    <hkern u1="&#x30;" u2="n" k="-63" />
+    <hkern u1="&#x30;" u2="m" k="-140" />
+    <hkern u1="&#x30;" u2="l" k="-72" />
+    <hkern u1="&#x30;" u2="k" k="-94" />
+    <hkern u1="&#x30;" u2="j" k="61" />
+    <hkern u1="&#x30;" u2="i" k="-51" />
+    <hkern u1="&#x30;" u2="h" k="-65" />
+    <hkern u1="&#x30;" u2="f" k="-74" />
+    <hkern u1="&#x30;" u2="e" k="-49" />
+    <hkern u1="&#x30;" u2="d" k="48" />
+    <hkern u1="&#x30;" u2="c" k="-46" />
+    <hkern u1="&#x30;" u2="b" k="-92" />
+    <hkern u1="&#x30;" u2="`" k="98" />
+    <hkern u1="&#x30;" u2="Z" k="26" />
+    <hkern u1="&#x30;" u2="Y" k="-41" />
+    <hkern u1="&#x30;" u2="W" k="-139" />
+    <hkern u1="&#x30;" u2="V" k="-80" />
+    <hkern u1="&#x30;" u2="U" k="-50" />
+    <hkern u1="&#x30;" u2="T" k="-47" />
+    <hkern u1="&#x30;" u2="S" k="-103" />
+    <hkern u1="&#x30;" u2="R" k="-93" />
+    <hkern u1="&#x30;" u2="Q" k="-109" />
+    <hkern u1="&#x30;" u2="P" k="-89" />
+    <hkern u1="&#x30;" u2="O" k="-113" />
+    <hkern u1="&#x30;" u2="N" k="-112" />
+    <hkern u1="&#x30;" u2="M" k="-118" />
+    <hkern u1="&#x30;" u2="L" k="78" />
+    <hkern u1="&#x30;" u2="K" k="-148" />
+    <hkern u1="&#x30;" u2="J" k="155" />
+    <hkern u1="&#x30;" u2="H" k="-50" />
+    <hkern u1="&#x30;" u2="G" k="-106" />
+    <hkern u1="&#x30;" u2="F" k="-100" />
+    <hkern u1="&#x30;" u2="E" k="-96" />
+    <hkern u1="&#x30;" u2="D" k="-129" />
+    <hkern u1="&#x30;" u2="C" k="-99" />
+    <hkern u1="&#x30;" u2="B" k="-159" />
+    <hkern u1="&#x30;" u2="A" k="-48" />
+    <hkern u1="&#x30;" u2="&#x40;" k="-29" />
+    <hkern u1="&#x30;" u2="&#x3f;" k="-44" />
+    <hkern u1="&#x30;" u2="&#x3b;" k="190" />
+    <hkern u1="&#x30;" u2="&#x3a;" k="104" />
+    <hkern u1="&#x30;" u2="&#x2f;" k="97" />
+    <hkern u1="&#x30;" u2="&#x2e;" k="153" />
+    <hkern u1="&#x30;" u2="&#x2d;" k="-63" />
+    <hkern u1="&#x30;" u2="&#x2c;" k="223" />
+    <hkern u1="&#x30;" u2="&#x29;" k="211" />
+    <hkern u1="&#x30;" u2="&#x28;" k="-48" />
+    <hkern u1="&#x30;" u2="&#x26;" k="49" />
+    <hkern u1="&#x30;" u2="&#x25;" k="78" />
+    <hkern u1="&#x30;" u2="&#x24;" k="-87" />
+    <hkern u1="&#x30;" g2=".notdef" k="-29" />
+    <hkern u1="&#x31;" u2="&#xd0;" k="140" />
+    <hkern u1="&#x31;" u2="&#xc1;" k="35" />
+    <hkern u1="&#x31;" u2="&#xc2;" k="34" />
+    <hkern u1="&#x31;" u2="&#x2021;" k="-48" />
+    <hkern u1="&#x31;" u2="&#x2019;" k="27" />
+    <hkern u1="&#x31;" u2="&#x2013;" k="-81" />
+    <hkern u1="&#x31;" u2="&#x153;" k="-26" />
+    <hkern u1="&#x31;" u2="&#xc0;" k="298" />
+    <hkern u1="&#x31;" u2="&#xa2;" k="43" />
+    <hkern u1="&#x31;" u2="&#xd1;" k="115" />
+    <hkern u1="&#x31;" u2="&#xc9;" k="175" />
+    <hkern u1="&#x31;" u2="&#x7e;" k="177" />
+    <hkern u1="&#x31;" u2="z" k="-46" />
+    <hkern u1="&#x31;" u2="y" k="143" />
+    <hkern u1="&#x31;" u2="x" k="-66" />
+    <hkern u1="&#x31;" u2="v" k="79" />
+    <hkern u1="&#x31;" u2="u" k="-50" />
+    <hkern u1="&#x31;" u2="t" k="159" />
+    <hkern u1="&#x31;" u2="r" k="-62" />
+    <hkern u1="&#x31;" u2="p" k="-67" />
+    <hkern u1="&#x31;" u2="n" k="-92" />
+    <hkern u1="&#x31;" u2="m" k="-124" />
+    <hkern u1="&#x31;" u2="k" k="-25" />
+    <hkern u1="&#x31;" u2="j" k="115" />
+    <hkern u1="&#x31;" u2="i" k="20" />
+    <hkern u1="&#x31;" u2="h" k="-69" />
+    <hkern u1="&#x31;" u2="g" k="140" />
+    <hkern u1="&#x31;" u2="f" k="61" />
+    <hkern u1="&#x31;" u2="d" k="-43" />
+    <hkern u1="&#x31;" u2="a" k="-70" />
+    <hkern u1="&#x31;" u2="`" k="116" />
+    <hkern u1="&#x31;" u2="Z" k="-79" />
+    <hkern u1="&#x31;" u2="X" k="-107" />
+    <hkern u1="&#x31;" u2="W" k="21" />
+    <hkern u1="&#x31;" u2="V" k="32" />
+    <hkern u1="&#x31;" u2="S" k="44" />
+    <hkern u1="&#x31;" u2="R" k="-27" />
+    <hkern u1="&#x31;" u2="P" k="-24" />
+    <hkern u1="&#x31;" u2="L" k="-108" />
+    <hkern u1="&#x31;" u2="K" k="-69" />
+    <hkern u1="&#x31;" u2="J" k="191" />
+    <hkern u1="&#x31;" u2="I" k="-54" />
+    <hkern u1="&#x31;" u2="H" k="-131" />
+    <hkern u1="&#x31;" u2="C" k="-27" />
+    <hkern u1="&#x31;" u2="B" k="-80" />
+    <hkern u1="&#x31;" u2="A" k="-84" />
+    <hkern u1="&#x31;" u2="&#x40;" k="184" />
+    <hkern u1="&#x31;" u2="&#x3f;" k="75" />
+    <hkern u1="&#x31;" u2="&#x3b;" k="82" />
+    <hkern u1="&#x31;" u2="&#x3a;" k="120" />
+    <hkern u1="&#x31;" u2="&#x2f;" k="-68" />
+    <hkern u1="&#x31;" u2="&#x2e;" k="249" />
+    <hkern u1="&#x31;" u2="&#x2d;" k="163" />
+    <hkern u1="&#x31;" u2="&#x29;" k="27" />
+    <hkern u1="&#x31;" u2="&#x28;" k="26" />
+    <hkern u1="&#x31;" u2="&#x26;" k="149" />
+    <hkern u1="&#x31;" u2="&#x25;" k="-85" />
+    <hkern u1="&#x31;" u2="&#x24;" k="23" />
+    <hkern u1="&#x31;" u2="&#x23;" k="135" />
+    <hkern u1="&#x31;" u2="&#x21;" k="81" />
+    <hkern u1="&#x32;" u2="&#xd0;" k="144" />
+    <hkern u1="&#x32;" u2="&#xc1;" k="168" />
+    <hkern u1="&#x32;" u2="&#xc2;" k="140" />
+    <hkern u1="&#x32;" u2="&#x2021;" k="47" />
+    <hkern u1="&#x32;" u2="&#x203a;" k="85" />
+    <hkern u1="&#x32;" u2="&#x2019;" k="72" />
+    <hkern u1="&#x32;" u2="&#x2014;" k="97" />
+    <hkern u1="&#x32;" u2="&#x153;" k="58" />
+    <hkern u1="&#x32;" u2="&#xc0;" k="413" />
+    <hkern u1="&#x32;" u2="&#xa2;" k="-85" />
+    <hkern u1="&#x32;" u2="&#xd1;" k="118" />
+    <hkern u1="&#x32;" u2="&#xc9;" k="174" />
+    <hkern u1="&#x32;" u2="&#x7e;" k="27" />
+    <hkern u1="&#x32;" u2="z" k="57" />
+    <hkern u1="&#x32;" u2="y" k="100" />
+    <hkern u1="&#x32;" u2="x" k="-38" />
+    <hkern u1="&#x32;" u2="w" k="78" />
+    <hkern u1="&#x32;" u2="u" k="44" />
+    <hkern u1="&#x32;" u2="t" k="160" />
+    <hkern u1="&#x32;" u2="s" k="76" />
+    <hkern u1="&#x32;" u2="q" k="56" />
+    <hkern u1="&#x32;" u2="p" k="39" />
+    <hkern u1="&#x32;" u2="o" k="88" />
+    <hkern u1="&#x32;" u2="n" k="21" />
+    <hkern u1="&#x32;" u2="k" k="-31" />
+    <hkern u1="&#x32;" u2="j" k="133" />
+    <hkern u1="&#x32;" u2="i" k="60" />
+    <hkern u1="&#x32;" u2="g" k="112" />
+    <hkern u1="&#x32;" u2="f" k="114" />
+    <hkern u1="&#x32;" u2="e" k="66" />
+    <hkern u1="&#x32;" u2="d" k="55" />
+    <hkern u1="&#x32;" u2="c" k="82" />
+    <hkern u1="&#x32;" u2="a" k="35" />
+    <hkern u1="&#x32;" u2="`" k="74" />
+    <hkern u1="&#x32;" u2="Z" k="21" />
+    <hkern u1="&#x32;" u2="Y" k="-30" />
+    <hkern u1="&#x32;" u2="W" k="-98" />
+    <hkern u1="&#x32;" u2="V" k="-64" />
+    <hkern u1="&#x32;" u2="U" k="-48" />
+    <hkern u1="&#x32;" u2="T" k="-42" />
+    <hkern u1="&#x32;" u2="S" k="-34" />
+    <hkern u1="&#x32;" u2="R" k="-90" />
+    <hkern u1="&#x32;" u2="P" k="-86" />
+    <hkern u1="&#x32;" u2="N" k="-89" />
+    <hkern u1="&#x32;" u2="M" k="-104" />
+    <hkern u1="&#x32;" u2="K" k="-93" />
+    <hkern u1="&#x32;" u2="J" k="304" />
+    <hkern u1="&#x32;" u2="I" k="49" />
+    <hkern u1="&#x32;" u2="H" k="-27" />
+    <hkern u1="&#x32;" u2="F" k="-77" />
+    <hkern u1="&#x32;" u2="E" k="-87" />
+    <hkern u1="&#x32;" u2="D" k="-109" />
+    <hkern u1="&#x32;" u2="C" k="25" />
+    <hkern u1="&#x32;" u2="B" k="-130" />
+    <hkern u1="&#x32;" u2="&#x40;" k="101" />
+    <hkern u1="&#x32;" u2="&#x3f;" k="-21" />
+    <hkern u1="&#x32;" u2="&#x3b;" k="181" />
+    <hkern u1="&#x32;" u2="&#x3a;" k="221" />
+    <hkern u1="&#x32;" u2="&#x2f;" k="34" />
+    <hkern u1="&#x32;" u2="&#x2e;" k="251" />
+    <hkern u1="&#x32;" u2="&#x2d;" k="174" />
+    <hkern u1="&#x32;" u2="&#x2c;" k="139" />
+    <hkern u1="&#x32;" u2="&#x29;" k="127" />
+    <hkern u1="&#x32;" u2="&#x28;" k="41" />
+    <hkern u1="&#x32;" u2="&#x26;" k="172" />
+    <hkern u1="&#x32;" u2="&#x24;" k="-77" />
+    <hkern u1="&#x32;" u2="&#x23;" k="35" />
+    <hkern u1="&#x32;" u2="&#x21;" k="75" />
+    <hkern u1="&#x32;" g2=".notdef" k="74" />
+    <hkern u1="&#x33;" u2="&#xd0;" k="53" />
+    <hkern u1="&#x33;" u2="&#xc1;" k="117" />
+    <hkern u1="&#x33;" u2="&#xc2;" k="38" />
+    <hkern u1="&#x33;" u2="&#x203a;" k="-45" />
+    <hkern u1="&#x33;" u2="&#x2019;" k="-53" />
+    <hkern u1="&#x33;" u2="&#x2014;" k="-34" />
+    <hkern u1="&#x33;" u2="&#x2013;" k="-55" />
+    <hkern u1="&#x33;" u2="&#x153;" k="-44" />
+    <hkern u1="&#x33;" u2="&#xc0;" k="351" />
+    <hkern u1="&#x33;" u2="&#xa2;" k="-190" />
+    <hkern u1="&#x33;" u2="&#xd1;" k="30" />
+    <hkern u1="&#x33;" u2="&#xc9;" k="28" />
+    <hkern u1="&#x33;" u2="&#x7e;" k="-72" />
+    <hkern u1="&#x33;" u2="y" k="-26" />
+    <hkern u1="&#x33;" u2="x" k="-150" />
+    <hkern u1="&#x33;" u2="w" k="-35" />
+    <hkern u1="&#x33;" u2="v" k="-74" />
+    <hkern u1="&#x33;" u2="u" k="-61" />
+    <hkern u1="&#x33;" u2="t" k="34" />
+    <hkern u1="&#x33;" u2="s" k="-39" />
+    <hkern u1="&#x33;" u2="r" k="-112" />
+    <hkern u1="&#x33;" u2="q" k="-58" />
+    <hkern u1="&#x33;" u2="p" k="-57" />
+    <hkern u1="&#x33;" u2="o" k="-46" />
+    <hkern u1="&#x33;" u2="n" k="-60" />
+    <hkern u1="&#x33;" u2="m" k="-116" />
+    <hkern u1="&#x33;" u2="l" k="-147" />
+    <hkern u1="&#x33;" u2="k" k="-153" />
+    <hkern u1="&#x33;" u2="i" k="-94" />
+    <hkern u1="&#x33;" u2="h" k="-118" />
+    <hkern u1="&#x33;" u2="g" k="-27" />
+    <hkern u1="&#x33;" u2="f" k="-62" />
+    <hkern u1="&#x33;" u2="e" k="-64" />
+    <hkern u1="&#x33;" u2="c" k="-57" />
+    <hkern u1="&#x33;" u2="b" k="-124" />
+    <hkern u1="&#x33;" u2="a" k="-31" />
+    <hkern u1="&#x33;" u2="`" k="-89" />
+    <hkern u1="&#x33;" u2="Z" k="-52" />
+    <hkern u1="&#x33;" u2="Y" k="-187" />
+    <hkern u1="&#x33;" u2="X" k="-76" />
+    <hkern u1="&#x33;" u2="W" k="-189" />
+    <hkern u1="&#x33;" u2="V" k="-191" />
+    <hkern u1="&#x33;" u2="U" k="-190" />
+    <hkern u1="&#x33;" u2="T" k="-197" />
+    <hkern u1="&#x33;" u2="S" k="-133" />
+    <hkern u1="&#x33;" u2="R" k="-233" />
+    <hkern u1="&#x33;" u2="Q" k="-125" />
+    <hkern u1="&#x33;" u2="P" k="-229" />
+    <hkern u1="&#x33;" u2="O" k="-129" />
+    <hkern u1="&#x33;" u2="N" k="-209" />
+    <hkern u1="&#x33;" u2="M" k="-217" />
+    <hkern u1="&#x33;" u2="L" k="-29" />
+    <hkern u1="&#x33;" u2="K" k="-218" />
+    <hkern u1="&#x33;" u2="I" k="-144" />
+    <hkern u1="&#x33;" u2="H" k="-29" />
+    <hkern u1="&#x33;" u2="G" k="-100" />
+    <hkern u1="&#x33;" u2="F" k="-211" />
+    <hkern u1="&#x33;" u2="E" k="-219" />
+    <hkern u1="&#x33;" u2="D" k="-239" />
+    <hkern u1="&#x33;" u2="C" k="-94" />
+    <hkern u1="&#x33;" u2="B" k="-238" />
+    <hkern u1="&#x33;" u2="A" k="-48" />
+    <hkern u1="&#x33;" u2="&#x3f;" k="-153" />
+    <hkern u1="&#x33;" u2="&#x3b;" k="209" />
+    <hkern u1="&#x33;" u2="&#x3a;" k="142" />
+    <hkern u1="&#x33;" u2="&#x2f;" k="50" />
+    <hkern u1="&#x33;" u2="&#x2e;" k="101" />
+    <hkern u1="&#x33;" u2="&#x2d;" k="72" />
+    <hkern u1="&#x33;" u2="&#x2c;" k="175" />
+    <hkern u1="&#x33;" u2="&#x29;" k="124" />
+    <hkern u1="&#x33;" u2="&#x28;" k="-66" />
+    <hkern u1="&#x33;" u2="&#x26;" k="33" />
+    <hkern u1="&#x33;" u2="&#x25;" k="32" />
+    <hkern u1="&#x33;" u2="&#x24;" k="-202" />
+    <hkern u1="&#x33;" u2="&#x23;" k="-98" />
+    <hkern u1="&#x33;" u2="&#x21;" k="-50" />
+    <hkern u1="&#x33;" g2=".notdef" k="-54" />
+    <hkern u1="&#x34;" u2="&#xd0;" k="-154" />
+    <hkern u1="&#x34;" u2="&#xc1;" k="80" />
+    <hkern u1="&#x34;" u2="&#x2021;" k="34" />
+    <hkern u1="&#x34;" u2="&#x203a;" k="-76" />
+    <hkern u1="&#x34;" u2="&#x2019;" k="-91" />
+    <hkern u1="&#x34;" u2="&#x2014;" k="-64" />
+    <hkern u1="&#x34;" u2="&#x2013;" k="-93" />
+    <hkern u1="&#x34;" u2="&#x153;" k="-76" />
+    <hkern u1="&#x34;" u2="&#xc0;" k="255" />
+    <hkern u1="&#x34;" u2="&#xa2;" k="-124" />
+    <hkern u1="&#x34;" u2="&#xd1;" k="-174" />
+    <hkern u1="&#x34;" u2="&#xc9;" k="141" />
+    <hkern u1="&#x34;" u2="&#x7e;" k="91" />
+    <hkern u1="&#x34;" u2="z" k="31" />
+    <hkern u1="&#x34;" u2="y" k="-71" />
+    <hkern u1="&#x34;" u2="w" k="-92" />
+    <hkern u1="&#x34;" u2="v" k="-87" />
+    <hkern u1="&#x34;" u2="u" k="-100" />
+    <hkern u1="&#x34;" u2="t" k="-95" />
+    <hkern u1="&#x34;" u2="s" k="-129" />
+    <hkern u1="&#x34;" u2="r" k="-115" />
+    <hkern u1="&#x34;" u2="q" k="-28" />
+    <hkern u1="&#x34;" u2="p" k="-99" />
+    <hkern u1="&#x34;" u2="o" k="-82" />
+    <hkern u1="&#x34;" u2="n" k="-105" />
+    <hkern u1="&#x34;" u2="m" k="-183" />
+    <hkern u1="&#x34;" u2="l" k="-115" />
+    <hkern u1="&#x34;" u2="k" k="-143" />
+    <hkern u1="&#x34;" u2="j" k="44" />
+    <hkern u1="&#x34;" u2="i" k="-98" />
+    <hkern u1="&#x34;" u2="h" k="-115" />
+    <hkern u1="&#x34;" u2="g" k="-22" />
+    <hkern u1="&#x34;" u2="f" k="-86" />
+    <hkern u1="&#x34;" u2="e" k="-74" />
+    <hkern u1="&#x34;" u2="d" k="44" />
+    <hkern u1="&#x34;" u2="c" k="-76" />
+    <hkern u1="&#x34;" u2="b" k="-143" />
+    <hkern u1="&#x34;" u2="`" k="22" />
+    <hkern u1="&#x34;" u2="Z" k="45" />
+    <hkern u1="&#x34;" u2="Y" k="-86" />
+    <hkern u1="&#x34;" u2="X" k="-25" />
+    <hkern u1="&#x34;" u2="W" k="-55" />
+    <hkern u1="&#x34;" u2="V" k="-48" />
+    <hkern u1="&#x34;" u2="U" k="-73" />
+    <hkern u1="&#x34;" u2="T" k="-90" />
+    <hkern u1="&#x34;" u2="S" k="-85" />
+    <hkern u1="&#x34;" u2="R" k="-114" />
+    <hkern u1="&#x34;" u2="Q" k="-160" />
+    <hkern u1="&#x34;" u2="P" k="-111" />
+    <hkern u1="&#x34;" u2="O" k="-162" />
+    <hkern u1="&#x34;" u2="N" k="-62" />
+    <hkern u1="&#x34;" u2="M" k="-74" />
+    <hkern u1="&#x34;" u2="K" k="-192" />
+    <hkern u1="&#x34;" u2="J" k="-298" />
+    <hkern u1="&#x34;" u2="I" k="-84" />
+    <hkern u1="&#x34;" u2="H" k="-102" />
+    <hkern u1="&#x34;" u2="G" k="-148" />
+    <hkern u1="&#x34;" u2="F" k="-150" />
+    <hkern u1="&#x34;" u2="E" k="-93" />
+    <hkern u1="&#x34;" u2="D" k="-97" />
+    <hkern u1="&#x34;" u2="C" k="-149" />
+    <hkern u1="&#x34;" u2="B" k="-96" />
+    <hkern u1="&#x34;" u2="A" k="-25" />
+    <hkern u1="&#x34;" u2="&#x40;" k="-69" />
+    <hkern u1="&#x34;" u2="&#x3b;" k="124" />
+    <hkern u1="&#x34;" u2="&#x3a;" k="75" />
+    <hkern u1="&#x34;" u2="&#x2e;" k="213" />
+    <hkern u1="&#x34;" u2="&#x2d;" k="-130" />
+    <hkern u1="&#x34;" u2="&#x2c;" k="149" />
+    <hkern u1="&#x34;" u2="&#x29;" k="81" />
+    <hkern u1="&#x34;" u2="&#x28;" k="-96" />
+    <hkern u1="&#x34;" u2="&#x26;" k="37" />
+    <hkern u1="&#x34;" u2="&#x24;" k="-116" />
+    <hkern u1="&#x34;" u2="&#x21;" k="-25" />
+    <hkern u1="&#x34;" g2=".notdef" k="-59" />
+    <hkern u1="&#x35;" u2="&#xd0;" k="-115" />
+    <hkern u1="&#x35;" u2="&#xc1;" k="110" />
+    <hkern u1="&#x35;" u2="&#x2021;" k="37" />
+    <hkern u1="&#x35;" u2="&#x203a;" k="-32" />
+    <hkern u1="&#x35;" u2="&#x2019;" k="-39" />
+    <hkern u1="&#x35;" u2="&#x2014;" k="-22" />
+    <hkern u1="&#x35;" u2="&#x2013;" k="-50" />
+    <hkern u1="&#x35;" u2="&#x153;" k="-29" />
+    <hkern u1="&#x35;" u2="&#xc0;" k="309" />
+    <hkern u1="&#x35;" u2="&#xa2;" k="-93" />
+    <hkern u1="&#x35;" u2="&#xd1;" k="-138" />
+    <hkern u1="&#x35;" u2="&#xc9;" k="88" />
+    <hkern u1="&#x35;" u2="&#x7e;" k="660" />
+    <hkern u1="&#x35;" u2="z" k="-23" />
+    <hkern u1="&#x35;" u2="y" k="-32" />
+    <hkern u1="&#x35;" u2="x" k="35" />
+    <hkern u1="&#x35;" u2="w" k="-53" />
+    <hkern u1="&#x35;" u2="v" k="-82" />
+    <hkern u1="&#x35;" u2="u" k="-79" />
+    <hkern u1="&#x35;" u2="t" k="-44" />
+    <hkern u1="&#x35;" u2="s" k="-96" />
+    <hkern u1="&#x35;" u2="r" k="-79" />
+    <hkern u1="&#x35;" u2="q" k="-29" />
+    <hkern u1="&#x35;" u2="p" k="-61" />
+    <hkern u1="&#x35;" u2="o" k="-60" />
+    <hkern u1="&#x35;" u2="n" k="-88" />
+    <hkern u1="&#x35;" u2="m" k="-162" />
+    <hkern u1="&#x35;" u2="l" k="-65" />
+    <hkern u1="&#x35;" u2="k" k="-94" />
+    <hkern u1="&#x35;" u2="j" k="98" />
+    <hkern u1="&#x35;" u2="i" k="-46" />
+    <hkern u1="&#x35;" u2="h" k="-66" />
+    <hkern u1="&#x35;" u2="f" k="-80" />
+    <hkern u1="&#x35;" u2="e" k="-60" />
+    <hkern u1="&#x35;" u2="d" k="51" />
+    <hkern u1="&#x35;" u2="c" k="-63" />
+    <hkern u1="&#x35;" u2="b" k="-95" />
+    <hkern u1="&#x35;" u2="`" k="103" />
+    <hkern u1="&#x35;" u2="Z" k="50" />
+    <hkern u1="&#x35;" u2="Y" k="-54" />
+    <hkern u1="&#x35;" u2="W" k="34" />
+    <hkern u1="&#x35;" u2="V" k="42" />
+    <hkern u1="&#x35;" u2="U" k="-28" />
+    <hkern u1="&#x35;" u2="T" k="-56" />
+    <hkern u1="&#x35;" u2="S" k="-76" />
+    <hkern u1="&#x35;" u2="R" k="-59" />
+    <hkern u1="&#x35;" u2="Q" k="-110" />
+    <hkern u1="&#x35;" u2="P" k="-67" />
+    <hkern u1="&#x35;" u2="O" k="-114" />
+    <hkern u1="&#x35;" u2="N" k="69" />
+    <hkern u1="&#x35;" u2="M" k="43" />
+    <hkern u1="&#x35;" u2="L" k="87" />
+    <hkern u1="&#x35;" u2="K" k="-142" />
+    <hkern u1="&#x35;" u2="J" k="61" />
+    <hkern u1="&#x35;" u2="I" k="-50" />
+    <hkern u1="&#x35;" u2="H" k="-49" />
+    <hkern u1="&#x35;" u2="G" k="-102" />
+    <hkern u1="&#x35;" u2="F" k="-101" />
+    <hkern u1="&#x35;" u2="E" k="-42" />
+    <hkern u1="&#x35;" u2="D" k="25" />
+    <hkern u1="&#x35;" u2="C" k="-104" />
+    <hkern u1="&#x35;" u2="A" k="-53" />
+    <hkern u1="&#x35;" u2="&#x3f;" k="124" />
+    <hkern u1="&#x35;" u2="&#x3b;" k="182" />
+    <hkern u1="&#x35;" u2="&#x3a;" k="88" />
+    <hkern u1="&#x35;" u2="&#x2f;" k="117" />
+    <hkern u1="&#x35;" u2="&#x2e;" k="162" />
+    <hkern u1="&#x35;" u2="&#x2d;" k="-91" />
+    <hkern u1="&#x35;" u2="&#x2c;" k="227" />
+    <hkern u1="&#x35;" u2="&#x29;" k="163" />
+    <hkern u1="&#x35;" u2="&#x28;" k="-44" />
+    <hkern u1="&#x35;" u2="&#x26;" k="50" />
+    <hkern u1="&#x35;" u2="&#x25;" k="100" />
+    <hkern u1="&#x35;" u2="&#x24;" k="-68" />
+    <hkern u1="&#x35;" u2="&#x21;" k="25" />
+    <hkern u1="&#x35;" g2=".notdef" k="-29" />
+    <hkern u1="&#x36;" u2="&#xd0;" k="-85" />
+    <hkern u1="&#x36;" u2="&#xc1;" k="127" />
+    <hkern u1="&#x36;" u2="&#xc2;" k="34" />
+    <hkern u1="&#x36;" u2="&#x2021;" k="42" />
+    <hkern u1="&#x36;" u2="&#x2019;" k="-22" />
+    <hkern u1="&#x36;" u2="&#x2013;" k="-33" />
+    <hkern u1="&#x36;" u2="&#xc0;" k="328" />
+    <hkern u1="&#x36;" u2="&#xa2;" k="-88" />
+    <hkern u1="&#x36;" u2="&#xd1;" k="-109" />
+    <hkern u1="&#x36;" u2="&#xc9;" k="78" />
+    <hkern u1="&#x36;" u2="&#x7e;" k="467" />
+    <hkern u1="&#x36;" u2="w" k="-35" />
+    <hkern u1="&#x36;" u2="v" k="-76" />
+    <hkern u1="&#x36;" u2="u" k="-55" />
+    <hkern u1="&#x36;" u2="t" k="-30" />
+    <hkern u1="&#x36;" u2="s" k="-76" />
+    <hkern u1="&#x36;" u2="r" k="-61" />
+    <hkern u1="&#x36;" u2="q" k="-22" />
+    <hkern u1="&#x36;" u2="p" k="-44" />
+    <hkern u1="&#x36;" u2="o" k="-38" />
+    <hkern u1="&#x36;" u2="n" k="-62" />
+    <hkern u1="&#x36;" u2="m" k="-138" />
+    <hkern u1="&#x36;" u2="l" k="-63" />
+    <hkern u1="&#x36;" u2="k" k="-79" />
+    <hkern u1="&#x36;" u2="j" k="104" />
+    <hkern u1="&#x36;" u2="i" k="-30" />
+    <hkern u1="&#x36;" u2="h" k="-50" />
+    <hkern u1="&#x36;" u2="f" k="-64" />
+    <hkern u1="&#x36;" u2="e" k="-43" />
+    <hkern u1="&#x36;" u2="d" k="61" />
+    <hkern u1="&#x36;" u2="c" k="-42" />
+    <hkern u1="&#x36;" u2="b" k="-79" />
+    <hkern u1="&#x36;" u2="`" k="50" />
+    <hkern u1="&#x36;" u2="Z" k="29" />
+    <hkern u1="&#x36;" u2="Y" k="-112" />
+    <hkern u1="&#x36;" u2="X" k="-70" />
+    <hkern u1="&#x36;" u2="W" k="-48" />
+    <hkern u1="&#x36;" u2="V" k="23" />
+    <hkern u1="&#x36;" u2="U" k="-64" />
+    <hkern u1="&#x36;" u2="T" k="-93" />
+    <hkern u1="&#x36;" u2="S" k="-70" />
+    <hkern u1="&#x36;" u2="R" k="-79" />
+    <hkern u1="&#x36;" u2="Q" k="-94" />
+    <hkern u1="&#x36;" u2="P" k="-94" />
+    <hkern u1="&#x36;" u2="O" k="-98" />
+    <hkern u1="&#x36;" u2="N" k="80" />
+    <hkern u1="&#x36;" u2="M" k="36" />
+    <hkern u1="&#x36;" u2="L" k="35" />
+    <hkern u1="&#x36;" u2="K" k="-127" />
+    <hkern u1="&#x36;" u2="J" k="-23" />
+    <hkern u1="&#x36;" u2="I" k="-124" />
+    <hkern u1="&#x36;" u2="H" k="-36" />
+    <hkern u1="&#x36;" u2="G" k="-92" />
+    <hkern u1="&#x36;" u2="F" k="-86" />
+    <hkern u1="&#x36;" u2="E" k="-26" />
+    <hkern u1="&#x36;" u2="D" k="40" />
+    <hkern u1="&#x36;" u2="C" k="-86" />
+    <hkern u1="&#x36;" u2="A" k="-38" />
+    <hkern u1="&#x36;" u2="&#x3f;" k="143" />
+    <hkern u1="&#x36;" u2="&#x3b;" k="199" />
+    <hkern u1="&#x36;" u2="&#x3a;" k="112" />
+    <hkern u1="&#x36;" u2="&#x2f;" k="112" />
+    <hkern u1="&#x36;" u2="&#x2e;" k="151" />
+    <hkern u1="&#x36;" u2="&#x2d;" k="-61" />
+    <hkern u1="&#x36;" u2="&#x2c;" k="220" />
+    <hkern u1="&#x36;" u2="&#x29;" k="75" />
+    <hkern u1="&#x36;" u2="&#x28;" k="-31" />
+    <hkern u1="&#x36;" u2="&#x26;" k="63" />
+    <hkern u1="&#x36;" u2="&#x25;" k="95" />
+    <hkern u1="&#x36;" u2="&#x24;" k="-62" />
+    <hkern u1="&#x36;" u2="&#x23;" k="23" />
+    <hkern u1="&#x36;" u2="&#x21;" k="40" />
+    <hkern u1="&#x37;" u2="&#xd0;" k="252" />
+    <hkern u1="&#x37;" u2="&#xc1;" k="488" />
+    <hkern u1="&#x37;" u2="&#xc2;" k="315" />
+    <hkern u1="&#x37;" u2="&#x2021;" k="375" />
+    <hkern u1="&#x37;" u2="&#x203a;" k="213" />
+    <hkern u1="&#x37;" u2="&#x2019;" k="164" />
+    <hkern u1="&#x37;" u2="&#x2014;" k="301" />
+    <hkern u1="&#x37;" u2="&#x2013;" k="189" />
+    <hkern u1="&#x37;" u2="&#x153;" k="251" />
+    <hkern u1="&#x37;" u2="&#xc0;" k="688" />
+    <hkern u1="&#x37;" u2="&#xa2;" k="-79" />
+    <hkern u1="&#x37;" u2="&#xd1;" k="228" />
+    <hkern u1="&#x37;" u2="&#xc9;" k="449" />
+    <hkern u1="&#x37;" u2="&#x7e;" k="157" />
+    <hkern u1="&#x37;" u2="z" k="246" />
+    <hkern u1="&#x37;" u2="y" k="239" />
+    <hkern u1="&#x37;" u2="x" k="88" />
+    <hkern u1="&#x37;" u2="w" k="243" />
+    <hkern u1="&#x37;" u2="v" k="149" />
+    <hkern u1="&#x37;" u2="u" k="243" />
+    <hkern u1="&#x37;" u2="t" k="241" />
+    <hkern u1="&#x37;" u2="s" k="256" />
+    <hkern u1="&#x37;" u2="r" k="133" />
+    <hkern u1="&#x37;" u2="q" k="339" />
+    <hkern u1="&#x37;" u2="p" k="189" />
+    <hkern u1="&#x37;" u2="o" k="297" />
+    <hkern u1="&#x37;" u2="n" k="223" />
+    <hkern u1="&#x37;" u2="m" k="141" />
+    <hkern u1="&#x37;" u2="l" k="-100" />
+    <hkern u1="&#x37;" u2="k" k="-95" />
+    <hkern u1="&#x37;" u2="j" k="302" />
+    <hkern u1="&#x37;" u2="h" k="-55" />
+    <hkern u1="&#x37;" u2="g" k="363" />
+    <hkern u1="&#x37;" u2="f" k="76" />
+    <hkern u1="&#x37;" u2="e" k="320" />
+    <hkern u1="&#x37;" u2="d" k="388" />
+    <hkern u1="&#x37;" u2="c" k="318" />
+    <hkern u1="&#x37;" u2="b" k="-42" />
+    <hkern u1="&#x37;" u2="a" k="368" />
+    <hkern u1="&#x37;" u2="`" k="-57" />
+    <hkern u1="&#x37;" u2="Y" k="-138" />
+    <hkern u1="&#x37;" u2="X" k="-121" />
+    <hkern u1="&#x37;" u2="W" k="40" />
+    <hkern u1="&#x37;" u2="U" k="-91" />
+    <hkern u1="&#x37;" u2="T" k="-119" />
+    <hkern u1="&#x37;" u2="S" k="83" />
+    <hkern u1="&#x37;" u2="R" k="-105" />
+    <hkern u1="&#x37;" u2="Q" k="-36" />
+    <hkern u1="&#x37;" u2="P" k="-120" />
+    <hkern u1="&#x37;" u2="O" k="-39" />
+    <hkern u1="&#x37;" u2="K" k="-159" />
+    <hkern u1="&#x37;" u2="J" k="-72" />
+    <hkern u1="&#x37;" u2="I" k="-163" />
+    <hkern u1="&#x37;" u2="H" k="-33" />
+    <hkern u1="&#x37;" u2="G" k="44" />
+    <hkern u1="&#x37;" u2="F" k="-51" />
+    <hkern u1="&#x37;" u2="E" k="-41" />
+    <hkern u1="&#x37;" u2="D" k="-37" />
+    <hkern u1="&#x37;" u2="C" k="113" />
+    <hkern u1="&#x37;" u2="A" k="291" />
+    <hkern u1="&#x37;" u2="&#x40;" k="250" />
+    <hkern u1="&#x37;" u2="&#x3f;" k="53" />
+    <hkern u1="&#x37;" u2="&#x3b;" k="500" />
+    <hkern u1="&#x37;" u2="&#x3a;" k="425" />
+    <hkern u1="&#x37;" u2="&#x2f;" k="383" />
+    <hkern u1="&#x37;" u2="&#x2e;" k="522" />
+    <hkern u1="&#x37;" u2="&#x2d;" k="282" />
+    <hkern u1="&#x37;" u2="&#x2c;" k="512" />
+    <hkern u1="&#x37;" u2="&#x29;" k="25" />
+    <hkern u1="&#x37;" u2="&#x28;" k="66" />
+    <hkern u1="&#x37;" u2="&#x26;" k="239" />
+    <hkern u1="&#x37;" u2="&#x25;" k="247" />
+    <hkern u1="&#x37;" u2="&#x24;" k="-105" />
+    <hkern u1="&#x37;" u2="&#x23;" k="110" />
+    <hkern u1="&#x37;" g2=".notdef" k="323" />
+    <hkern u1="&#x38;" u2="&#xd0;" k="31" />
+    <hkern u1="&#x38;" u2="&#xc1;" k="113" />
+    <hkern u1="&#x38;" u2="&#xc2;" k="28" />
+    <hkern u1="&#x38;" u2="&#x2021;" k="-20" />
+    <hkern u1="&#x38;" u2="&#x203a;" k="-54" />
+    <hkern u1="&#x38;" u2="&#x2019;" k="-62" />
+    <hkern u1="&#x38;" u2="&#x2014;" k="-43" />
+    <hkern u1="&#x38;" u2="&#x2013;" k="-64" />
+    <hkern u1="&#x38;" u2="&#x153;" k="-52" />
+    <hkern u1="&#x38;" u2="&#xc0;" k="349" />
+    <hkern u1="&#x38;" u2="&#xa2;" k="-203" />
+    <hkern u1="&#x38;" u2="&#xc9;" k="26" />
+    <hkern u1="&#x38;" u2="&#x7e;" k="-84" />
+    <hkern u1="&#x38;" u2="y" k="-43" />
+    <hkern u1="&#x38;" u2="x" k="-162" />
+    <hkern u1="&#x38;" u2="w" k="-44" />
+    <hkern u1="&#x38;" u2="v" k="-75" />
+    <hkern u1="&#x38;" u2="u" k="-69" />
+    <hkern u1="&#x38;" u2="t" k="24" />
+    <hkern u1="&#x38;" u2="s" k="-51" />
+    <hkern u1="&#x38;" u2="r" k="-71" />
+    <hkern u1="&#x38;" u2="q" k="-70" />
+    <hkern u1="&#x38;" u2="p" k="-73" />
+    <hkern u1="&#x38;" u2="o" k="-55" />
+    <hkern u1="&#x38;" u2="n" k="-68" />
+    <hkern u1="&#x38;" u2="m" k="-126" />
+    <hkern u1="&#x38;" u2="l" k="-163" />
+    <hkern u1="&#x38;" u2="k" k="-170" />
+    <hkern u1="&#x38;" u2="i" k="-116" />
+    <hkern u1="&#x38;" u2="h" k="-131" />
+    <hkern u1="&#x38;" u2="g" k="-43" />
+    <hkern u1="&#x38;" u2="f" k="-73" />
+    <hkern u1="&#x38;" u2="e" k="-73" />
+    <hkern u1="&#x38;" u2="c" k="-66" />
+    <hkern u1="&#x38;" u2="b" k="-136" />
+    <hkern u1="&#x38;" u2="a" k="-36" />
+    <hkern u1="&#x38;" u2="`" k="-121" />
+    <hkern u1="&#x38;" u2="Z" k="-86" />
+    <hkern u1="&#x38;" u2="Y" k="-227" />
+    <hkern u1="&#x38;" u2="X" k="-126" />
+    <hkern u1="&#x38;" u2="W" k="-202" />
+    <hkern u1="&#x38;" u2="V" k="-201" />
+    <hkern u1="&#x38;" u2="U" k="-214" />
+    <hkern u1="&#x38;" u2="T" k="-226" />
+    <hkern u1="&#x38;" u2="S" k="-148" />
+    <hkern u1="&#x38;" u2="R" k="-257" />
+    <hkern u1="&#x38;" u2="Q" k="-142" />
+    <hkern u1="&#x38;" u2="P" k="-254" />
+    <hkern u1="&#x38;" u2="O" k="-142" />
+    <hkern u1="&#x38;" u2="N" k="-217" />
+    <hkern u1="&#x38;" u2="M" k="-231" />
+    <hkern u1="&#x38;" u2="L" k="-53" />
+    <hkern u1="&#x38;" u2="K" k="-232" />
+    <hkern u1="&#x38;" u2="J" k="-79" />
+    <hkern u1="&#x38;" u2="I" k="-198" />
+    <hkern u1="&#x38;" u2="H" k="-59" />
+    <hkern u1="&#x38;" u2="G" k="-120" />
+    <hkern u1="&#x38;" u2="F" k="-232" />
+    <hkern u1="&#x38;" u2="E" k="-237" />
+    <hkern u1="&#x38;" u2="D" k="-249" />
+    <hkern u1="&#x38;" u2="C" k="-105" />
+    <hkern u1="&#x38;" u2="B" k="-251" />
+    <hkern u1="&#x38;" u2="A" k="-59" />
+    <hkern u1="&#x38;" u2="&#x3f;" k="-163" />
+    <hkern u1="&#x38;" u2="&#x3b;" k="204" />
+    <hkern u1="&#x38;" u2="&#x3a;" k="139" />
+    <hkern u1="&#x38;" u2="&#x2f;" k="47" />
+    <hkern u1="&#x38;" u2="&#x2e;" k="100" />
+    <hkern u1="&#x38;" u2="&#x2d;" k="50" />
+    <hkern u1="&#x38;" u2="&#x2c;" k="176" />
+    <hkern u1="&#x38;" u2="&#x29;" k="28" />
+    <hkern u1="&#x38;" u2="&#x28;" k="-82" />
+    <hkern u1="&#x38;" u2="&#x26;" k="24" />
+    <hkern u1="&#x38;" u2="&#x25;" k="28" />
+    <hkern u1="&#x38;" u2="&#x24;" k="-219" />
+    <hkern u1="&#x38;" u2="&#x23;" k="-109" />
+    <hkern u1="&#x38;" u2="&#x21;" k="-63" />
+    <hkern u1="&#x38;" g2=".notdef" k="-63" />
+    <hkern u1="&#x39;" u2="&#xd0;" k="-71" />
+    <hkern u1="&#x39;" u2="&#xc1;" k="149" />
+    <hkern u1="&#x39;" u2="&#xc2;" k="52" />
+    <hkern u1="&#x39;" u2="&#x2021;" k="44" />
+    <hkern u1="&#x39;" u2="&#x2019;" k="-32" />
+    <hkern u1="&#x39;" u2="&#x2013;" k="-41" />
+    <hkern u1="&#x39;" u2="&#xc0;" k="349" />
+    <hkern u1="&#x39;" u2="&#xa2;" k="-128" />
+    <hkern u1="&#x39;" u2="&#xd1;" k="-96" />
+    <hkern u1="&#x39;" u2="&#xc9;" k="97" />
+    <hkern u1="&#x39;" u2="&#x7e;" k="21" />
+    <hkern u1="&#x39;" u2="z" k="-24" />
+    <hkern u1="&#x39;" u2="x" k="-79" />
+    <hkern u1="&#x39;" u2="w" k="-36" />
+    <hkern u1="&#x39;" u2="v" k="-103" />
+    <hkern u1="&#x39;" u2="u" k="-41" />
+    <hkern u1="&#x39;" u2="t" k="-37" />
+    <hkern u1="&#x39;" u2="s" k="-70" />
+    <hkern u1="&#x39;" u2="r" k="-84" />
+    <hkern u1="&#x39;" u2="p" k="-38" />
+    <hkern u1="&#x39;" u2="o" k="-26" />
+    <hkern u1="&#x39;" u2="n" k="-51" />
+    <hkern u1="&#x39;" u2="m" k="-127" />
+    <hkern u1="&#x39;" u2="l" k="-65" />
+    <hkern u1="&#x39;" u2="k" k="-85" />
+    <hkern u1="&#x39;" u2="j" k="71" />
+    <hkern u1="&#x39;" u2="i" k="-39" />
+    <hkern u1="&#x39;" u2="h" k="-55" />
+    <hkern u1="&#x39;" u2="f" k="-61" />
+    <hkern u1="&#x39;" u2="e" k="-32" />
+    <hkern u1="&#x39;" u2="d" k="65" />
+    <hkern u1="&#x39;" u2="c" k="-29" />
+    <hkern u1="&#x39;" u2="b" k="-81" />
+    <hkern u1="&#x39;" u2="`" k="56" />
+    <hkern u1="&#x39;" u2="Z" k="40" />
+    <hkern u1="&#x39;" u2="Y" k="-63" />
+    <hkern u1="&#x39;" u2="W" k="-131" />
+    <hkern u1="&#x39;" u2="V" k="-88" />
+    <hkern u1="&#x39;" u2="U" k="-75" />
+    <hkern u1="&#x39;" u2="T" k="-78" />
+    <hkern u1="&#x39;" u2="S" k="-96" />
+    <hkern u1="&#x39;" u2="R" k="-118" />
+    <hkern u1="&#x39;" u2="Q" k="-98" />
+    <hkern u1="&#x39;" u2="P" k="-114" />
+    <hkern u1="&#x39;" u2="O" k="-102" />
+    <hkern u1="&#x39;" u2="N" k="-118" />
+    <hkern u1="&#x39;" u2="M" k="-122" />
+    <hkern u1="&#x39;" u2="L" k="79" />
+    <hkern u1="&#x39;" u2="K" k="-140" />
+    <hkern u1="&#x39;" u2="J" k="-48" />
+    <hkern u1="&#x39;" u2="I" k="-32" />
+    <hkern u1="&#x39;" u2="H" k="-39" />
+    <hkern u1="&#x39;" u2="G" k="-83" />
+    <hkern u1="&#x39;" u2="F" k="-101" />
+    <hkern u1="&#x39;" u2="E" k="-110" />
+    <hkern u1="&#x39;" u2="D" k="-140" />
+    <hkern u1="&#x39;" u2="C" k="-85" />
+    <hkern u1="&#x39;" u2="B" k="-162" />
+    <hkern u1="&#x39;" u2="A" k="-32" />
+    <hkern u1="&#x39;" u2="&#x3f;" k="-54" />
+    <hkern u1="&#x39;" u2="&#x3b;" k="201" />
+    <hkern u1="&#x39;" u2="&#x3a;" k="118" />
+    <hkern u1="&#x39;" u2="&#x2f;" k="108" />
+    <hkern u1="&#x39;" u2="&#x2e;" k="171" />
+    <hkern u1="&#x39;" u2="&#x2d;" k="-48" />
+    <hkern u1="&#x39;" u2="&#x2c;" k="238" />
+    <hkern u1="&#x39;" u2="&#x29;" k="205" />
+    <hkern u1="&#x39;" u2="&#x28;" k="-36" />
+    <hkern u1="&#x39;" u2="&#x26;" k="64" />
+    <hkern u1="&#x39;" u2="&#x25;" k="91" />
+    <hkern u1="&#x39;" u2="&#x24;" k="-99" />
+    <hkern u1="&#x39;" u2="&#x21;" k="24" />
+    <hkern u1="&#x3a;" u2="&#xd0;" k="-162" />
+    <hkern u1="&#x3a;" u2="&#xc2;" k="-43" />
+    <hkern u1="&#x3a;" u2="&#x2021;" k="-136" />
+    <hkern u1="&#x3a;" u2="&#x203a;" k="-114" />
+    <hkern u1="&#x3a;" u2="&#x2019;" k="-142" />
+    <hkern u1="&#x3a;" u2="&#x2014;" k="-114" />
+    <hkern u1="&#x3a;" u2="&#x2013;" k="-147" />
+    <hkern u1="&#x3a;" u2="&#x153;" k="-136" />
+    <hkern u1="&#x3a;" u2="&#xc0;" k="146" />
+    <hkern u1="&#x3a;" u2="&#xa2;" k="-176" />
+    <hkern u1="&#x3a;" u2="&#xd1;" k="-186" />
+    <hkern u1="&#x3a;" u2="&#xc9;" k="-61" />
+    <hkern u1="&#x3a;" u2="&#x7e;" k="252" />
+    <hkern u1="&#x3a;" u2="z" k="-122" />
+    <hkern u1="&#x3a;" u2="y" k="-28" />
+    <hkern u1="&#x3a;" u2="x" k="-116" />
+    <hkern u1="&#x3a;" u2="w" k="-156" />
+    <hkern u1="&#x3a;" u2="v" k="-161" />
+    <hkern u1="&#x3a;" u2="u" k="-136" />
+    <hkern u1="&#x3a;" u2="t" k="-131" />
+    <hkern u1="&#x3a;" u2="s" k="-155" />
+    <hkern u1="&#x3a;" u2="r" k="-160" />
+    <hkern u1="&#x3a;" u2="q" k="-156" />
+    <hkern u1="&#x3a;" u2="p" k="-135" />
+    <hkern u1="&#x3a;" u2="o" k="-114" />
+    <hkern u1="&#x3a;" u2="n" k="-147" />
+    <hkern u1="&#x3a;" u2="m" k="-220" />
+    <hkern u1="&#x3a;" u2="l" k="-153" />
+    <hkern u1="&#x3a;" u2="k" k="-184" />
+    <hkern u1="&#x3a;" u2="j" k="-229" />
+    <hkern u1="&#x3a;" u2="i" k="-142" />
+    <hkern u1="&#x3a;" u2="h" k="-153" />
+    <hkern u1="&#x3a;" u2="g" k="-109" />
+    <hkern u1="&#x3a;" u2="f" k="-56" />
+    <hkern u1="&#x3a;" u2="e" k="-131" />
+    <hkern u1="&#x3a;" u2="d" k="-129" />
+    <hkern u1="&#x3a;" u2="c" k="-116" />
+    <hkern u1="&#x3a;" u2="b" k="-183" />
+    <hkern u1="&#x3a;" u2="a" k="-136" />
+    <hkern u1="&#x3a;" u2="`" k="236" />
+    <hkern u1="&#x3a;" u2="Z" k="-157" />
+    <hkern u1="&#x3a;" u2="Y" k="95" />
+    <hkern u1="&#x3a;" u2="X" k="-157" />
+    <hkern u1="&#x3a;" u2="W" k="81" />
+    <hkern u1="&#x3a;" u2="V" k="134" />
+    <hkern u1="&#x3a;" u2="U" k="-70" />
+    <hkern u1="&#x3a;" u2="T" k="119" />
+    <hkern u1="&#x3a;" u2="S" k="-154" />
+    <hkern u1="&#x3a;" u2="R" k="80" />
+    <hkern u1="&#x3a;" u2="Q" k="-204" />
+    <hkern u1="&#x3a;" u2="P" k="83" />
+    <hkern u1="&#x3a;" u2="O" k="-204" />
+    <hkern u1="&#x3a;" u2="N" k="101" />
+    <hkern u1="&#x3a;" u2="M" k="79" />
+    <hkern u1="&#x3a;" u2="L" k="-81" />
+    <hkern u1="&#x3a;" u2="K" k="-230" />
+    <hkern u1="&#x3a;" u2="J" k="-148" />
+    <hkern u1="&#x3a;" u2="I" k="-50" />
+    <hkern u1="&#x3a;" u2="H" k="-116" />
+    <hkern u1="&#x3a;" u2="G" k="-202" />
+    <hkern u1="&#x3a;" u2="F" k="-150" />
+    <hkern u1="&#x3a;" u2="E" k="-121" />
+    <hkern u1="&#x3a;" u2="D" k="72" />
+    <hkern u1="&#x3a;" u2="C" k="-196" />
+    <hkern u1="&#x3a;" u2="B" k="-124" />
+    <hkern u1="&#x3a;" u2="A" k="-112" />
+    <hkern u1="&#x3a;" u2="&#x40;" k="-106" />
+    <hkern u1="&#x3a;" u2="&#x3f;" k="168" />
+    <hkern u1="&#x3a;" u2="&#x3b;" k="252" />
+    <hkern u1="&#x3a;" u2="&#x3a;" k="26" />
+    <hkern u1="&#x3a;" u2="&#x39;" k="-139" />
+    <hkern u1="&#x3a;" u2="&#x38;" k="-91" />
+    <hkern u1="&#x3a;" u2="&#x37;" k="-54" />
+    <hkern u1="&#x3a;" u2="&#x36;" k="-151" />
+    <hkern u1="&#x3a;" u2="&#x35;" k="-133" />
+    <hkern u1="&#x3a;" u2="&#x34;" k="-106" />
+    <hkern u1="&#x3a;" u2="&#x33;" k="-142" />
+    <hkern u1="&#x3a;" u2="&#x32;" k="-150" />
+    <hkern u1="&#x3a;" u2="&#x31;" k="122" />
+    <hkern u1="&#x3a;" u2="&#x30;" k="-202" />
+    <hkern u1="&#x3a;" u2="&#x2f;" k="-106" />
+    <hkern u1="&#x3a;" u2="&#x2d;" k="-132" />
+    <hkern u1="&#x3a;" u2="&#x2c;" k="56" />
+    <hkern u1="&#x3a;" u2="&#x29;" k="204" />
+    <hkern u1="&#x3a;" u2="&#x28;" k="-141" />
+    <hkern u1="&#x3a;" u2="&#x25;" k="-105" />
+    <hkern u1="&#x3a;" u2="&#x24;" k="-155" />
+    <hkern u1="&#x3a;" u2="&#x23;" k="-91" />
+    <hkern u1="&#x3a;" u2="&#x21;" k="-59" />
+    <hkern u1="&#x3a;" g2=".notdef" k="-131" />
+    <hkern u1="&#x3b;" u2="&#xd0;" k="-75" />
+    <hkern u1="&#x3b;" u2="&#xc1;" k="107" />
+    <hkern u1="&#x3b;" u2="&#xc2;" k="36" />
+    <hkern u1="&#x3b;" u2="&#x2021;" k="-44" />
+    <hkern u1="&#x3b;" u2="&#x203a;" k="-31" />
+    <hkern u1="&#x3b;" u2="&#x2019;" k="-65" />
+    <hkern u1="&#x3b;" u2="&#x2014;" k="-31" />
+    <hkern u1="&#x3b;" u2="&#x2013;" k="-71" />
+    <hkern u1="&#x3b;" u2="&#x153;" k="-58" />
+    <hkern u1="&#x3b;" u2="&#xc0;" k="322" />
+    <hkern u1="&#x3b;" u2="&#xa2;" k="-108" />
+    <hkern u1="&#x3b;" u2="&#xd1;" k="-103" />
+    <hkern u1="&#x3b;" u2="&#x7e;" k="448" />
+    <hkern u1="&#x3b;" u2="z" k="-32" />
+    <hkern u1="&#x3b;" u2="y" k="-25" />
+    <hkern u1="&#x3b;" u2="x" k="-23" />
+    <hkern u1="&#x3b;" u2="w" k="-80" />
+    <hkern u1="&#x3b;" u2="v" k="-95" />
+    <hkern u1="&#x3b;" u2="u" k="-58" />
+    <hkern u1="&#x3b;" u2="t" k="-49" />
+    <hkern u1="&#x3b;" u2="s" k="-74" />
+    <hkern u1="&#x3b;" u2="r" k="-90" />
+    <hkern u1="&#x3b;" u2="q" k="-54" />
+    <hkern u1="&#x3b;" u2="p" k="-61" />
+    <hkern u1="&#x3b;" u2="o" k="-31" />
+    <hkern u1="&#x3b;" u2="n" k="-71" />
+    <hkern u1="&#x3b;" u2="m" k="-145" />
+    <hkern u1="&#x3b;" u2="l" k="-79" />
+    <hkern u1="&#x3b;" u2="k" k="-103" />
+    <hkern u1="&#x3b;" u2="j" k="-46" />
+    <hkern u1="&#x3b;" u2="i" k="-65" />
+    <hkern u1="&#x3b;" u2="h" k="-79" />
+    <hkern u1="&#x3b;" u2="f" k="37" />
+    <hkern u1="&#x3b;" u2="e" k="-44" />
+    <hkern u1="&#x3b;" u2="d" k="-35" />
+    <hkern u1="&#x3b;" u2="c" k="-32" />
+    <hkern u1="&#x3b;" u2="b" k="-104" />
+    <hkern u1="&#x3b;" u2="a" k="-44" />
+    <hkern u1="&#x3b;" u2="`" k="431" />
+    <hkern u1="&#x3b;" u2="Z" k="-53" />
+    <hkern u1="&#x3b;" u2="Y" k="86" />
+    <hkern u1="&#x3b;" u2="X" k="-62" />
+    <hkern u1="&#x3b;" u2="W" k="264" />
+    <hkern u1="&#x3b;" u2="V" k="320" />
+    <hkern u1="&#x3b;" u2="U" k="22" />
+    <hkern u1="&#x3b;" u2="T" k="304" />
+    <hkern u1="&#x3b;" u2="S" k="-92" />
+    <hkern u1="&#x3b;" u2="R" k="86" />
+    <hkern u1="&#x3b;" u2="Q" k="-120" />
+    <hkern u1="&#x3b;" u2="P" k="26" />
+    <hkern u1="&#x3b;" u2="O" k="-125" />
+    <hkern u1="&#x3b;" u2="N" k="284" />
+    <hkern u1="&#x3b;" u2="M" k="274" />
+    <hkern u1="&#x3b;" u2="K" k="-156" />
+    <hkern u1="&#x3b;" u2="J" k="33" />
+    <hkern u1="&#x3b;" u2="I" k="41" />
+    <hkern u1="&#x3b;" u2="H" k="-39" />
+    <hkern u1="&#x3b;" u2="G" k="-113" />
+    <hkern u1="&#x3b;" u2="F" k="-23" />
+    <hkern u1="&#x3b;" u2="E" k="-31" />
+    <hkern u1="&#x3b;" u2="C" k="-113" />
+    <hkern u1="&#x3b;" u2="B" k="-30" />
+    <hkern u1="&#x3b;" u2="&#x40;" k="-33" />
+    <hkern u1="&#x3b;" u2="&#x3f;" k="348" />
+    <hkern u1="&#x3b;" u2="&#x3b;" k="179" />
+    <hkern u1="&#x3b;" u2="&#x3a;" k="101" />
+    <hkern u1="&#x3b;" u2="&#x39;" k="-72" />
+    <hkern u1="&#x3b;" u2="&#x38;" k="-40" />
+    <hkern u1="&#x3b;" u2="&#x37;" k="40" />
+    <hkern u1="&#x3b;" u2="&#x36;" k="-71" />
+    <hkern u1="&#x3b;" u2="&#x35;" k="-67" />
+    <hkern u1="&#x3b;" u2="&#x33;" k="-73" />
+    <hkern u1="&#x3b;" u2="&#x32;" k="-54" />
+    <hkern u1="&#x3b;" u2="&#x31;" k="32" />
+    <hkern u1="&#x3b;" u2="&#x30;" k="-124" />
+    <hkern u1="&#x3b;" u2="&#x2e;" k="85" />
+    <hkern u1="&#x3b;" u2="&#x2d;" k="-45" />
+    <hkern u1="&#x3b;" u2="&#x2c;" k="130" />
+    <hkern u1="&#x3b;" u2="&#x29;" k="133" />
+    <hkern u1="&#x3b;" u2="&#x28;" k="-63" />
+    <hkern u1="&#x3b;" u2="&#x26;" k="88" />
+    <hkern u1="&#x3b;" u2="&#x24;" k="-81" />
+    <hkern u1="&#x3b;" g2=".notdef" k="-44" />
+    <hkern u1="&#x3f;" u2="&#xd0;" k="254" />
+    <hkern u1="&#x3f;" u2="&#xc1;" k="486" />
+    <hkern u1="&#x3f;" u2="&#xc2;" k="214" />
+    <hkern u1="&#x3f;" u2="&#x2021;" k="348" />
+    <hkern u1="&#x3f;" u2="&#x203a;" k="107" />
+    <hkern u1="&#x3f;" u2="&#x2019;" k="56" />
+    <hkern u1="&#x3f;" u2="&#x2014;" k="211" />
+    <hkern u1="&#x3f;" u2="&#x2013;" k="70" />
+    <hkern u1="&#x3f;" u2="&#x153;" k="143" />
+    <hkern u1="&#x3f;" u2="&#xc0;" k="832" />
+    <hkern u1="&#x3f;" u2="&#xa2;" k="-101" />
+    <hkern u1="&#x3f;" u2="&#xd1;" k="228" />
+    <hkern u1="&#x3f;" u2="&#xc9;" k="930" />
+    <hkern u1="&#x3f;" u2="z" k="176" />
+    <hkern u1="&#x3f;" u2="y" k="116" />
+    <hkern u1="&#x3f;" u2="x" k="-31" />
+    <hkern u1="&#x3f;" u2="w" k="167" />
+    <hkern u1="&#x3f;" u2="v" k="61" />
+    <hkern u1="&#x3f;" u2="u" k="142" />
+    <hkern u1="&#x3f;" u2="t" k="148" />
+    <hkern u1="&#x3f;" u2="s" k="192" />
+    <hkern u1="&#x3f;" u2="r" k="21" />
+    <hkern u1="&#x3f;" u2="q" k="312" />
+    <hkern u1="&#x3f;" u2="p" k="72" />
+    <hkern u1="&#x3f;" u2="o" k="213" />
+    <hkern u1="&#x3f;" u2="n" k="155" />
+    <hkern u1="&#x3f;" u2="m" k="45" />
+    <hkern u1="&#x3f;" u2="l" k="-42" />
+    <hkern u1="&#x3f;" u2="k" k="-51" />
+    <hkern u1="&#x3f;" u2="j" k="105" />
+    <hkern u1="&#x3f;" u2="g" k="297" />
+    <hkern u1="&#x3f;" u2="f" k="98" />
+    <hkern u1="&#x3f;" u2="e" k="240" />
+    <hkern u1="&#x3f;" u2="d" k="354" />
+    <hkern u1="&#x3f;" u2="c" k="237" />
+    <hkern u1="&#x3f;" u2="a" k="344" />
+    <hkern u1="&#x3f;" u2="`" k="-26" />
+    <hkern u1="&#x3f;" u2="Z" k="42" />
+    <hkern u1="&#x3f;" u2="Y" k="-95" />
+    <hkern u1="&#x3f;" u2="X" k="22" />
+    <hkern u1="&#x3f;" u2="W" k="-86" />
+    <hkern u1="&#x3f;" u2="V" k="-91" />
+    <hkern u1="&#x3f;" u2="U" k="-88" />
+    <hkern u1="&#x3f;" u2="T" k="-95" />
+    <hkern u1="&#x3f;" u2="S" k="-23" />
+    <hkern u1="&#x3f;" u2="R" k="-131" />
+    <hkern u1="&#x3f;" u2="Q" k="-25" />
+    <hkern u1="&#x3f;" u2="P" k="-127" />
+    <hkern u1="&#x3f;" u2="O" k="-25" />
+    <hkern u1="&#x3f;" u2="N" k="-101" />
+    <hkern u1="&#x3f;" u2="M" k="-123" />
+    <hkern u1="&#x3f;" u2="L" k="73" />
+    <hkern u1="&#x3f;" u2="K" k="-113" />
+    <hkern u1="&#x3f;" u2="J" k="93" />
+    <hkern u1="&#x3f;" u2="I" k="-48" />
+    <hkern u1="&#x3f;" u2="H" k="72" />
+    <hkern u1="&#x3f;" u2="F" k="-112" />
+    <hkern u1="&#x3f;" u2="E" k="-121" />
+    <hkern u1="&#x3f;" u2="D" k="-132" />
+    <hkern u1="&#x3f;" u2="C" k="41" />
+    <hkern u1="&#x3f;" u2="B" k="-129" />
+    <hkern u1="&#x3f;" u2="A" k="270" />
+    <hkern u1="&#x3f;" u2="&#x40;" k="133" />
+    <hkern u1="&#x3f;" u2="&#x3f;" k="-46" />
+    <hkern u1="&#x3f;" u2="&#x3b;" k="460" />
+    <hkern u1="&#x3f;" u2="&#x3a;" k="401" />
+    <hkern u1="&#x3f;" u2="&#x38;" k="-68" />
+    <hkern u1="&#x3f;" u2="&#x36;" k="78" />
+    <hkern u1="&#x3f;" u2="&#x34;" k="81" />
+    <hkern u1="&#x3f;" u2="&#x33;" k="66" />
+    <hkern u1="&#x3f;" u2="&#x32;" k="-104" />
+    <hkern u1="&#x3f;" u2="&#x31;" k="-28" />
+    <hkern u1="&#x3f;" u2="&#x30;" k="-37" />
+    <hkern u1="&#x3f;" u2="&#x2f;" k="340" />
+    <hkern u1="&#x3f;" u2="&#x2e;" k="1003" />
+    <hkern u1="&#x3f;" u2="&#x2d;" k="284" />
+    <hkern u1="&#x3f;" u2="&#x2c;" k="500" />
+    <hkern u1="&#x3f;" u2="&#x29;" k="219" />
+    <hkern u1="&#x3f;" u2="&#x28;" k="39" />
+    <hkern u1="&#x3f;" u2="&#x26;" k="154" />
+    <hkern u1="&#x3f;" u2="&#x25;" k="247" />
+    <hkern u1="&#x3f;" u2="&#x24;" k="-118" />
+    <hkern u1="&#x3f;" u2="&#x21;" k="56" />
+    <hkern u1="&#x3f;" g2=".notdef" k="219" />
+    <hkern u1="&#x40;" u2="&#xd0;" k="-51" />
+    <hkern u1="&#x40;" u2="&#xc1;" k="133" />
+    <hkern u1="&#x40;" u2="&#x203a;" k="-47" />
+    <hkern u1="&#x40;" u2="&#x2019;" k="-42" />
+    <hkern u1="&#x40;" u2="&#x2014;" k="-41" />
+    <hkern u1="&#x40;" u2="&#x2013;" k="-56" />
+    <hkern u1="&#x40;" u2="&#x153;" k="-47" />
+    <hkern u1="&#x40;" u2="&#xc0;" k="334" />
+    <hkern u1="&#x40;" u2="&#xa2;" k="-60" />
+    <hkern u1="&#x40;" u2="&#xd1;" k="-72" />
+    <hkern u1="&#x40;" u2="&#xc9;" k="77" />
+    <hkern u1="&#x40;" u2="&#x7e;" k="143" />
+    <hkern u1="&#x40;" u2="y" k="-56" />
+    <hkern u1="&#x40;" u2="w" k="-45" />
+    <hkern u1="&#x40;" u2="v" k="-44" />
+    <hkern u1="&#x40;" u2="u" k="-73" />
+    <hkern u1="&#x40;" u2="t" k="-21" />
+    <hkern u1="&#x40;" u2="s" k="-74" />
+    <hkern u1="&#x40;" u2="r" k="-60" />
+    <hkern u1="&#x40;" u2="q" k="-67" />
+    <hkern u1="&#x40;" u2="p" k="-56" />
+    <hkern u1="&#x40;" u2="o" k="-60" />
+    <hkern u1="&#x40;" u2="n" k="-74" />
+    <hkern u1="&#x40;" u2="m" k="-138" />
+    <hkern u1="&#x40;" u2="l" k="-57" />
+    <hkern u1="&#x40;" u2="k" k="-93" />
+    <hkern u1="&#x40;" u2="j" k="115" />
+    <hkern u1="&#x40;" u2="i" k="-45" />
+    <hkern u1="&#x40;" u2="h" k="-68" />
+    <hkern u1="&#x40;" u2="g" k="-50" />
+    <hkern u1="&#x40;" u2="f" k="-81" />
+    <hkern u1="&#x40;" u2="e" k="-73" />
+    <hkern u1="&#x40;" u2="c" k="-70" />
+    <hkern u1="&#x40;" u2="b" k="-100" />
+    <hkern u1="&#x40;" u2="a" k="-22" />
+    <hkern u1="&#x40;" u2="`" k="394" />
+    <hkern u1="&#x40;" u2="Y" k="44" />
+    <hkern u1="&#x40;" u2="X" k="-25" />
+    <hkern u1="&#x40;" u2="W" k="-82" />
+    <hkern u1="&#x40;" u2="V" k="35" />
+    <hkern u1="&#x40;" u2="T" k="288" />
+    <hkern u1="&#x40;" u2="S" k="-38" />
+    <hkern u1="&#x40;" u2="R" k="100" />
+    <hkern u1="&#x40;" u2="Q" k="-110" />
+    <hkern u1="&#x40;" u2="P" k="50" />
+    <hkern u1="&#x40;" u2="O" k="-110" />
+    <hkern u1="&#x40;" u2="N" k="-24" />
+    <hkern u1="&#x40;" u2="M" k="-32" />
+    <hkern u1="&#x40;" u2="L" k="89" />
+    <hkern u1="&#x40;" u2="K" k="-135" />
+    <hkern u1="&#x40;" u2="J" k="282" />
+    <hkern u1="&#x40;" u2="I" k="160" />
+    <hkern u1="&#x40;" u2="H" k="-25" />
+    <hkern u1="&#x40;" u2="G" k="-112" />
+    <hkern u1="&#x40;" u2="F" k="-94" />
+    <hkern u1="&#x40;" u2="E" k="-26" />
+    <hkern u1="&#x40;" u2="C" k="-112" />
+    <hkern u1="&#x40;" u2="B" k="-82" />
+    <hkern u1="&#x40;" u2="A" k="-66" />
+    <hkern u1="&#x40;" u2="&#x3f;" k="84" />
+    <hkern u1="&#x40;" u2="&#x3b;" k="233" />
+    <hkern u1="&#x40;" u2="&#x3a;" k="170" />
+    <hkern u1="&#x40;" u2="&#x39;" k="-34" />
+    <hkern u1="&#x40;" u2="&#x38;" k="-52" />
+    <hkern u1="&#x40;" u2="&#x37;" k="63" />
+    <hkern u1="&#x40;" u2="&#x36;" k="-67" />
+    <hkern u1="&#x40;" u2="&#x35;" k="-54" />
+    <hkern u1="&#x40;" u2="&#x34;" k="-93" />
+    <hkern u1="&#x40;" u2="&#x33;" k="-22" />
+    <hkern u1="&#x40;" u2="&#x31;" k="52" />
+    <hkern u1="&#x40;" u2="&#x30;" k="-107" />
+    <hkern u1="&#x40;" u2="&#x2f;" k="73" />
+    <hkern u1="&#x40;" u2="&#x2e;" k="151" />
+    <hkern u1="&#x40;" u2="&#x2d;" k="-32" />
+    <hkern u1="&#x40;" u2="&#x2c;" k="202" />
+    <hkern u1="&#x40;" u2="&#x29;" k="191" />
+    <hkern u1="&#x40;" u2="&#x28;" k="-45" />
+    <hkern u1="&#x40;" u2="&#x26;" k="24" />
+    <hkern u1="&#x40;" u2="&#x25;" k="63" />
+    <hkern u1="&#x40;" u2="&#x23;" k="56" />
+    <hkern u1="&#x40;" u2="&#x21;" k="41" />
+    <hkern u1="&#x40;" g2=".notdef" k="-58" />
+    <hkern u1="A" u2="&#xd0;" k="-68" />
+    <hkern u1="A" u2="&#x2021;" k="-90" />
+    <hkern u1="A" u2="&#x203a;" k="-58" />
+    <hkern u1="A" u2="&#x2019;" k="-30" />
+    <hkern u1="A" u2="&#x2014;" k="-42" />
+    <hkern u1="A" u2="&#x2013;" k="-129" />
+    <hkern u1="A" u2="&#x153;" k="-83" />
+    <hkern u1="A" u2="&#xc0;" k="303" />
+    <hkern u1="A" u2="&#xa2;" k="-28" />
+    <hkern u1="A" u2="&#xd1;" k="-85" />
+    <hkern u1="A" u2="&#xc9;" k="69" />
+    <hkern u1="A" u2="&#x7e;" k="243" />
+    <hkern u1="A" u2="z" k="-106" />
+    <hkern u1="A" u2="x" k="-109" />
+    <hkern u1="A" u2="w" k="-76" />
+    <hkern u1="A" u2="u" k="-119" />
+    <hkern u1="A" u2="t" k="-23" />
+    <hkern u1="A" u2="s" k="-80" />
+    <hkern u1="A" u2="r" k="-115" />
+    <hkern u1="A" u2="q" k="-68" />
+    <hkern u1="A" u2="p" k="-95" />
+    <hkern u1="A" u2="o" k="-71" />
+    <hkern u1="A" u2="n" k="-149" />
+    <hkern u1="A" u2="m" k="-179" />
+    <hkern u1="A" u2="l" k="-41" />
+    <hkern u1="A" u2="k" k="-72" />
+    <hkern u1="A" u2="j" k="78" />
+    <hkern u1="A" u2="i" k="-38" />
+    <hkern u1="A" u2="h" k="-101" />
+    <hkern u1="A" u2="g" k="41" />
+    <hkern u1="A" u2="f" k="-58" />
+    <hkern u1="A" u2="e" k="-90" />
+    <hkern u1="A" u2="d" k="-76" />
+    <hkern u1="A" u2="c" k="-73" />
+    <hkern u1="A" u2="b" k="-70" />
+    <hkern u1="A" u2="a" k="-122" />
+    <hkern u1="A" u2="`" k="261" />
+    <hkern u1="A" u2="Z" k="-111" />
+    <hkern u1="A" u2="Y" k="41" />
+    <hkern u1="A" u2="X" k="-137" />
+    <hkern u1="A" u2="W" k="68" />
+    <hkern u1="A" u2="V" k="110" />
+    <hkern u1="A" u2="U" k="-54" />
+    <hkern u1="A" u2="T" k="112" />
+    <hkern u1="A" u2="R" k="75" />
+    <hkern u1="A" u2="Q" k="-82" />
+    <hkern u1="A" u2="P" k="53" />
+    <hkern u1="A" u2="O" k="-89" />
+    <hkern u1="A" u2="N" k="78" />
+    <hkern u1="A" u2="M" k="77" />
+    <hkern u1="A" u2="L" k="-126" />
+    <hkern u1="A" u2="K" k="-119" />
+    <hkern u1="A" u2="J" k="181" />
+    <hkern u1="A" u2="I" k="-83" />
+    <hkern u1="A" u2="H" k="-122" />
+    <hkern u1="A" u2="G" k="-65" />
+    <hkern u1="A" u2="F" k="-70" />
+    <hkern u1="A" u2="D" k="48" />
+    <hkern u1="A" u2="C" k="-77" />
+    <hkern u1="A" u2="B" k="-109" />
+    <hkern u1="A" u2="A" k="-90" />
+    <hkern u1="A" u2="&#x3f;" k="117" />
+    <hkern u1="A" u2="&#x3b;" k="70" />
+    <hkern u1="A" u2="&#x3a;" k="41" />
+    <hkern u1="A" u2="&#x39;" k="-40" />
+    <hkern u1="A" u2="&#x37;" k="-30" />
+    <hkern u1="A" u2="&#x36;" k="-60" />
+    <hkern u1="A" u2="&#x35;" k="-116" />
+    <hkern u1="A" u2="&#x34;" k="-21" />
+    <hkern u1="A" u2="&#x33;" k="-90" />
+    <hkern u1="A" u2="&#x32;" k="-143" />
+    <hkern u1="A" u2="&#x31;" k="-64" />
+    <hkern u1="A" u2="&#x30;" k="-80" />
+    <hkern u1="A" u2="&#x2f;" k="-81" />
+    <hkern u1="A" u2="&#x2e;" k="142" />
+    <hkern u1="A" u2="&#x2d;" k="-46" />
+    <hkern u1="A" u2="&#x2c;" k="21" />
+    <hkern u1="A" u2="&#x29;" k="21" />
+    <hkern u1="A" u2="&#x26;" k="85" />
+    <hkern u1="A" u2="&#x25;" k="-99" />
+    <hkern u1="A" u2="&#x24;" k="-20" />
+    <hkern u1="A" u2="&#x23;" k="89" />
+    <hkern u1="A" u2="&#x21;" k="48" />
+    <hkern u1="A" g2=".notdef" k="-65" />
+    <hkern u1="B" u2="&#xd0;" k="-102" />
+    <hkern u1="B" u2="&#xc1;" k="134" />
+    <hkern u1="B" u2="&#xc2;" k="40" />
+    <hkern u1="B" u2="&#x2021;" k="64" />
+    <hkern u1="B" u2="&#x203a;" k="-27" />
+    <hkern u1="B" u2="&#x2019;" k="-34" />
+    <hkern u1="B" u2="&#x2013;" k="-42" />
+    <hkern u1="B" u2="&#x153;" k="-22" />
+    <hkern u1="B" u2="&#xc0;" k="336" />
+    <hkern u1="B" u2="&#xa2;" k="-84" />
+    <hkern u1="B" u2="&#xd1;" k="-125" />
+    <hkern u1="B" u2="&#xc9;" k="180" />
+    <hkern u1="B" u2="&#x7e;" k="276" />
+    <hkern u1="B" u2="y" k="-20" />
+    <hkern u1="B" u2="x" k="63" />
+    <hkern u1="B" u2="w" k="-41" />
+    <hkern u1="B" u2="v" k="-51" />
+    <hkern u1="B" u2="u" k="-54" />
+    <hkern u1="B" u2="t" k="-40" />
+    <hkern u1="B" u2="s" k="-80" />
+    <hkern u1="B" u2="r" k="-63" />
+    <hkern u1="B" u2="p" k="-43" />
+    <hkern u1="B" u2="o" k="-38" />
+    <hkern u1="B" u2="n" k="-62" />
+    <hkern u1="B" u2="m" k="-136" />
+    <hkern u1="B" u2="l" k="-55" />
+    <hkern u1="B" u2="k" k="-83" />
+    <hkern u1="B" u2="j" k="103" />
+    <hkern u1="B" u2="i" k="-41" />
+    <hkern u1="B" u2="h" k="-54" />
+    <hkern u1="B" u2="f" k="-68" />
+    <hkern u1="B" u2="e" k="-36" />
+    <hkern u1="B" u2="d" k="80" />
+    <hkern u1="B" u2="c" k="-37" />
+    <hkern u1="B" u2="b" k="-83" />
+    <hkern u1="B" u2="a" k="37" />
+    <hkern u1="B" u2="`" k="199" />
+    <hkern u1="B" u2="Z" k="106" />
+    <hkern u1="B" u2="Y" k="68" />
+    <hkern u1="B" u2="X" k="38" />
+    <hkern u1="B" u2="W" k="124" />
+    <hkern u1="B" u2="V" k="102" />
+    <hkern u1="B" u2="U" k="37" />
+    <hkern u1="B" u2="T" k="66" />
+    <hkern u1="B" u2="S" k="-53" />
+    <hkern u1="B" u2="R" k="35" />
+    <hkern u1="B" u2="Q" k="-98" />
+    <hkern u1="B" u2="P" k="39" />
+    <hkern u1="B" u2="O" k="-103" />
+    <hkern u1="B" u2="N" k="93" />
+    <hkern u1="B" u2="M" k="81" />
+    <hkern u1="B" u2="L" k="98" />
+    <hkern u1="B" u2="K" k="-132" />
+    <hkern u1="B" u2="J" k="211" />
+    <hkern u1="B" u2="I" k="89" />
+    <hkern u1="B" u2="H" k="-39" />
+    <hkern u1="B" u2="G" k="-96" />
+    <hkern u1="B" u2="F" k="-90" />
+    <hkern u1="B" u2="E" k="-29" />
+    <hkern u1="B" u2="D" k="33" />
+    <hkern u1="B" u2="C" k="-89" />
+    <hkern u1="B" u2="A" k="-34" />
+    <hkern u1="B" u2="&#x3f;" k="138" />
+    <hkern u1="B" u2="&#x3b;" k="208" />
+    <hkern u1="B" u2="&#x3a;" k="110" />
+    <hkern u1="B" u2="&#x39;" k="-48" />
+    <hkern u1="B" u2="&#x37;" k="106" />
+    <hkern u1="B" u2="&#x36;" k="-43" />
+    <hkern u1="B" u2="&#x35;" k="-73" />
+    <hkern u1="B" u2="&#x34;" k="-48" />
+    <hkern u1="B" u2="&#x33;" k="69" />
+    <hkern u1="B" u2="&#x32;" k="79" />
+    <hkern u1="B" u2="&#x31;" k="53" />
+    <hkern u1="B" u2="&#x30;" k="-97" />
+    <hkern u1="B" u2="&#x2f;" k="153" />
+    <hkern u1="B" u2="&#x2e;" k="254" />
+    <hkern u1="B" u2="&#x2d;" k="-78" />
+    <hkern u1="B" u2="&#x2c;" k="316" />
+    <hkern u1="B" u2="&#x29;" k="234" />
+    <hkern u1="B" u2="&#x28;" k="-34" />
+    <hkern u1="B" u2="&#x26;" k="67" />
+    <hkern u1="B" u2="&#x25;" k="135" />
+    <hkern u1="B" u2="&#x24;" k="-64" />
+    <hkern u1="B" u2="&#x23;" k="21" />
+    <hkern u1="B" u2="&#x21;" k="34" />
+    <hkern u1="C" u2="&#xd0;" k="613" />
+    <hkern u1="C" u2="&#xc1;" k="66" />
+    <hkern u1="C" u2="&#x2021;" k="27" />
+    <hkern u1="C" u2="&#x203a;" k="-50" />
+    <hkern u1="C" u2="&#x2019;" k="-51" />
+    <hkern u1="C" u2="&#x2014;" k="-38" />
+    <hkern u1="C" u2="&#x2013;" k="-63" />
+    <hkern u1="C" u2="&#x153;" k="-46" />
+    <hkern u1="C" u2="&#xc0;" k="264" />
+    <hkern u1="C" u2="&#xa2;" k="78" />
+    <hkern u1="C" u2="&#xd1;" k="590" />
+    <hkern u1="C" u2="&#xc9;" k="30" />
+    <hkern u1="C" u2="&#x7e;" k="565" />
+    <hkern u1="C" u2="z" k="27" />
+    <hkern u1="C" u2="y" k="-51" />
+    <hkern u1="C" u2="x" k="29" />
+    <hkern u1="C" u2="w" k="-60" />
+    <hkern u1="C" u2="v" k="-22" />
+    <hkern u1="C" u2="u" k="-82" />
+    <hkern u1="C" u2="t" k="90" />
+    <hkern u1="C" u2="s" k="-97" />
+    <hkern u1="C" u2="r" k="-76" />
+    <hkern u1="C" u2="q" k="-39" />
+    <hkern u1="C" u2="p" k="-70" />
+    <hkern u1="C" u2="o" k="-66" />
+    <hkern u1="C" u2="n" k="-90" />
+    <hkern u1="C" u2="m" k="-158" />
+    <hkern u1="C" u2="l" k="-78" />
+    <hkern u1="C" u2="k" k="-110" />
+    <hkern u1="C" u2="j" k="94" />
+    <hkern u1="C" u2="i" k="-59" />
+    <hkern u1="C" u2="h" k="-84" />
+    <hkern u1="C" u2="g" k="-24" />
+    <hkern u1="C" u2="f" k="-101" />
+    <hkern u1="C" u2="e" k="-66" />
+    <hkern u1="C" u2="d" k="42" />
+    <hkern u1="C" u2="c" k="-67" />
+    <hkern u1="C" u2="b" k="-113" />
+    <hkern u1="C" u2="`" k="139" />
+    <hkern u1="C" u2="Z" k="34" />
+    <hkern u1="C" u2="W" k="210" />
+    <hkern u1="C" u2="V" k="124" />
+    <hkern u1="C" u2="S" k="69" />
+    <hkern u1="C" u2="R" k="21" />
+    <hkern u1="C" u2="Q" k="-124" />
+    <hkern u1="C" u2="O" k="-127" />
+    <hkern u1="C" u2="N" k="131" />
+    <hkern u1="C" u2="M" k="137" />
+    <hkern u1="C" u2="L" k="70" />
+    <hkern u1="C" u2="K" k="-154" />
+    <hkern u1="C" u2="J" k="45" />
+    <hkern u1="C" u2="I" k="-43" />
+    <hkern u1="C" u2="H" k="50" />
+    <hkern u1="C" u2="G" k="-123" />
+    <hkern u1="C" u2="F" k="-114" />
+    <hkern u1="C" u2="E" k="33" />
+    <hkern u1="C" u2="C" k="-120" />
+    <hkern u1="C" u2="B" k="-29" />
+    <hkern u1="C" u2="A" k="-72" />
+    <hkern u1="C" u2="&#x3f;" k="127" />
+    <hkern u1="C" u2="&#x3b;" k="232" />
+    <hkern u1="C" u2="&#x3a;" k="331" />
+    <hkern u1="C" u2="&#x39;" k="-57" />
+    <hkern u1="C" u2="&#x38;" k="87" />
+    <hkern u1="C" u2="&#x36;" k="-74" />
+    <hkern u1="C" u2="&#x35;" k="49" />
+    <hkern u1="C" u2="&#x34;" k="-86" />
+    <hkern u1="C" u2="&#x33;" k="-23" />
+    <hkern u1="C" u2="&#x32;" k="41" />
+    <hkern u1="C" u2="&#x31;" k="31" />
+    <hkern u1="C" u2="&#x30;" k="-119" />
+    <hkern u1="C" u2="&#x2f;" k="106" />
+    <hkern u1="C" u2="&#x2e;" k="104" />
+    <hkern u1="C" u2="&#x2d;" k="639" />
+    <hkern u1="C" u2="&#x2c;" k="173" />
+    <hkern u1="C" u2="&#x29;" k="146" />
+    <hkern u1="C" u2="&#x28;" k="-59" />
+    <hkern u1="C" u2="&#x26;" k="35" />
+    <hkern u1="C" u2="&#x25;" k="88" />
+    <hkern u1="C" u2="&#x24;" k="52" />
+    <hkern u1="C" u2="&#x23;" k="200" />
+    <hkern u1="C" g2=".notdef" k="-43" />
+    <hkern u1="D" u2="&#xd0;" k="-114" />
+    <hkern u1="D" u2="&#xc1;" k="118" />
+    <hkern u1="D" u2="&#x2021;" k="44" />
+    <hkern u1="D" u2="&#x203a;" k="-50" />
+    <hkern u1="D" u2="&#x2019;" k="-67" />
+    <hkern u1="D" u2="&#x2014;" k="-33" />
+    <hkern u1="D" u2="&#x2013;" k="-80" />
+    <hkern u1="D" u2="&#x153;" k="-47" />
+    <hkern u1="D" u2="&#xc0;" k="323" />
+    <hkern u1="D" u2="&#xa2;" k="-167" />
+    <hkern u1="D" u2="&#xd1;" k="-139" />
+    <hkern u1="D" u2="&#xc9;" k="127" />
+    <hkern u1="D" u2="z" k="-62" />
+    <hkern u1="D" u2="y" k="-53" />
+    <hkern u1="D" u2="x" k="-107" />
+    <hkern u1="D" u2="w" k="-74" />
+    <hkern u1="D" u2="v" k="-141" />
+    <hkern u1="D" u2="u" k="-76" />
+    <hkern u1="D" u2="t" k="-74" />
+    <hkern u1="D" u2="s" k="-105" />
+    <hkern u1="D" u2="r" k="-121" />
+    <hkern u1="D" u2="q" k="-27" />
+    <hkern u1="D" u2="p" k="-81" />
+    <hkern u1="D" u2="o" k="-57" />
+    <hkern u1="D" u2="n" k="-89" />
+    <hkern u1="D" u2="m" k="-165" />
+    <hkern u1="D" u2="l" k="-100" />
+    <hkern u1="D" u2="k" k="-125" />
+    <hkern u1="D" u2="j" k="30" />
+    <hkern u1="D" u2="i" k="-75" />
+    <hkern u1="D" u2="h" k="-92" />
+    <hkern u1="D" u2="f" k="-89" />
+    <hkern u1="D" u2="e" k="-54" />
+    <hkern u1="D" u2="d" k="56" />
+    <hkern u1="D" u2="c" k="-54" />
+    <hkern u1="D" u2="b" k="-118" />
+    <hkern u1="D" u2="`" k="131" />
+    <hkern u1="D" u2="Z" k="54" />
+    <hkern u1="D" u2="Y" k="-25" />
+    <hkern u1="D" u2="W" k="-176" />
+    <hkern u1="D" u2="V" k="-107" />
+    <hkern u1="D" u2="U" k="-45" />
+    <hkern u1="D" u2="T" k="-28" />
+    <hkern u1="D" u2="S" k="-135" />
+    <hkern u1="D" u2="R" k="-89" />
+    <hkern u1="D" u2="Q" k="-138" />
+    <hkern u1="D" u2="P" k="-85" />
+    <hkern u1="D" u2="O" k="-137" />
+    <hkern u1="D" u2="N" k="-142" />
+    <hkern u1="D" u2="M" k="-156" />
+    <hkern u1="D" u2="L" k="48" />
+    <hkern u1="D" u2="K" k="-176" />
+    <hkern u1="D" u2="J" k="243" />
+    <hkern u1="D" u2="I" k="103" />
+    <hkern u1="D" u2="H" k="-71" />
+    <hkern u1="D" u2="G" k="-132" />
+    <hkern u1="D" u2="F" k="-120" />
+    <hkern u1="D" u2="E" k="-116" />
+    <hkern u1="D" u2="D" k="-148" />
+    <hkern u1="D" u2="C" k="-122" />
+    <hkern u1="D" u2="B" k="-192" />
+    <hkern u1="D" u2="A" k="-57" />
+    <hkern u1="D" u2="&#x40;" k="-58" />
+    <hkern u1="D" u2="&#x3f;" k="-62" />
+    <hkern u1="D" u2="&#x3b;" k="165" />
+    <hkern u1="D" u2="&#x3a;" k="80" />
+    <hkern u1="D" u2="&#x39;" k="-99" />
+    <hkern u1="D" u2="&#x38;" k="-154" />
+    <hkern u1="D" u2="&#x37;" k="88" />
+    <hkern u1="D" u2="&#x36;" k="-77" />
+    <hkern u1="D" u2="&#x35;" k="-105" />
+    <hkern u1="D" u2="&#x34;" k="-70" />
+    <hkern u1="D" u2="&#x32;" k="-139" />
+    <hkern u1="D" u2="&#x30;" k="-140" />
+    <hkern u1="D" u2="&#x2f;" k="127" />
+    <hkern u1="D" u2="&#x2e;" k="201" />
+    <hkern u1="D" u2="&#x2d;" k="-91" />
+    <hkern u1="D" u2="&#x2c;" k="263" />
+    <hkern u1="D" u2="&#x29;" k="214" />
+    <hkern u1="D" u2="&#x28;" k="-76" />
+    <hkern u1="D" u2="&#x26;" k="49" />
+    <hkern u1="D" u2="&#x25;" k="108" />
+    <hkern u1="D" u2="&#x24;" k="-119" />
+    <hkern u1="D" u2="&#x23;" k="-33" />
+    <hkern u1="D" g2=".notdef" k="-33" />
+    <hkern u1="E" u2="&#xd0;" k="318" />
+    <hkern u1="E" u2="&#xc1;" k="64" />
+    <hkern u1="E" u2="&#xc2;" k="65" />
+    <hkern u1="E" u2="&#x203a;" k="38" />
+    <hkern u1="E" u2="&#x2019;" k="58" />
+    <hkern u1="E" u2="&#x2014;" k="45" />
+    <hkern u1="E" u2="&#x2013;" k="-34" />
+    <hkern u1="E" u2="&#xc0;" k="304" />
+    <hkern u1="E" u2="&#xa2;" k="104" />
+    <hkern u1="E" u2="&#xd1;" k="308" />
+    <hkern u1="E" u2="&#xc9;" k="62" />
+    <hkern u1="E" u2="&#x7e;" k="655" />
+    <hkern u1="E" u2="y" k="56" />
+    <hkern u1="E" u2="x" k="-26" />
+    <hkern u1="E" u2="w" k="24" />
+    <hkern u1="E" u2="v" k="173" />
+    <hkern u1="E" u2="t" k="220" />
+    <hkern u1="E" u2="p" k="-34" />
+    <hkern u1="E" u2="o" k="29" />
+    <hkern u1="E" u2="n" k="-55" />
+    <hkern u1="E" u2="m" k="-85" />
+    <hkern u1="E" u2="l" k="36" />
+    <hkern u1="E" u2="j" k="138" />
+    <hkern u1="E" u2="i" k="50" />
+    <hkern u1="E" u2="h" k="-40" />
+    <hkern u1="E" u2="g" k="52" />
+    <hkern u1="E" u2="f" k="94" />
+    <hkern u1="E" u2="c" k="27" />
+    <hkern u1="E" u2="b" k="31" />
+    <hkern u1="E" u2="a" k="-29" />
+    <hkern u1="E" u2="`" k="130" />
+    <hkern u1="E" u2="Z" k="-49" />
+    <hkern u1="E" u2="Y" k="21" />
+    <hkern u1="E" u2="X" k="-79" />
+    <hkern u1="E" u2="W" k="159" />
+    <hkern u1="E" u2="V" k="112" />
+    <hkern u1="E" u2="T" k="24" />
+    <hkern u1="E" u2="S" k="62" />
+    <hkern u1="E" u2="Q" k="23" />
+    <hkern u1="E" u2="N" k="133" />
+    <hkern u1="E" u2="M" k="109" />
+    <hkern u1="E" u2="L" k="-79" />
+    <hkern u1="E" u2="K" k="-42" />
+    <hkern u1="E" u2="J" k="131" />
+    <hkern u1="E" u2="I" k="-28" />
+    <hkern u1="E" u2="H" k="-103" />
+    <hkern u1="E" u2="F" k="52" />
+    <hkern u1="E" u2="E" k="73" />
+    <hkern u1="E" u2="D" k="106" />
+    <hkern u1="E" u2="B" k="-47" />
+    <hkern u1="E" u2="A" k="-51" />
+    <hkern u1="E" u2="&#x40;" k="291" />
+    <hkern u1="E" u2="&#x3f;" k="179" />
+    <hkern u1="E" u2="&#x3b;" k="79" />
+    <hkern u1="E" u2="&#x3a;" k="149" />
+    <hkern u1="E" u2="&#x39;" k="-25" />
+    <hkern u1="E" u2="&#x38;" k="62" />
+    <hkern u1="E" u2="&#x37;" k="30" />
+    <hkern u1="E" u2="&#x35;" k="-57" />
+    <hkern u1="E" u2="&#x34;" k="221" />
+    <hkern u1="E" u2="&#x33;" k="-20" />
+    <hkern u1="E" u2="&#x32;" k="-80" />
+    <hkern u1="E" u2="&#x31;" k="-48" />
+    <hkern u1="E" u2="&#x30;" k="39" />
+    <hkern u1="E" u2="&#x2f;" k="-36" />
+    <hkern u1="E" u2="&#x2e;" k="139" />
+    <hkern u1="E" u2="&#x2d;" k="357" />
+    <hkern u1="E" u2="&#x29;" k="42" />
+    <hkern u1="E" u2="&#x28;" k="51" />
+    <hkern u1="E" u2="&#x26;" k="163" />
+    <hkern u1="E" u2="&#x25;" k="-54" />
+    <hkern u1="E" u2="&#x24;" k="72" />
+    <hkern u1="E" u2="&#x23;" k="299" />
+    <hkern u1="E" u2="&#x21;" k="114" />
+    <hkern u1="E" g2=".notdef" k="22" />
+    <hkern u1="F" u2="&#xc1;" k="264" />
+    <hkern u1="F" u2="&#xc2;" k="136" />
+    <hkern u1="F" u2="&#x2021;" k="192" />
+    <hkern u1="F" u2="&#x203a;" k="82" />
+    <hkern u1="F" u2="&#x2014;" k="87" />
+    <hkern u1="F" u2="&#x2013;" k="51" />
+    <hkern u1="F" u2="&#x153;" k="69" />
+    <hkern u1="F" u2="&#xc0;" k="630" />
+    <hkern u1="F" u2="&#xa2;" k="-274" />
+    <hkern u1="F" u2="&#xd1;" k="-32" />
+    <hkern u1="F" u2="&#xc9;" k="330" />
+    <hkern u1="F" u2="&#x7e;" k="372" />
+    <hkern u1="F" u2="z" k="153" />
+    <hkern u1="F" u2="y" k="74" />
+    <hkern u1="F" u2="x" k="147" />
+    <hkern u1="F" u2="w" k="52" />
+    <hkern u1="F" u2="v" k="37" />
+    <hkern u1="F" u2="u" k="48" />
+    <hkern u1="F" u2="t" k="52" />
+    <hkern u1="F" u2="s" k="24" />
+    <hkern u1="F" u2="r" k="25" />
+    <hkern u1="F" u2="q" k="135" />
+    <hkern u1="F" u2="p" k="42" />
+    <hkern u1="F" u2="o" k="73" />
+    <hkern u1="F" u2="n" k="37" />
+    <hkern u1="F" u2="m" k="-41" />
+    <hkern u1="F" u2="l" k="-281" />
+    <hkern u1="F" u2="k" k="-281" />
+    <hkern u1="F" u2="j" k="263" />
+    <hkern u1="F" u2="i" k="-221" />
+    <hkern u1="F" u2="h" k="-242" />
+    <hkern u1="F" u2="g" k="137" />
+    <hkern u1="F" u2="f" k="-120" />
+    <hkern u1="F" u2="e" k="86" />
+    <hkern u1="F" u2="d" k="194" />
+    <hkern u1="F" u2="c" k="82" />
+    <hkern u1="F" u2="b" k="-233" />
+    <hkern u1="F" u2="a" k="177" />
+    <hkern u1="F" u2="`" k="-236" />
+    <hkern u1="F" u2="Z" k="-207" />
+    <hkern u1="F" u2="Y" k="-345" />
+    <hkern u1="F" u2="X" k="-290" />
+    <hkern u1="F" u2="W" k="-159" />
+    <hkern u1="F" u2="V" k="-224" />
+    <hkern u1="F" u2="U" k="-306" />
+    <hkern u1="F" u2="T" k="-344" />
+    <hkern u1="F" u2="S" k="-137" />
+    <hkern u1="F" u2="R" k="-329" />
+    <hkern u1="F" u2="Q" k="-238" />
+    <hkern u1="F" u2="P" k="-341" />
+    <hkern u1="F" u2="O" k="-239" />
+    <hkern u1="F" u2="N" k="-187" />
+    <hkern u1="F" u2="M" k="-214" />
+    <hkern u1="F" u2="L" k="-182" />
+    <hkern u1="F" u2="K" k="-343" />
+    <hkern u1="F" u2="J" k="-243" />
+    <hkern u1="F" u2="I" k="-341" />
+    <hkern u1="F" u2="H" k="-205" />
+    <hkern u1="F" u2="G" k="-159" />
+    <hkern u1="F" u2="F" k="-231" />
+    <hkern u1="F" u2="E" k="-212" />
+    <hkern u1="F" u2="D" k="-176" />
+    <hkern u1="F" u2="C" k="-98" />
+    <hkern u1="F" u2="B" k="-171" />
+    <hkern u1="F" u2="A" k="88" />
+    <hkern u1="F" u2="&#x40;" k="75" />
+    <hkern u1="F" u2="&#x3f;" k="-119" />
+    <hkern u1="F" u2="&#x3b;" k="261" />
+    <hkern u1="F" u2="&#x3a;" k="205" />
+    <hkern u1="F" u2="&#x39;" k="-154" />
+    <hkern u1="F" u2="&#x38;" k="-90" />
+    <hkern u1="F" u2="&#x37;" k="-303" />
+    <hkern u1="F" u2="&#x36;" k="-53" />
+    <hkern u1="F" u2="&#x35;" k="-179" />
+    <hkern u1="F" u2="&#x34;" k="-142" />
+    <hkern u1="F" u2="&#x33;" k="-90" />
+    <hkern u1="F" u2="&#x32;" k="-83" />
+    <hkern u1="F" u2="&#x31;" k="-208" />
+    <hkern u1="F" u2="&#x30;" k="-204" />
+    <hkern u1="F" u2="&#x2f;" k="139" />
+    <hkern u1="F" u2="&#x2e;" k="403" />
+    <hkern u1="F" u2="&#x2c;" k="251" />
+    <hkern u1="F" u2="&#x29;" k="-143" />
+    <hkern u1="F" u2="&#x28;" k="-138" />
+    <hkern u1="F" u2="&#x26;" k="25" />
+    <hkern u1="F" u2="&#x25;" k="40" />
+    <hkern u1="F" u2="&#x24;" k="-305" />
+    <hkern u1="F" u2="&#x23;" k="87" />
+    <hkern u1="F" u2="&#x21;" k="-170" />
+    <hkern u1="F" g2=".notdef" k="97" />
+    <hkern u1="G" u2="&#xd0;" k="-34" />
+    <hkern u1="G" u2="&#xc2;" k="68" />
+    <hkern u1="G" u2="&#x2021;" k="30" />
+    <hkern u1="G" u2="&#x2014;" k="33" />
+    <hkern u1="G" u2="&#x2013;" k="-26" />
+    <hkern u1="G" u2="&#x153;" k="22" />
+    <hkern u1="G" u2="&#xc0;" k="123" />
+    <hkern u1="G" u2="&#xa2;" k="-69" />
+    <hkern u1="G" u2="&#xd1;" k="-59" />
+    <hkern u1="G" u2="&#xc9;" k="48" />
+    <hkern u1="G" u2="&#x7e;" k="67" />
+    <hkern u1="G" u2="z" k="-20" />
+    <hkern u1="G" u2="x" k="-66" />
+    <hkern u1="G" u2="v" k="-86" />
+    <hkern u1="G" u2="u" k="-29" />
+    <hkern u1="G" u2="s" k="-43" />
+    <hkern u1="G" u2="r" k="-70" />
+    <hkern u1="G" u2="q" k="-30" />
+    <hkern u1="G" u2="p" k="-97" />
+    <hkern u1="G" u2="n" k="-43" />
+    <hkern u1="G" u2="m" k="-99" />
+    <hkern u1="G" u2="l" k="-23" />
+    <hkern u1="G" u2="k" k="-38" />
+    <hkern u1="G" u2="j" k="57" />
+    <hkern u1="G" u2="e" k="-29" />
+    <hkern u1="G" u2="d" k="50" />
+    <hkern u1="G" u2="c" k="-23" />
+    <hkern u1="G" u2="b" k="-27" />
+    <hkern u1="G" u2="a" k="-20" />
+    <hkern u1="G" u2="`" k="384" />
+    <hkern u1="G" u2="Y" k="120" />
+    <hkern u1="G" u2="X" k="-27" />
+    <hkern u1="G" u2="W" k="-85" />
+    <hkern u1="G" u2="V" k="-47" />
+    <hkern u1="G" u2="U" k="62" />
+    <hkern u1="G" u2="T" k="307" />
+    <hkern u1="G" u2="S" k="-50" />
+    <hkern u1="G" u2="R" k="147" />
+    <hkern u1="G" u2="Q" k="-40" />
+    <hkern u1="G" u2="P" k="75" />
+    <hkern u1="G" u2="O" k="-41" />
+    <hkern u1="G" u2="N" k="-81" />
+    <hkern u1="G" u2="M" k="-77" />
+    <hkern u1="G" u2="L" k="-32" />
+    <hkern u1="G" u2="K" k="-97" />
+    <hkern u1="G" u2="J" k="-370" />
+    <hkern u1="G" u2="I" k="26" />
+    <hkern u1="G" u2="H" k="-57" />
+    <hkern u1="G" u2="G" k="-26" />
+    <hkern u1="G" u2="F" k="-31" />
+    <hkern u1="G" u2="E" k="-33" />
+    <hkern u1="G" u2="D" k="-99" />
+    <hkern u1="G" u2="C" k="-32" />
+    <hkern u1="G" u2="B" k="-127" />
+    <hkern u1="G" u2="A" k="-83" />
+    <hkern u1="G" u2="&#x40;" k="25" />
+    <hkern u1="G" u2="&#x3b;" k="69" />
+    <hkern u1="G" u2="&#x3a;" k="131" />
+    <hkern u1="G" u2="&#x38;" k="-80" />
+    <hkern u1="G" u2="&#x37;" k="80" />
+    <hkern u1="G" u2="&#x35;" k="-22" />
+    <hkern u1="G" u2="&#x33;" k="-25" />
+    <hkern u1="G" u2="&#x32;" k="-92" />
+    <hkern u1="G" u2="&#x31;" k="-34" />
+    <hkern u1="G" u2="&#x30;" k="-52" />
+    <hkern u1="G" u2="&#x2f;" k="-24" />
+    <hkern u1="G" u2="&#x2e;" k="121" />
+    <hkern u1="G" u2="&#x2c;" k="71" />
+    <hkern u1="G" u2="&#x29;" k="53" />
+    <hkern u1="G" u2="&#x26;" k="96" />
+    <hkern u1="G" u2="&#x25;" k="-41" />
+    <hkern u1="G" u2="&#x24;" k="-29" />
+    <hkern u1="G" u2="&#x23;" k="59" />
+    <hkern u1="G" u2="&#x21;" k="68" />
+    <hkern u1="H" u2="&#xc1;" k="63" />
+    <hkern u1="H" u2="&#xc2;" k="25" />
+    <hkern u1="H" u2="&#x2021;" k="-56" />
+    <hkern u1="H" u2="&#x203a;" k="-43" />
+    <hkern u1="H" u2="&#x2014;" k="-30" />
+    <hkern u1="H" u2="&#x2013;" k="-96" />
+    <hkern u1="H" u2="&#x153;" k="-60" />
+    <hkern u1="H" u2="&#xc0;" k="368" />
+    <hkern u1="H" u2="&#xa2;" k="-41" />
+    <hkern u1="H" u2="&#xd1;" k="-41" />
+    <hkern u1="H" u2="&#x7e;" k="167" />
+    <hkern u1="H" u2="z" k="-87" />
+    <hkern u1="H" u2="x" k="-68" />
+    <hkern u1="H" u2="w" k="-48" />
+    <hkern u1="H" u2="u" k="-89" />
+    <hkern u1="H" u2="s" k="-56" />
+    <hkern u1="H" u2="r" k="-79" />
+    <hkern u1="H" u2="q" k="-61" />
+    <hkern u1="H" u2="p" k="-55" />
+    <hkern u1="H" u2="o" k="-52" />
+    <hkern u1="H" u2="n" k="-111" />
+    <hkern u1="H" u2="m" k="-144" />
+    <hkern u1="H" u2="l" k="-22" />
+    <hkern u1="H" u2="k" k="-47" />
+    <hkern u1="H" u2="j" k="117" />
+    <hkern u1="H" u2="h" k="-69" />
+    <hkern u1="H" u2="f" k="63" />
+    <hkern u1="H" u2="e" k="-71" />
+    <hkern u1="H" u2="d" k="-36" />
+    <hkern u1="H" u2="c" k="-57" />
+    <hkern u1="H" u2="b" k="-27" />
+    <hkern u1="H" u2="a" k="-78" />
+    <hkern u1="H" u2="`" k="94" />
+    <hkern u1="H" u2="Z" k="-77" />
+    <hkern u1="H" u2="X" k="-102" />
+    <hkern u1="H" u2="W" k="35" />
+    <hkern u1="H" u2="V" k="30" />
+    <hkern u1="H" u2="U" k="-22" />
+    <hkern u1="H" u2="R" k="-33" />
+    <hkern u1="H" u2="Q" k="-38" />
+    <hkern u1="H" u2="P" k="-30" />
+    <hkern u1="H" u2="O" k="-45" />
+    <hkern u1="H" u2="L" k="-78" />
+    <hkern u1="H" u2="K" k="-99" />
+    <hkern u1="H" u2="J" k="59" />
+    <hkern u1="H" u2="I" k="-33" />
+    <hkern u1="H" u2="G" k="-26" />
+    <hkern u1="H" u2="D" k="-23" />
+    <hkern u1="H" u2="C" k="-59" />
+    <hkern u1="H" u2="B" k="-77" />
+    <hkern u1="H" u2="A" k="-49" />
+    <hkern u1="H" u2="&#x40;" k="39" />
+    <hkern u1="H" u2="&#x3f;" k="63" />
+    <hkern u1="H" u2="&#x3b;" k="135" />
+    <hkern u1="H" u2="&#x3a;" k="63" />
+    <hkern u1="H" u2="&#x36;" k="-36" />
+    <hkern u1="H" u2="&#x35;" k="-82" />
+    <hkern u1="H" u2="&#x34;" k="40" />
+    <hkern u1="H" u2="&#x33;" k="-72" />
+    <hkern u1="H" u2="&#x32;" k="-106" />
+    <hkern u1="H" u2="&#x30;" k="-45" />
+    <hkern u1="H" u2="&#x2f;" k="-34" />
+    <hkern u1="H" u2="&#x2e;" k="80" />
+    <hkern u1="H" u2="&#x2c;" k="99" />
+    <hkern u1="H" u2="&#x29;" k="70" />
+    <hkern u1="H" u2="&#x26;" k="93" />
+    <hkern u1="H" u2="&#x25;" k="-51" />
+    <hkern u1="H" u2="&#x23;" k="72" />
+    <hkern u1="H" u2="&#x21;" k="83" />
+    <hkern u1="H" g2=".notdef" k="-53" />
+    <hkern u1="I" u2="&#xd0;" k="263" />
+    <hkern u1="I" u2="&#x2021;" k="-82" />
+    <hkern u1="I" u2="&#x203a;" k="-57" />
+    <hkern u1="I" u2="&#x2019;" k="-23" />
+    <hkern u1="I" u2="&#x2014;" k="-43" />
+    <hkern u1="I" u2="&#x2013;" k="-120" />
+    <hkern u1="I" u2="&#x153;" k="-76" />
+    <hkern u1="I" u2="&#xc0;" k="294" />
+    <hkern u1="I" u2="&#xd1;" k="239" />
+    <hkern u1="I" u2="&#xc9;" k="-37" />
+    <hkern u1="I" u2="&#x7e;" k="339" />
+    <hkern u1="I" u2="z" k="-102" />
+    <hkern u1="I" u2="y" k="-34" />
+    <hkern u1="I" u2="x" k="-101" />
+    <hkern u1="I" u2="w" k="-66" />
+    <hkern u1="I" u2="v" k="86" />
+    <hkern u1="I" u2="u" k="-107" />
+    <hkern u1="I" u2="t" k="124" />
+    <hkern u1="I" u2="s" k="-70" />
+    <hkern u1="I" u2="r" k="-104" />
+    <hkern u1="I" u2="q" k="-92" />
+    <hkern u1="I" u2="p" k="-98" />
+    <hkern u1="I" u2="o" k="-66" />
+    <hkern u1="I" u2="n" k="-136" />
+    <hkern u1="I" u2="m" k="-167" />
+    <hkern u1="I" u2="l" k="-46" />
+    <hkern u1="I" u2="k" k="-75" />
+    <hkern u1="I" u2="j" k="75" />
+    <hkern u1="I" u2="i" k="-30" />
+    <hkern u1="I" u2="h" k="-102" />
+    <hkern u1="I" u2="g" k="-37" />
+    <hkern u1="I" u2="f" k="31" />
+    <hkern u1="I" u2="e" k="-86" />
+    <hkern u1="I" u2="d" k="-72" />
+    <hkern u1="I" u2="c" k="-71" />
+    <hkern u1="I" u2="b" k="-53" />
+    <hkern u1="I" u2="a" k="-108" />
+    <hkern u1="I" u2="`" k="299" />
+    <hkern u1="I" u2="Z" k="-110" />
+    <hkern u1="I" u2="Y" k="-48" />
+    <hkern u1="I" u2="X" k="-146" />
+    <hkern u1="I" u2="W" k="181" />
+    <hkern u1="I" u2="V" k="195" />
+    <hkern u1="I" u2="U" k="-54" />
+    <hkern u1="I" u2="T" k="37" />
+    <hkern u1="I" u2="Q" k="-58" />
+    <hkern u1="I" u2="O" k="-64" />
+    <hkern u1="I" u2="N" k="97" />
+    <hkern u1="I" u2="M" k="97" />
+    <hkern u1="I" u2="L" k="-128" />
+    <hkern u1="I" u2="K" k="-118" />
+    <hkern u1="I" u2="J" k="-31" />
+    <hkern u1="I" u2="I" k="-101" />
+    <hkern u1="I" u2="H" k="-49" />
+    <hkern u1="I" u2="G" k="-62" />
+    <hkern u1="I" u2="E" k="32" />
+    <hkern u1="I" u2="D" k="56" />
+    <hkern u1="I" u2="C" k="-82" />
+    <hkern u1="I" u2="B" k="-109" />
+    <hkern u1="I" u2="A" k="-97" />
+    <hkern u1="I" u2="&#x40;" k="255" />
+    <hkern u1="I" u2="&#x3f;" k="123" />
+    <hkern u1="I" u2="&#x3b;" k="74" />
+    <hkern u1="I" u2="&#x3a;" k="48" />
+    <hkern u1="I" u2="&#x39;" k="158" />
+    <hkern u1="I" u2="&#x37;" k="-78" />
+    <hkern u1="I" u2="&#x36;" k="-60" />
+    <hkern u1="I" u2="&#x35;" k="-117" />
+    <hkern u1="I" u2="&#x34;" k="102" />
+    <hkern u1="I" u2="&#x33;" k="-96" />
+    <hkern u1="I" u2="&#x32;" k="-142" />
+    <hkern u1="I" u2="&#x31;" k="-50" />
+    <hkern u1="I" u2="&#x30;" k="-38" />
+    <hkern u1="I" u2="&#x2f;" k="-80" />
+    <hkern u1="I" u2="&#x2e;" k="40" />
+    <hkern u1="I" u2="&#x2d;" k="287" />
+    <hkern u1="I" u2="&#x26;" k="76" />
+    <hkern u1="I" u2="&#x25;" k="-98" />
+    <hkern u1="I" u2="&#x23;" k="202" />
+    <hkern u1="I" u2="&#x21;" k="52" />
+    <hkern u1="I" g2=".notdef" k="-66" />
+    <hkern u1="J" u2="&#xd0;" k="94" />
+    <hkern u1="J" u2="&#xc1;" k="265" />
+    <hkern u1="J" u2="&#xc2;" k="194" />
+    <hkern u1="J" u2="&#x2021;" k="147" />
+    <hkern u1="J" u2="&#x203a;" k="122" />
+    <hkern u1="J" u2="&#x2019;" k="128" />
+    <hkern u1="J" u2="&#x2014;" k="136" />
+    <hkern u1="J" u2="&#x2013;" k="112" />
+    <hkern u1="J" u2="&#x153;" k="127" />
+    <hkern u1="J" u2="&#xc0;" k="362" />
+    <hkern u1="J" u2="&#xa2;" k="-36" />
+    <hkern u1="J" u2="&#xd1;" k="70" />
+    <hkern u1="J" u2="&#xc9;" k="186" />
+    <hkern u1="J" u2="&#x7e;" k="192" />
+    <hkern u1="J" u2="z" k="123" />
+    <hkern u1="J" u2="y" k="101" />
+    <hkern u1="J" u2="x" k="84" />
+    <hkern u1="J" u2="w" k="124" />
+    <hkern u1="J" u2="v" k="64" />
+    <hkern u1="J" u2="u" k="100" />
+    <hkern u1="J" u2="t" k="123" />
+    <hkern u1="J" u2="s" k="85" />
+    <hkern u1="J" u2="r" k="83" />
+    <hkern u1="J" u2="q" k="126" />
+    <hkern u1="J" u2="p" k="129" />
+    <hkern u1="J" u2="o" k="115" />
+    <hkern u1="J" u2="n" k="100" />
+    <hkern u1="J" u2="m" k="34" />
+    <hkern u1="J" u2="l" k="-101" />
+    <hkern u1="J" u2="k" k="-95" />
+    <hkern u1="J" u2="j" k="-110" />
+    <hkern u1="J" u2="i" k="120" />
+    <hkern u1="J" u2="h" k="-51" />
+    <hkern u1="J" u2="g" k="143" />
+    <hkern u1="J" u2="f" k="82" />
+    <hkern u1="J" u2="e" k="98" />
+    <hkern u1="J" u2="d" k="163" />
+    <hkern u1="J" u2="c" k="104" />
+    <hkern u1="J" u2="b" k="-29" />
+    <hkern u1="J" u2="a" k="123" />
+    <hkern u1="J" u2="`" k="187" />
+    <hkern u1="J" u2="Z" k="124" />
+    <hkern u1="J" u2="Y" k="-61" />
+    <hkern u1="J" u2="X" k="-175" />
+    <hkern u1="J" u2="W" k="38" />
+    <hkern u1="J" u2="V" k="66" />
+    <hkern u1="J" u2="U" k="-28" />
+    <hkern u1="J" u2="S" k="65" />
+    <hkern u1="J" u2="R" k="-32" />
+    <hkern u1="J" u2="P" k="-53" />
+    <hkern u1="J" u2="N" k="40" />
+    <hkern u1="J" u2="M" k="41" />
+    <hkern u1="J" u2="K" k="-142" />
+    <hkern u1="J" u2="J" k="-116" />
+    <hkern u1="J" u2="I" k="-145" />
+    <hkern u1="J" u2="H" k="-51" />
+    <hkern u1="J" u2="G" k="72" />
+    <hkern u1="J" u2="F" k="47" />
+    <hkern u1="J" u2="E" k="39" />
+    <hkern u1="J" u2="C" k="63" />
+    <hkern u1="J" u2="A" k="103" />
+    <hkern u1="J" u2="&#x40;" k="149" />
+    <hkern u1="J" u2="&#x3f;" k="105" />
+    <hkern u1="J" u2="&#x3b;" k="284" />
+    <hkern u1="J" u2="&#x3a;" k="272" />
+    <hkern u1="J" u2="&#x39;" k="99" />
+    <hkern u1="J" u2="&#x38;" k="44" />
+    <hkern u1="J" u2="&#x37;" k="-122" />
+    <hkern u1="J" u2="&#x36;" k="109" />
+    <hkern u1="J" u2="&#x35;" k="82" />
+    <hkern u1="J" u2="&#x34;" k="63" />
+    <hkern u1="J" u2="&#x33;" k="81" />
+    <hkern u1="J" u2="&#x32;" k="38" />
+    <hkern u1="J" u2="&#x31;" k="126" />
+    <hkern u1="J" u2="&#x30;" k="59" />
+    <hkern u1="J" u2="&#x2f;" k="166" />
+    <hkern u1="J" u2="&#x2e;" k="259" />
+    <hkern u1="J" u2="&#x2d;" k="118" />
+    <hkern u1="J" u2="&#x2c;" k="262" />
+    <hkern u1="J" u2="&#x28;" k="105" />
+    <hkern u1="J" u2="&#x26;" k="199" />
+    <hkern u1="J" u2="&#x25;" k="148" />
+    <hkern u1="J" u2="&#x24;" k="-54" />
+    <hkern u1="J" u2="&#x23;" k="163" />
+    <hkern u1="J" u2="&#x21;" k="36" />
+    <hkern u1="J" g2=".notdef" k="116" />
+    <hkern u1="K" u2="&#xd0;" k="300" />
+    <hkern u1="K" u2="&#xc1;" k="-93" />
+    <hkern u1="K" u2="&#xc2;" k="-113" />
+    <hkern u1="K" u2="&#x2021;" k="-193" />
+    <hkern u1="K" u2="&#x203a;" k="-185" />
+    <hkern u1="K" u2="&#x2019;" k="-153" />
+    <hkern u1="K" u2="&#x2014;" k="-175" />
+    <hkern u1="K" u2="&#x2013;" k="-221" />
+    <hkern u1="K" u2="&#x153;" k="-198" />
+    <hkern u1="K" u2="&#xc0;" k="238" />
+    <hkern u1="K" u2="&#xa2;" k="-43" />
+    <hkern u1="K" u2="&#xd1;" k="279" />
+    <hkern u1="K" u2="&#xc9;" k="-202" />
+    <hkern u1="K" u2="&#x7e;" k="120" />
+    <hkern u1="K" u2="z" k="-208" />
+    <hkern u1="K" u2="y" k="-170" />
+    <hkern u1="K" u2="x" k="-204" />
+    <hkern u1="K" u2="w" k="-178" />
+    <hkern u1="K" u2="v" k="-30" />
+    <hkern u1="K" u2="u" k="-214" />
+    <hkern u1="K" u2="s" k="-182" />
+    <hkern u1="K" u2="r" k="-203" />
+    <hkern u1="K" u2="q" k="-220" />
+    <hkern u1="K" u2="p" k="-195" />
+    <hkern u1="K" u2="o" k="-186" />
+    <hkern u1="K" u2="n" k="-229" />
+    <hkern u1="K" u2="m" k="-267" />
+    <hkern u1="K" u2="l" k="-169" />
+    <hkern u1="K" u2="k" k="-205" />
+    <hkern u1="K" u2="j" k="-23" />
+    <hkern u1="K" u2="i" k="-160" />
+    <hkern u1="K" u2="h" k="-211" />
+    <hkern u1="K" u2="g" k="-175" />
+    <hkern u1="K" u2="f" k="-74" />
+    <hkern u1="K" u2="e" k="-206" />
+    <hkern u1="K" u2="d" k="-179" />
+    <hkern u1="K" u2="c" k="-192" />
+    <hkern u1="K" u2="b" k="-211" />
+    <hkern u1="K" u2="a" k="-207" />
+    <hkern u1="K" u2="`" k="-35" />
+    <hkern u1="K" u2="Z" k="-223" />
+    <hkern u1="K" u2="Y" k="-131" />
+    <hkern u1="K" u2="X" k="-246" />
+    <hkern u1="K" u2="V" k="-39" />
+    <hkern u1="K" u2="U" k="-163" />
+    <hkern u1="K" u2="T" k="-126" />
+    <hkern u1="K" u2="S" k="-137" />
+    <hkern u1="K" u2="R" k="-132" />
+    <hkern u1="K" u2="Q" k="-197" />
+    <hkern u1="K" u2="P" k="-136" />
+    <hkern u1="K" u2="O" k="-199" />
+    <hkern u1="K" u2="N" k="-37" />
+    <hkern u1="K" u2="M" k="-58" />
+    <hkern u1="K" u2="L" k="-170" />
+    <hkern u1="K" u2="K" k="-245" />
+    <hkern u1="K" u2="J" k="-37" />
+    <hkern u1="K" u2="I" k="-145" />
+    <hkern u1="K" u2="H" k="-123" />
+    <hkern u1="K" u2="G" k="-198" />
+    <hkern u1="K" u2="F" k="-112" />
+    <hkern u1="K" u2="E" k="-95" />
+    <hkern u1="K" u2="D" k="-89" />
+    <hkern u1="K" u2="C" k="-216" />
+    <hkern u1="K" u2="B" k="-217" />
+    <hkern u1="K" u2="A" k="-178" />
+    <hkern u1="K" u2="&#x40;" k="97" />
+    <hkern u1="K" u2="&#x3a;" k="-65" />
+    <hkern u1="K" u2="&#x39;" k="57" />
+    <hkern u1="K" u2="&#x38;" k="-132" />
+    <hkern u1="K" u2="&#x37;" k="-137" />
+    <hkern u1="K" u2="&#x36;" k="-185" />
+    <hkern u1="K" u2="&#x35;" k="-223" />
+    <hkern u1="K" u2="&#x34;" k="63" />
+    <hkern u1="K" u2="&#x33;" k="-232" />
+    <hkern u1="K" u2="&#x32;" k="-241" />
+    <hkern u1="K" u2="&#x31;" k="-81" />
+    <hkern u1="K" u2="&#x30;" k="-178" />
+    <hkern u1="K" u2="&#x2f;" k="-163" />
+    <hkern u1="K" u2="&#x2e;" k="-129" />
+    <hkern u1="K" u2="&#x2d;" k="319" />
+    <hkern u1="K" u2="&#x2c;" k="-55" />
+    <hkern u1="K" u2="&#x29;" k="-53" />
+    <hkern u1="K" u2="&#x28;" k="-149" />
+    <hkern u1="K" u2="&#x26;" k="-70" />
+    <hkern u1="K" u2="&#x25;" k="-181" />
+    <hkern u1="K" u2="&#x24;" k="-75" />
+    <hkern u1="K" u2="&#x23;" k="41" />
+    <hkern u1="K" u2="&#x21;" k="-29" />
+    <hkern u1="K" g2=".notdef" k="-197" />
+    <hkern u1="L" u2="&#xd0;" k="486" />
+    <hkern u1="L" u2="&#xc1;" k="-47" />
+    <hkern u1="L" u2="&#xc2;" k="-40" />
+    <hkern u1="L" u2="&#x2021;" k="-112" />
+    <hkern u1="L" u2="&#x203a;" k="-80" />
+    <hkern u1="L" u2="&#x2019;" k="-52" />
+    <hkern u1="L" u2="&#x2014;" k="-68" />
+    <hkern u1="L" u2="&#x2013;" k="-143" />
+    <hkern u1="L" u2="&#x153;" k="-102" />
+    <hkern u1="L" u2="&#xc0;" k="219" />
+    <hkern u1="L" u2="&#xa2;" k="286" />
+    <hkern u1="L" u2="&#xd1;" k="462" />
+    <hkern u1="L" u2="&#xc9;" k="-137" />
+    <hkern u1="L" u2="&#x7e;" k="595" />
+    <hkern u1="L" u2="z" k="-130" />
+    <hkern u1="L" u2="y" k="-64" />
+    <hkern u1="L" u2="x" k="-129" />
+    <hkern u1="L" u2="w" k="-91" />
+    <hkern u1="L" u2="v" k="58" />
+    <hkern u1="L" u2="u" k="-134" />
+    <hkern u1="L" u2="t" k="102" />
+    <hkern u1="L" u2="s" k="-96" />
+    <hkern u1="L" u2="r" k="-130" />
+    <hkern u1="L" u2="q" k="-122" />
+    <hkern u1="L" u2="p" k="-131" />
+    <hkern u1="L" u2="o" k="-92" />
+    <hkern u1="L" u2="n" k="-165" />
+    <hkern u1="L" u2="m" k="-196" />
+    <hkern u1="L" u2="l" k="-67" />
+    <hkern u1="L" u2="k" k="-99" />
+    <hkern u1="L" u2="j" k="44" />
+    <hkern u1="L" u2="i" k="-60" />
+    <hkern u1="L" u2="h" k="-127" />
+    <hkern u1="L" u2="g" k="-67" />
+    <hkern u1="L" u2="e" k="-111" />
+    <hkern u1="L" u2="d" k="-97" />
+    <hkern u1="L" u2="c" k="-98" />
+    <hkern u1="L" u2="b" k="-94" />
+    <hkern u1="L" u2="a" k="-140" />
+    <hkern u1="L" u2="`" k="339" />
+    <hkern u1="L" u2="Z" k="-135" />
+    <hkern u1="L" u2="X" k="-168" />
+    <hkern u1="L" u2="W" k="156" />
+    <hkern u1="L" u2="V" k="277" />
+    <hkern u1="L" u2="U" k="-81" />
+    <hkern u1="L" u2="T" k="203" />
+    <hkern u1="L" u2="S" k="-35" />
+    <hkern u1="L" u2="R" k="61" />
+    <hkern u1="L" u2="Q" k="-83" />
+    <hkern u1="L" u2="P" k="27" />
+    <hkern u1="L" u2="O" k="-89" />
+    <hkern u1="L" u2="N" k="69" />
+    <hkern u1="L" u2="M" k="67" />
+    <hkern u1="L" u2="L" k="-162" />
+    <hkern u1="L" u2="K" k="-144" />
+    <hkern u1="L" u2="J" k="138" />
+    <hkern u1="L" u2="I" k="-113" />
+    <hkern u1="L" u2="H" k="-186" />
+    <hkern u1="L" u2="G" k="-87" />
+    <hkern u1="L" u2="D" k="26" />
+    <hkern u1="L" u2="C" k="-106" />
+    <hkern u1="L" u2="B" k="-136" />
+    <hkern u1="L" u2="A" k="-135" />
+    <hkern u1="L" u2="&#x40;" k="199" />
+    <hkern u1="L" u2="&#x3f;" k="91" />
+    <hkern u1="L" u2="&#x39;" k="-109" />
+    <hkern u1="L" u2="&#x38;" k="-39" />
+    <hkern u1="L" u2="&#x37;" k="-59" />
+    <hkern u1="L" u2="&#x36;" k="-87" />
+    <hkern u1="L" u2="&#x35;" k="-147" />
+    <hkern u1="L" u2="&#x34;" k="359" />
+    <hkern u1="L" u2="&#x33;" k="-124" />
+    <hkern u1="L" u2="&#x32;" k="-173" />
+    <hkern u1="L" u2="&#x31;" k="-127" />
+    <hkern u1="L" u2="&#x30;" k="-66" />
+    <hkern u1="L" u2="&#x2f;" k="-122" />
+    <hkern u1="L" u2="&#x2e;" k="-64" />
+    <hkern u1="L" u2="&#x2d;" k="509" />
+    <hkern u1="L" u2="&#x2c;" k="-105" />
+    <hkern u1="L" u2="&#x29;" k="-29" />
+    <hkern u1="L" u2="&#x28;" k="-45" />
+    <hkern u1="L" u2="&#x26;" k="44" />
+    <hkern u1="L" u2="&#x25;" k="-140" />
+    <hkern u1="L" u2="&#x24;" k="253" />
+    <hkern u1="L" u2="&#x23;" k="170" />
+    <hkern u1="L" u2="&#x21;" k="21" />
+    <hkern u1="L" g2=".notdef" k="-91" />
+    <hkern u1="M" u2="&#xd0;" k="66" />
+    <hkern u1="M" u2="&#xc1;" k="-28" />
+    <hkern u1="M" u2="&#xc2;" k="-33" />
+    <hkern u1="M" u2="&#x2021;" k="-103" />
+    <hkern u1="M" u2="&#x203a;" k="-69" />
+    <hkern u1="M" u2="&#x2019;" k="-42" />
+    <hkern u1="M" u2="&#x2014;" k="-55" />
+    <hkern u1="M" u2="&#x2013;" k="-139" />
+    <hkern u1="M" u2="&#x153;" k="-95" />
+    <hkern u1="M" u2="&#xc0;" k="239" />
+    <hkern u1="M" u2="&#xa2;" k="33" />
+    <hkern u1="M" u2="&#xd1;" k="43" />
+    <hkern u1="M" u2="&#xc9;" k="69" />
+    <hkern u1="M" u2="&#x7e;" k="188" />
+    <hkern u1="M" u2="z" k="-113" />
+    <hkern u1="M" u2="y" k="46" />
+    <hkern u1="M" u2="x" k="-126" />
+    <hkern u1="M" u2="w" k="-86" />
+    <hkern u1="M" u2="v" k="39" />
+    <hkern u1="M" u2="u" k="-127" />
+    <hkern u1="M" u2="t" k="89" />
+    <hkern u1="M" u2="s" k="-89" />
+    <hkern u1="M" u2="r" k="-124" />
+    <hkern u1="M" u2="q" k="-99" />
+    <hkern u1="M" u2="p" k="-126" />
+    <hkern u1="M" u2="o" k="-79" />
+    <hkern u1="M" u2="n" k="-155" />
+    <hkern u1="M" u2="m" k="-187" />
+    <hkern u1="M" u2="l" k="-54" />
+    <hkern u1="M" u2="k" k="-88" />
+    <hkern u1="M" u2="j" k="47" />
+    <hkern u1="M" u2="i" k="-50" />
+    <hkern u1="M" u2="h" k="-119" />
+    <hkern u1="M" u2="g" k="42" />
+    <hkern u1="M" u2="e" k="-99" />
+    <hkern u1="M" u2="d" k="-84" />
+    <hkern u1="M" u2="c" k="-82" />
+    <hkern u1="M" u2="b" k="-50" />
+    <hkern u1="M" u2="a" k="-131" />
+    <hkern u1="M" u2="`" k="193" />
+    <hkern u1="M" u2="Z" k="-127" />
+    <hkern u1="M" u2="X" k="-160" />
+    <hkern u1="M" u2="W" k="23" />
+    <hkern u1="M" u2="V" k="56" />
+    <hkern u1="M" u2="U" k="-73" />
+    <hkern u1="M" u2="T" k="52" />
+    <hkern u1="M" u2="S" k="-22" />
+    <hkern u1="M" u2="Q" k="-62" />
+    <hkern u1="M" u2="P" k="22" />
+    <hkern u1="M" u2="O" k="-67" />
+    <hkern u1="M" u2="N" k="30" />
+    <hkern u1="M" u2="M" k="35" />
+    <hkern u1="M" u2="L" k="-153" />
+    <hkern u1="M" u2="K" k="-133" />
+    <hkern u1="M" u2="J" k="147" />
+    <hkern u1="M" u2="I" k="-105" />
+    <hkern u1="M" u2="H" k="-176" />
+    <hkern u1="M" u2="G" k="-71" />
+    <hkern u1="M" u2="C" k="-93" />
+    <hkern u1="M" u2="B" k="-128" />
+    <hkern u1="M" u2="A" k="-126" />
+    <hkern u1="M" u2="&#x40;" k="119" />
+    <hkern u1="M" u2="&#x3f;" k="92" />
+    <hkern u1="M" u2="&#x3b;" k="21" />
+    <hkern u1="M" u2="&#x3a;" k="37" />
+    <hkern u1="M" u2="&#x39;" k="-100" />
+    <hkern u1="M" u2="&#x38;" k="-28" />
+    <hkern u1="M" u2="&#x37;" k="-52" />
+    <hkern u1="M" u2="&#x36;" k="-79" />
+    <hkern u1="M" u2="&#x35;" k="-140" />
+    <hkern u1="M" u2="&#x34;" k="30" />
+    <hkern u1="M" u2="&#x33;" k="-111" />
+    <hkern u1="M" u2="&#x32;" k="-168" />
+    <hkern u1="M" u2="&#x31;" k="-119" />
+    <hkern u1="M" u2="&#x30;" k="-52" />
+    <hkern u1="M" u2="&#x2f;" k="-114" />
+    <hkern u1="M" u2="&#x2e;" k="142" />
+    <hkern u1="M" u2="&#x2d;" k="90" />
+    <hkern u1="M" u2="&#x2c;" k="-47" />
+    <hkern u1="M" u2="&#x28;" k="-38" />
+    <hkern u1="M" u2="&#x26;" k="77" />
+    <hkern u1="M" u2="&#x25;" k="-132" />
+    <hkern u1="M" u2="&#x24;" k="60" />
+    <hkern u1="M" u2="&#x23;" k="155" />
+    <hkern u1="M" u2="&#x21;" k="31" />
+    <hkern u1="M" g2=".notdef" k="-77" />
+    <hkern u1="N" u2="&#xd0;" k="79" />
+    <hkern u1="N" u2="&#xc1;" k="21" />
+    <hkern u1="N" u2="&#x2021;" k="-82" />
+    <hkern u1="N" u2="&#x203a;" k="-82" />
+    <hkern u1="N" u2="&#x2019;" k="-45" />
+    <hkern u1="N" u2="&#x2014;" k="-67" />
+    <hkern u1="N" u2="&#x2013;" k="-120" />
+    <hkern u1="N" u2="&#x153;" k="-90" />
+    <hkern u1="N" u2="&#xc0;" k="351" />
+    <hkern u1="N" u2="&#xa2;" k="48" />
+    <hkern u1="N" u2="&#xd1;" k="55" />
+    <hkern u1="N" u2="&#xc9;" k="-82" />
+    <hkern u1="N" u2="&#x7e;" k="208" />
+    <hkern u1="N" u2="z" k="-116" />
+    <hkern u1="N" u2="y" k="-72" />
+    <hkern u1="N" u2="x" k="-99" />
+    <hkern u1="N" u2="w" k="-82" />
+    <hkern u1="N" u2="v" k="58" />
+    <hkern u1="N" u2="u" k="-121" />
+    <hkern u1="N" u2="t" k="97" />
+    <hkern u1="N" u2="s" k="-87" />
+    <hkern u1="N" u2="r" k="-107" />
+    <hkern u1="N" u2="q" k="-121" />
+    <hkern u1="N" u2="p" k="-98" />
+    <hkern u1="N" u2="o" k="-92" />
+    <hkern u1="N" u2="n" k="-135" />
+    <hkern u1="N" u2="m" k="-174" />
+    <hkern u1="N" u2="l" k="-57" />
+    <hkern u1="N" u2="k" k="-94" />
+    <hkern u1="N" u2="j" k="82" />
+    <hkern u1="N" u2="i" k="-52" />
+    <hkern u1="N" u2="h" k="-99" />
+    <hkern u1="N" u2="g" k="-76" />
+    <hkern u1="N" u2="f" k="38" />
+    <hkern u1="N" u2="e" k="-111" />
+    <hkern u1="N" u2="d" k="-65" />
+    <hkern u1="N" u2="c" k="-98" />
+    <hkern u1="N" u2="b" k="-105" />
+    <hkern u1="N" u2="a" k="-109" />
+    <hkern u1="N" u2="`" k="219" />
+    <hkern u1="N" u2="Z" k="-108" />
+    <hkern u1="N" u2="X" k="-130" />
+    <hkern u1="N" u2="W" k="39" />
+    <hkern u1="N" u2="V" k="81" />
+    <hkern u1="N" u2="U" k="-51" />
+    <hkern u1="N" u2="T" k="78" />
+    <hkern u1="N" u2="S" k="-25" />
+    <hkern u1="N" u2="R" k="43" />
+    <hkern u1="N" u2="Q" k="-90" />
+    <hkern u1="N" u2="P" k="37" />
+    <hkern u1="N" u2="O" k="-91" />
+    <hkern u1="N" u2="N" k="55" />
+    <hkern u1="N" u2="M" k="44" />
+    <hkern u1="N" u2="L" k="-39" />
+    <hkern u1="N" u2="K" k="-134" />
+    <hkern u1="N" u2="J" k="206" />
+    <hkern u1="N" u2="G" k="-89" />
+    <hkern u1="N" u2="D" k="31" />
+    <hkern u1="N" u2="C" k="-106" />
+    <hkern u1="N" u2="B" k="-103" />
+    <hkern u1="N" u2="A" k="-58" />
+    <hkern u1="N" u2="&#x40;" k="124" />
+    <hkern u1="N" u2="&#x3f;" k="117" />
+    <hkern u1="N" u2="&#x3b;" k="112" />
+    <hkern u1="N" u2="&#x3a;" k="25" />
+    <hkern u1="N" u2="&#x39;" k="96" />
+    <hkern u1="N" u2="&#x38;" k="-21" />
+    <hkern u1="N" u2="&#x37;" k="-21" />
+    <hkern u1="N" u2="&#x36;" k="-73" />
+    <hkern u1="N" u2="&#x35;" k="-102" />
+    <hkern u1="N" u2="&#x34;" k="33" />
+    <hkern u1="N" u2="&#x33;" k="-121" />
+    <hkern u1="N" u2="&#x32;" k="-123" />
+    <hkern u1="N" u2="&#x31;" k="31" />
+    <hkern u1="N" u2="&#x30;" k="-70" />
+    <hkern u1="N" u2="&#x2f;" k="-43" />
+    <hkern u1="N" u2="&#x2d;" k="101" />
+    <hkern u1="N" u2="&#x2c;" k="83" />
+    <hkern u1="N" u2="&#x29;" k="67" />
+    <hkern u1="N" u2="&#x28;" k="-37" />
+    <hkern u1="N" u2="&#x26;" k="30" />
+    <hkern u1="N" u2="&#x25;" k="-61" />
+    <hkern u1="N" u2="&#x24;" k="78" />
+    <hkern u1="N" u2="&#x23;" k="148" />
+    <hkern u1="N" u2="&#x21;" k="104" />
+    <hkern u1="N" g2=".notdef" k="-89" />
+    <hkern u1="O" u2="&#xd0;" k="-45" />
+    <hkern u1="O" u2="&#xc1;" k="182" />
+    <hkern u1="O" u2="&#xc2;" k="83" />
+    <hkern u1="O" u2="&#x2021;" k="91" />
+    <hkern u1="O" u2="&#x2014;" k="27" />
+    <hkern u1="O" u2="&#xc0;" k="387" />
+    <hkern u1="O" u2="&#xa2;" k="-110" />
+    <hkern u1="O" u2="&#xd1;" k="-69" />
+    <hkern u1="O" u2="&#xc9;" k="162" />
+    <hkern u1="O" u2="&#x7e;" k="26" />
+    <hkern u1="O" u2="x" k="-67" />
+    <hkern u1="O" u2="v" k="-84" />
+    <hkern u1="O" u2="s" k="-39" />
+    <hkern u1="O" u2="r" k="-68" />
+    <hkern u1="O" u2="q" k="28" />
+    <hkern u1="O" u2="n" k="-28" />
+    <hkern u1="O" u2="m" k="-101" />
+    <hkern u1="O" u2="l" k="-48" />
+    <hkern u1="O" u2="k" k="-67" />
+    <hkern u1="O" u2="j" k="84" />
+    <hkern u1="O" u2="h" k="-34" />
+    <hkern u1="O" u2="g" k="46" />
+    <hkern u1="O" u2="f" k="-27" />
+    <hkern u1="O" u2="d" k="115" />
+    <hkern u1="O" u2="b" k="-58" />
+    <hkern u1="O" u2="a" k="68" />
+    <hkern u1="O" u2="`" k="62" />
+    <hkern u1="O" u2="Z" k="80" />
+    <hkern u1="O" u2="Y" k="-63" />
+    <hkern u1="O" u2="X" k="50" />
+    <hkern u1="O" u2="W" k="-107" />
+    <hkern u1="O" u2="V" k="-82" />
+    <hkern u1="O" u2="U" k="-66" />
+    <hkern u1="O" u2="T" k="-65" />
+    <hkern u1="O" u2="S" k="-77" />
+    <hkern u1="O" u2="R" k="-106" />
+    <hkern u1="O" u2="Q" k="-71" />
+    <hkern u1="O" u2="P" k="-101" />
+    <hkern u1="O" u2="O" k="-70" />
+    <hkern u1="O" u2="N" k="-108" />
+    <hkern u1="O" u2="M" k="-109" />
+    <hkern u1="O" u2="L" k="89" />
+    <hkern u1="O" u2="K" k="-123" />
+    <hkern u1="O" u2="J" k="96" />
+    <hkern u1="O" u2="I" k="-20" />
+    <hkern u1="O" u2="G" k="-62" />
+    <hkern u1="O" u2="F" k="-91" />
+    <hkern u1="O" u2="E" k="-106" />
+    <hkern u1="O" u2="D" k="-131" />
+    <hkern u1="O" u2="C" k="-55" />
+    <hkern u1="O" u2="B" k="-151" />
+    <hkern u1="O" u2="&#x3f;" k="-45" />
+    <hkern u1="O" u2="&#x3b;" k="228" />
+    <hkern u1="O" u2="&#x3a;" k="146" />
+    <hkern u1="O" u2="&#x39;" k="-42" />
+    <hkern u1="O" u2="&#x38;" k="-105" />
+    <hkern u1="O" u2="&#x35;" k="-45" />
+    <hkern u1="O" u2="&#x33;" k="41" />
+    <hkern u1="O" u2="&#x32;" k="-111" />
+    <hkern u1="O" u2="&#x30;" k="-82" />
+    <hkern u1="O" u2="&#x2f;" k="168" />
+    <hkern u1="O" u2="&#x2e;" k="236" />
+    <hkern u1="O" u2="&#x2d;" k="-21" />
+    <hkern u1="O" u2="&#x2c;" k="303" />
+    <hkern u1="O" u2="&#x29;" k="198" />
+    <hkern u1="O" u2="&#x26;" k="104" />
+    <hkern u1="O" u2="&#x25;" k="150" />
+    <hkern u1="O" u2="&#x24;" k="-87" />
+    <hkern u1="O" u2="&#x21;" k="42" />
+    <hkern u1="O" g2=".notdef" k="23" />
+    <hkern u1="P" u2="&#xd0;" k="224" />
+    <hkern u1="P" u2="&#xc1;" k="637" />
+    <hkern u1="P" u2="&#xc2;" k="227" />
+    <hkern u1="P" u2="&#x2021;" k="363" />
+    <hkern u1="P" u2="&#x203a;" k="125" />
+    <hkern u1="P" u2="&#x2019;" k="73" />
+    <hkern u1="P" u2="&#x2014;" k="207" />
+    <hkern u1="P" u2="&#x2013;" k="89" />
+    <hkern u1="P" u2="&#x153;" k="145" />
+    <hkern u1="P" u2="&#xc0;" k="841" />
+    <hkern u1="P" u2="&#xa2;" k="-93" />
+    <hkern u1="P" u2="&#xd1;" k="196" />
+    <hkern u1="P" u2="&#xc9;" k="773" />
+    <hkern u1="P" u2="z" k="176" />
+    <hkern u1="P" u2="y" k="141" />
+    <hkern u1="P" u2="w" k="162" />
+    <hkern u1="P" u2="v" k="66" />
+    <hkern u1="P" u2="u" k="153" />
+    <hkern u1="P" u2="t" k="165" />
+    <hkern u1="P" u2="s" k="195" />
+    <hkern u1="P" u2="r" k="35" />
+    <hkern u1="P" u2="q" k="320" />
+    <hkern u1="P" u2="p" k="93" />
+    <hkern u1="P" u2="o" k="216" />
+    <hkern u1="P" u2="n" k="156" />
+    <hkern u1="P" u2="m" k="57" />
+    <hkern u1="P" u2="l" k="-39" />
+    <hkern u1="P" u2="k" k="-43" />
+    <hkern u1="P" u2="j" k="122" />
+    <hkern u1="P" u2="g" k="309" />
+    <hkern u1="P" u2="f" k="107" />
+    <hkern u1="P" u2="e" k="248" />
+    <hkern u1="P" u2="d" k="370" />
+    <hkern u1="P" u2="c" k="245" />
+    <hkern u1="P" u2="a" k="366" />
+    <hkern u1="P" u2="`" k="-50" />
+    <hkern u1="P" u2="Z" k="44" />
+    <hkern u1="P" u2="Y" k="-99" />
+    <hkern u1="P" u2="X" k="-38" />
+    <hkern u1="P" u2="W" k="-51" />
+    <hkern u1="P" u2="V" k="-71" />
+    <hkern u1="P" u2="U" k="-88" />
+    <hkern u1="P" u2="T" k="-102" />
+    <hkern u1="P" u2="R" k="-130" />
+    <hkern u1="P" u2="P" k="-128" />
+    <hkern u1="P" u2="N" k="-85" />
+    <hkern u1="P" u2="M" k="-89" />
+    <hkern u1="P" u2="L" k="70" />
+    <hkern u1="P" u2="K" k="-107" />
+    <hkern u1="P" u2="I" k="-87" />
+    <hkern u1="P" u2="H" k="56" />
+    <hkern u1="P" u2="F" k="-104" />
+    <hkern u1="P" u2="E" k="-106" />
+    <hkern u1="P" u2="D" k="-118" />
+    <hkern u1="P" u2="C" k="58" />
+    <hkern u1="P" u2="B" k="-112" />
+    <hkern u1="P" u2="A" k="285" />
+    <hkern u1="P" u2="&#x40;" k="143" />
+    <hkern u1="P" u2="&#x3f;" k="-31" />
+    <hkern u1="P" u2="&#x3b;" k="457" />
+    <hkern u1="P" u2="&#x3a;" k="398" />
+    <hkern u1="P" u2="&#x39;" k="25" />
+    <hkern u1="P" u2="&#x38;" k="-53" />
+    <hkern u1="P" u2="&#x37;" k="-43" />
+    <hkern u1="P" u2="&#x36;" k="94" />
+    <hkern u1="P" u2="&#x34;" k="95" />
+    <hkern u1="P" u2="&#x33;" k="70" />
+    <hkern u1="P" u2="&#x32;" k="-89" />
+    <hkern u1="P" u2="&#x31;" k="-21" />
+    <hkern u1="P" u2="&#x30;" k="-20" />
+    <hkern u1="P" u2="&#x2f;" k="449" />
+    <hkern u1="P" u2="&#x2e;" k="845" />
+    <hkern u1="P" u2="&#x2d;" k="254" />
+    <hkern u1="P" u2="&#x2c;" k="684" />
+    <hkern u1="P" u2="&#x29;" k="119" />
+    <hkern u1="P" u2="&#x28;" k="55" />
+    <hkern u1="P" u2="&#x26;" k="169" />
+    <hkern u1="P" u2="&#x25;" k="258" />
+    <hkern u1="P" u2="&#x24;" k="-116" />
+    <hkern u1="P" u2="&#x23;" k="23" />
+    <hkern u1="P" u2="&#x21;" k="64" />
+    <hkern u1="P" g2=".notdef" k="234" />
+    <hkern u1="Q" u2="&#xd0;" k="-44" />
+    <hkern u1="Q" u2="&#xc1;" k="61" />
+    <hkern u1="Q" u2="&#xc2;" k="44" />
+    <hkern u1="Q" u2="&#x2021;" k="-34" />
+    <hkern u1="Q" u2="&#x2013;" k="-69" />
+    <hkern u1="Q" u2="&#x153;" k="-27" />
+    <hkern u1="Q" u2="&#xc0;" k="317" />
+    <hkern u1="Q" u2="&#xa2;" k="-111" />
+    <hkern u1="Q" u2="&#xd1;" k="-68" />
+    <hkern u1="Q" u2="&#xc9;" k="78" />
+    <hkern u1="Q" u2="&#x7e;" k="26" />
+    <hkern u1="Q" u2="z" k="-38" />
+    <hkern u1="Q" u2="x" k="-75" />
+    <hkern u1="Q" u2="v" k="-91" />
+    <hkern u1="Q" u2="u" k="-52" />
+    <hkern u1="Q" u2="s" k="-44" />
+    <hkern u1="Q" u2="r" k="-74" />
+    <hkern u1="Q" u2="q" k="-34" />
+    <hkern u1="Q" u2="p" k="-49" />
+    <hkern u1="Q" u2="n" k="-79" />
+    <hkern u1="Q" u2="m" k="-112" />
+    <hkern u1="Q" u2="l" k="-54" />
+    <hkern u1="Q" u2="k" k="-70" />
+    <hkern u1="Q" u2="j" k="76" />
+    <hkern u1="Q" u2="h" k="-48" />
+    <hkern u1="Q" u2="g" k="22" />
+    <hkern u1="Q" u2="f" k="-33" />
+    <hkern u1="Q" u2="e" k="-26" />
+    <hkern u1="Q" u2="b" k="-63" />
+    <hkern u1="Q" u2="a" k="-58" />
+    <hkern u1="Q" u2="`" k="60" />
+    <hkern u1="Q" u2="Z" k="-57" />
+    <hkern u1="Q" u2="Y" k="-67" />
+    <hkern u1="Q" u2="X" k="-88" />
+    <hkern u1="Q" u2="W" k="-113" />
+    <hkern u1="Q" u2="V" k="-87" />
+    <hkern u1="Q" u2="U" k="-73" />
+    <hkern u1="Q" u2="T" k="-71" />
+    <hkern u1="Q" u2="S" k="-82" />
+    <hkern u1="Q" u2="R" k="-112" />
+    <hkern u1="Q" u2="Q" k="-74" />
+    <hkern u1="Q" u2="P" k="-108" />
+    <hkern u1="Q" u2="O" k="-76" />
+    <hkern u1="Q" u2="N" k="-115" />
+    <hkern u1="Q" u2="M" k="-109" />
+    <hkern u1="Q" u2="L" k="-82" />
+    <hkern u1="Q" u2="K" k="-129" />
+    <hkern u1="Q" u2="J" k="87" />
+    <hkern u1="Q" u2="I" k="-31" />
+    <hkern u1="Q" u2="H" k="-105" />
+    <hkern u1="Q" u2="G" k="-67" />
+    <hkern u1="Q" u2="F" k="-98" />
+    <hkern u1="Q" u2="E" k="-109" />
+    <hkern u1="Q" u2="D" k="-138" />
+    <hkern u1="Q" u2="C" k="-60" />
+    <hkern u1="Q" u2="B" k="-158" />
+    <hkern u1="Q" u2="A" k="-55" />
+    <hkern u1="Q" u2="&#x3f;" k="-52" />
+    <hkern u1="Q" u2="&#x3b;" k="90" />
+    <hkern u1="Q" u2="&#x3a;" k="115" />
+    <hkern u1="Q" u2="&#x39;" k="-49" />
+    <hkern u1="Q" u2="&#x38;" k="-111" />
+    <hkern u1="Q" u2="&#x35;" k="-69" />
+    <hkern u1="Q" u2="&#x33;" k="-41" />
+    <hkern u1="Q" u2="&#x32;" k="-119" />
+    <hkern u1="Q" u2="&#x31;" k="-48" />
+    <hkern u1="Q" u2="&#x30;" k="-87" />
+    <hkern u1="Q" u2="&#x2f;" k="-42" />
+    <hkern u1="Q" u2="&#x2e;" k="154" />
+    <hkern u1="Q" u2="&#x2c;" k="54" />
+    <hkern u1="Q" u2="&#x29;" k="52" />
+    <hkern u1="Q" u2="&#x28;" k="-23" />
+    <hkern u1="Q" u2="&#x26;" k="98" />
+    <hkern u1="Q" u2="&#x25;" k="-60" />
+    <hkern u1="Q" u2="&#x24;" k="-88" />
+    <hkern u1="Q" u2="&#x21;" k="36" />
+    <hkern u1="R" u2="&#xd0;" k="240" />
+    <hkern u1="R" u2="&#xc2;" k="-23" />
+    <hkern u1="R" u2="&#x2021;" k="-121" />
+    <hkern u1="R" u2="&#x203a;" k="-93" />
+    <hkern u1="R" u2="&#x2019;" k="-65" />
+    <hkern u1="R" u2="&#x2014;" k="-83" />
+    <hkern u1="R" u2="&#x2013;" k="-146" />
+    <hkern u1="R" u2="&#x153;" k="-114" />
+    <hkern u1="R" u2="&#xc0;" k="296" />
+    <hkern u1="R" u2="&#xa2;" k="-118" />
+    <hkern u1="R" u2="&#xd1;" k="211" />
+    <hkern u1="R" u2="&#xc9;" k="-45" />
+    <hkern u1="R" u2="z" k="-121" />
+    <hkern u1="R" u2="y" k="-65" />
+    <hkern u1="R" u2="x" k="-130" />
+    <hkern u1="R" u2="w" k="-90" />
+    <hkern u1="R" u2="u" k="-124" />
+    <hkern u1="R" u2="t" k="89" />
+    <hkern u1="R" u2="s" k="-96" />
+    <hkern u1="R" u2="r" k="-124" />
+    <hkern u1="R" u2="q" k="-123" />
+    <hkern u1="R" u2="p" k="-118" />
+    <hkern u1="R" u2="o" k="-90" />
+    <hkern u1="R" u2="n" k="-147" />
+    <hkern u1="R" u2="m" k="-180" />
+    <hkern u1="R" u2="l" k="-101" />
+    <hkern u1="R" u2="k" k="-116" />
+    <hkern u1="R" u2="j" k="49" />
+    <hkern u1="R" u2="i" k="-72" />
+    <hkern u1="R" u2="h" k="-137" />
+    <hkern u1="R" u2="g" k="-68" />
+    <hkern u1="R" u2="e" k="-111" />
+    <hkern u1="R" u2="d" k="-108" />
+    <hkern u1="R" u2="c" k="-95" />
+    <hkern u1="R" u2="b" k="-65" />
+    <hkern u1="R" u2="a" k="-132" />
+    <hkern u1="R" u2="`" k="-72" />
+    <hkern u1="R" u2="Z" k="-146" />
+    <hkern u1="R" u2="Y" k="-157" />
+    <hkern u1="R" u2="X" k="-181" />
+    <hkern u1="R" u2="W" k="-98" />
+    <hkern u1="R" u2="V" k="-127" />
+    <hkern u1="R" u2="U" k="-150" />
+    <hkern u1="R" u2="T" k="-162" />
+    <hkern u1="R" u2="S" k="-59" />
+    <hkern u1="R" u2="R" k="-188" />
+    <hkern u1="R" u2="Q" k="-98" />
+    <hkern u1="R" u2="P" k="-185" />
+    <hkern u1="R" u2="O" k="-105" />
+    <hkern u1="R" u2="N" k="-139" />
+    <hkern u1="R" u2="M" k="-143" />
+    <hkern u1="R" u2="L" k="-156" />
+    <hkern u1="R" u2="K" k="-168" />
+    <hkern u1="R" u2="J" k="-53" />
+    <hkern u1="R" u2="I" k="-150" />
+    <hkern u1="R" u2="H" k="-147" />
+    <hkern u1="R" u2="G" k="-102" />
+    <hkern u1="R" u2="F" k="-163" />
+    <hkern u1="R" u2="E" k="-164" />
+    <hkern u1="R" u2="D" k="-177" />
+    <hkern u1="R" u2="C" k="-123" />
+    <hkern u1="R" u2="B" k="-164" />
+    <hkern u1="R" u2="A" k="-126" />
+    <hkern u1="R" u2="&#x40;" k="96" />
+    <hkern u1="R" u2="&#x3f;" k="-90" />
+    <hkern u1="R" u2="&#x3b;" k="71" />
+    <hkern u1="R" u2="&#x3a;" k="39" />
+    <hkern u1="R" u2="&#x39;" k="-68" />
+    <hkern u1="R" u2="&#x38;" k="-105" />
+    <hkern u1="R" u2="&#x37;" k="-112" />
+    <hkern u1="R" u2="&#x36;" k="-100" />
+    <hkern u1="R" u2="&#x35;" k="-154" />
+    <hkern u1="R" u2="&#x34;" k="34" />
+    <hkern u1="R" u2="&#x33;" k="-139" />
+    <hkern u1="R" u2="&#x32;" k="-177" />
+    <hkern u1="R" u2="&#x31;" k="-84" />
+    <hkern u1="R" u2="&#x30;" k="-81" />
+    <hkern u1="R" u2="&#x2f;" k="-109" />
+    <hkern u1="R" u2="&#x2e;" k="32" />
+    <hkern u1="R" u2="&#x2d;" k="270" />
+    <hkern u1="R" u2="&#x28;" k="-61" />
+    <hkern u1="R" u2="&#x26;" k="33" />
+    <hkern u1="R" u2="&#x25;" k="-128" />
+    <hkern u1="R" u2="&#x24;" k="-145" />
+    <hkern u1="R" g2=".notdef" k="-106" />
+    <hkern u1="S" u2="&#xd0;" k="70" />
+    <hkern u1="S" u2="&#xc1;" k="94" />
+    <hkern u1="S" u2="&#xc2;" k="41" />
+    <hkern u1="S" u2="&#x2013;" k="-25" />
+    <hkern u1="S" u2="&#xc0;" k="329" />
+    <hkern u1="S" u2="&#xa2;" k="-31" />
+    <hkern u1="S" u2="&#xd1;" k="63" />
+    <hkern u1="S" u2="&#x7e;" k="639" />
+    <hkern u1="S" u2="v" k="62" />
+    <hkern u1="S" u2="u" k="-50" />
+    <hkern u1="S" u2="t" k="97" />
+    <hkern u1="S" u2="r" k="-26" />
+    <hkern u1="S" u2="q" k="-39" />
+    <hkern u1="S" u2="p" k="-26" />
+    <hkern u1="S" u2="o" k="-31" />
+    <hkern u1="S" u2="n" k="-58" />
+    <hkern u1="S" u2="m" k="-111" />
+    <hkern u1="S" u2="l" k="-44" />
+    <hkern u1="S" u2="k" k="-60" />
+    <hkern u1="S" u2="j" k="158" />
+    <hkern u1="S" u2="h" k="-42" />
+    <hkern u1="S" u2="f" k="-42" />
+    <hkern u1="S" u2="e" k="-45" />
+    <hkern u1="S" u2="d" k="31" />
+    <hkern u1="S" u2="c" k="-43" />
+    <hkern u1="S" u2="b" k="-68" />
+    <hkern u1="S" u2="Y" k="-111" />
+    <hkern u1="S" u2="X" k="-71" />
+    <hkern u1="S" u2="W" k="25" />
+    <hkern u1="S" u2="V" k="-29" />
+    <hkern u1="S" u2="U" k="-85" />
+    <hkern u1="S" u2="T" k="-108" />
+    <hkern u1="S" u2="S" k="50" />
+    <hkern u1="S" u2="R" k="-129" />
+    <hkern u1="S" u2="Q" k="-72" />
+    <hkern u1="S" u2="P" k="-125" />
+    <hkern u1="S" u2="O" k="-75" />
+    <hkern u1="S" u2="M" k="-24" />
+    <hkern u1="S" u2="L" k="57" />
+    <hkern u1="S" u2="K" k="-107" />
+    <hkern u1="S" u2="I" k="-103" />
+    <hkern u1="S" u2="H" k="30" />
+    <hkern u1="S" u2="G" k="-73" />
+    <hkern u1="S" u2="F" k="-87" />
+    <hkern u1="S" u2="E" k="-68" />
+    <hkern u1="S" u2="D" k="-38" />
+    <hkern u1="S" u2="C" k="-73" />
+    <hkern u1="S" u2="A" k="-29" />
+    <hkern u1="S" u2="&#x40;" k="59" />
+    <hkern u1="S" u2="&#x3f;" k="36" />
+    <hkern u1="S" u2="&#x3b;" k="201" />
+    <hkern u1="S" u2="&#x3a;" k="133" />
+    <hkern u1="S" u2="&#x39;" k="23" />
+    <hkern u1="S" u2="&#x38;" k="64" />
+    <hkern u1="S" u2="&#x37;" k="-66" />
+    <hkern u1="S" u2="&#x36;" k="-30" />
+    <hkern u1="S" u2="&#x34;" k="-57" />
+    <hkern u1="S" u2="&#x33;" k="-52" />
+    <hkern u1="S" u2="&#x30;" k="-67" />
+    <hkern u1="S" u2="&#x2f;" k="78" />
+    <hkern u1="S" u2="&#x2e;" k="80" />
+    <hkern u1="S" u2="&#x2d;" k="90" />
+    <hkern u1="S" u2="&#x2c;" k="155" />
+    <hkern u1="S" u2="&#x29;" k="90" />
+    <hkern u1="S" u2="&#x26;" k="57" />
+    <hkern u1="S" u2="&#x25;" k="60" />
+    <hkern u1="S" u2="&#x24;" k="-65" />
+    <hkern u1="S" u2="&#x23;" k="220" />
+    <hkern u1="S" u2="&#x21;" k="64" />
+    <hkern u1="S" g2=".notdef" k="-27" />
+    <hkern u1="T" u2="&#xd0;" k="260" />
+    <hkern u1="T" u2="&#xc1;" k="196" />
+    <hkern u1="T" u2="&#xc2;" k="209" />
+    <hkern u1="T" u2="&#x2021;" k="132" />
+    <hkern u1="T" u2="&#x203a;" k="230" />
+    <hkern u1="T" u2="&#x2019;" k="117" />
+    <hkern u1="T" u2="&#x2014;" k="237" />
+    <hkern u1="T" u2="&#x2013;" k="144" />
+    <hkern u1="T" u2="&#x153;" k="195" />
+    <hkern u1="T" u2="&#xc0;" k="428" />
+    <hkern u1="T" u2="&#xa2;" k="-164" />
+    <hkern u1="T" u2="&#xd1;" k="236" />
+    <hkern u1="T" u2="&#xc9;" k="257" />
+    <hkern u1="T" u2="&#x7e;" k="353" />
+    <hkern u1="T" u2="z" k="177" />
+    <hkern u1="T" u2="y" k="237" />
+    <hkern u1="T" u2="x" k="109" />
+    <hkern u1="T" u2="w" k="207" />
+    <hkern u1="T" u2="v" k="229" />
+    <hkern u1="T" u2="u" k="173" />
+    <hkern u1="T" u2="t" k="282" />
+    <hkern u1="T" u2="s" k="216" />
+    <hkern u1="T" u2="r" k="162" />
+    <hkern u1="T" u2="q" k="188" />
+    <hkern u1="T" u2="p" k="96" />
+    <hkern u1="T" u2="o" k="222" />
+    <hkern u1="T" u2="n" k="130" />
+    <hkern u1="T" u2="m" k="99" />
+    <hkern u1="T" u2="l" k="-191" />
+    <hkern u1="T" u2="k" k="-189" />
+    <hkern u1="T" u2="j" k="261" />
+    <hkern u1="T" u2="i" k="-115" />
+    <hkern u1="T" u2="h" k="-147" />
+    <hkern u1="T" u2="g" k="232" />
+    <hkern u1="T" u2="e" k="203" />
+    <hkern u1="T" u2="d" k="128" />
+    <hkern u1="T" u2="c" k="215" />
+    <hkern u1="T" u2="b" k="-135" />
+    <hkern u1="T" u2="a" k="116" />
+    <hkern u1="T" u2="`" k="-124" />
+    <hkern u1="T" u2="Z" k="-100" />
+    <hkern u1="T" u2="Y" k="-243" />
+    <hkern u1="T" u2="X" k="-231" />
+    <hkern u1="T" u2="W" k="-48" />
+    <hkern u1="T" u2="V" k="-116" />
+    <hkern u1="T" u2="U" k="-199" />
+    <hkern u1="T" u2="T" k="-237" />
+    <hkern u1="T" u2="S" k="-29" />
+    <hkern u1="T" u2="R" k="-223" />
+    <hkern u1="T" u2="Q" k="-135" />
+    <hkern u1="T" u2="P" k="-235" />
+    <hkern u1="T" u2="O" k="-135" />
+    <hkern u1="T" u2="N" k="-79" />
+    <hkern u1="T" u2="M" k="-104" />
+    <hkern u1="T" u2="L" k="-95" />
+    <hkern u1="T" u2="K" k="-248" />
+    <hkern u1="T" u2="J" k="-174" />
+    <hkern u1="T" u2="I" k="-259" />
+    <hkern u1="T" u2="H" k="-129" />
+    <hkern u1="T" u2="G" k="-54" />
+    <hkern u1="T" u2="F" k="-124" />
+    <hkern u1="T" u2="E" k="-105" />
+    <hkern u1="T" u2="D" k="-69" />
+    <hkern u1="T" u2="B" k="-63" />
+    <hkern u1="T" u2="A" k="67" />
+    <hkern u1="T" u2="&#x40;" k="310" />
+    <hkern u1="T" u2="&#x3b;" k="207" />
+    <hkern u1="T" u2="&#x3a;" k="338" />
+    <hkern u1="T" u2="&#x39;" k="-46" />
+    <hkern u1="T" u2="&#x37;" k="-220" />
+    <hkern u1="T" u2="&#x36;" k="55" />
+    <hkern u1="T" u2="&#x35;" k="-71" />
+    <hkern u1="T" u2="&#x34;" k="-49" />
+    <hkern u1="T" u2="&#x32;" k="25" />
+    <hkern u1="T" u2="&#x31;" k="-100" />
+    <hkern u1="T" u2="&#x30;" k="-97" />
+    <hkern u1="T" u2="&#x2f;" k="85" />
+    <hkern u1="T" u2="&#x2e;" k="330" />
+    <hkern u1="T" u2="&#x2d;" k="284" />
+    <hkern u1="T" u2="&#x2c;" k="176" />
+    <hkern u1="T" u2="&#x29;" k="-68" />
+    <hkern u1="T" u2="&#x28;" k="-31" />
+    <hkern u1="T" u2="&#x26;" k="132" />
+    <hkern u1="T" u2="&#x25;" k="67" />
+    <hkern u1="T" u2="&#x24;" k="-193" />
+    <hkern u1="T" u2="&#x23;" k="298" />
+    <hkern u1="T" u2="&#x21;" k="-74" />
+    <hkern u1="T" g2=".notdef" k="215" />
+    <hkern u1="U" u2="&#xd0;" k="61" />
+    <hkern u1="U" u2="&#xc2;" k="-30" />
+    <hkern u1="U" u2="&#x2021;" k="-103" />
+    <hkern u1="U" u2="&#x203a;" k="-100" />
+    <hkern u1="U" u2="&#x2019;" k="-64" />
+    <hkern u1="U" u2="&#x2014;" k="-86" />
+    <hkern u1="U" u2="&#x2013;" k="-140" />
+    <hkern u1="U" u2="&#x153;" k="-109" />
+    <hkern u1="U" u2="&#xc0;" k="315" />
+    <hkern u1="U" u2="&#xd1;" k="37" />
+    <hkern u1="U" u2="&#xc9;" k="-85" />
+    <hkern u1="U" u2="&#x7e;" k="160" />
+    <hkern u1="U" u2="z" k="-134" />
+    <hkern u1="U" u2="y" k="-82" />
+    <hkern u1="U" u2="x" k="-118" />
+    <hkern u1="U" u2="w" k="-99" />
+    <hkern u1="U" u2="v" k="26" />
+    <hkern u1="U" u2="u" k="-139" />
+    <hkern u1="U" u2="t" k="79" />
+    <hkern u1="U" u2="s" k="-104" />
+    <hkern u1="U" u2="r" k="-125" />
+    <hkern u1="U" u2="q" k="-133" />
+    <hkern u1="U" u2="p" k="-112" />
+    <hkern u1="U" u2="o" k="-109" />
+    <hkern u1="U" u2="n" k="-155" />
+    <hkern u1="U" u2="m" k="-191" />
+    <hkern u1="U" u2="l" k="-78" />
+    <hkern u1="U" u2="k" k="-109" />
+    <hkern u1="U" u2="j" k="65" />
+    <hkern u1="U" u2="i" k="-71" />
+    <hkern u1="U" u2="h" k="-117" />
+    <hkern u1="U" u2="g" k="-87" />
+    <hkern u1="U" u2="e" k="-128" />
+    <hkern u1="U" u2="d" k="-89" />
+    <hkern u1="U" u2="c" k="-116" />
+    <hkern u1="U" u2="b" k="-117" />
+    <hkern u1="U" u2="a" k="-128" />
+    <hkern u1="U" u2="`" k="118" />
+    <hkern u1="U" u2="Z" k="-126" />
+    <hkern u1="U" u2="X" k="-154" />
+    <hkern u1="U" u2="V" k="26" />
+    <hkern u1="U" u2="U" k="-70" />
+    <hkern u1="U" u2="S" k="-43" />
+    <hkern u1="U" u2="R" k="-31" />
+    <hkern u1="U" u2="Q" k="-101" />
+    <hkern u1="U" u2="P" k="-28" />
+    <hkern u1="U" u2="O" k="-108" />
+    <hkern u1="U" u2="L" k="-111" />
+    <hkern u1="U" u2="K" k="-155" />
+    <hkern u1="U" u2="J" k="78" />
+    <hkern u1="U" u2="I" k="-69" />
+    <hkern u1="U" u2="H" k="-37" />
+    <hkern u1="U" u2="G" k="-104" />
+    <hkern u1="U" u2="D" k="-27" />
+    <hkern u1="U" u2="C" k="-122" />
+    <hkern u1="U" u2="B" k="-125" />
+    <hkern u1="U" u2="A" k="-93" />
+    <hkern u1="U" u2="&#x40;" k="108" />
+    <hkern u1="U" u2="&#x3f;" k="60" />
+    <hkern u1="U" u2="&#x3b;" k="83" />
+    <hkern u1="U" u2="&#x39;" k="69" />
+    <hkern u1="U" u2="&#x38;" k="-42" />
+    <hkern u1="U" u2="&#x37;" k="-43" />
+    <hkern u1="U" u2="&#x36;" k="-91" />
+    <hkern u1="U" u2="&#x35;" k="-130" />
+    <hkern u1="U" u2="&#x34;" k="23" />
+    <hkern u1="U" u2="&#x33;" k="-138" />
+    <hkern u1="U" u2="&#x32;" k="-152" />
+    <hkern u1="U" u2="&#x31;" k="-37" />
+    <hkern u1="U" u2="&#x30;" k="-82" />
+    <hkern u1="U" u2="&#x2f;" k="-78" />
+    <hkern u1="U" u2="&#x2d;" k="84" />
+    <hkern u1="U" u2="&#x2c;" k="44" />
+    <hkern u1="U" u2="&#x29;" k="27" />
+    <hkern u1="U" u2="&#x28;" k="-55" />
+    <hkern u1="U" u2="&#x26;" k="21" />
+    <hkern u1="U" u2="&#x25;" k="-96" />
+    <hkern u1="U" u2="&#x23;" k="119" />
+    <hkern u1="U" u2="&#x21;" k="50" />
+    <hkern u1="U" g2=".notdef" k="-109" />
+    <hkern u1="V" u2="&#xd0;" k="45" />
+    <hkern u1="V" u2="&#xc1;" k="261" />
+    <hkern u1="V" u2="&#xc2;" k="147" />
+    <hkern u1="V" u2="&#x2021;" k="133" />
+    <hkern u1="V" u2="&#x203a;" k="94" />
+    <hkern u1="V" u2="&#x2019;" k="49" />
+    <hkern u1="V" u2="&#x2014;" k="104" />
+    <hkern u1="V" u2="&#x2013;" k="46" />
+    <hkern u1="V" u2="&#x153;" k="85" />
+    <hkern u1="V" u2="&#xc0;" k="465" />
+    <hkern u1="V" u2="&#xa2;" k="-96" />
+    <hkern u1="V" u2="&#xd1;" k="22" />
+    <hkern u1="V" u2="&#xc9;" k="191" />
+    <hkern u1="V" u2="&#x7e;" k="39" />
+    <hkern u1="V" u2="z" k="64" />
+    <hkern u1="V" u2="y" k="90" />
+    <hkern u1="V" u2="x" k="-46" />
+    <hkern u1="V" u2="w" k="63" />
+    <hkern u1="V" u2="v" k="-26" />
+    <hkern u1="V" u2="u" k="68" />
+    <hkern u1="V" u2="t" k="69" />
+    <hkern u1="V" u2="s" k="44" />
+    <hkern u1="V" u2="r" k="-24" />
+    <hkern u1="V" u2="q" k="90" />
+    <hkern u1="V" u2="p" k="31" />
+    <hkern u1="V" u2="o" k="92" />
+    <hkern u1="V" u2="n" k="40" />
+    <hkern u1="V" u2="m" k="-34" />
+    <hkern u1="V" u2="l" k="-130" />
+    <hkern u1="V" u2="k" k="-123" />
+    <hkern u1="V" u2="j" k="84" />
+    <hkern u1="V" u2="i" k="-49" />
+    <hkern u1="V" u2="h" k="-82" />
+    <hkern u1="V" u2="g" k="118" />
+    <hkern u1="V" u2="f" k="42" />
+    <hkern u1="V" u2="e" k="82" />
+    <hkern u1="V" u2="d" k="149" />
+    <hkern u1="V" u2="c" k="87" />
+    <hkern u1="V" u2="b" k="-65" />
+    <hkern u1="V" u2="a" k="118" />
+    <hkern u1="V" u2="`" k="-62" />
+    <hkern u1="V" u2="Z" k="-26" />
+    <hkern u1="V" u2="Y" k="-163" />
+    <hkern u1="V" u2="X" k="-173" />
+    <hkern u1="V" u2="W" k="-91" />
+    <hkern u1="V" u2="V" k="-92" />
+    <hkern u1="V" u2="U" k="-132" />
+    <hkern u1="V" u2="T" k="-160" />
+    <hkern u1="V" u2="S" k="-38" />
+    <hkern u1="V" u2="R" k="-171" />
+    <hkern u1="V" u2="Q" k="-56" />
+    <hkern u1="V" u2="P" k="-171" />
+    <hkern u1="V" u2="O" k="-58" />
+    <hkern u1="V" u2="N" k="-105" />
+    <hkern u1="V" u2="M" k="-115" />
+    <hkern u1="V" u2="L" k="-28" />
+    <hkern u1="V" u2="K" k="-183" />
+    <hkern u1="V" u2="J" k="-110" />
+    <hkern u1="V" u2="I" k="-184" />
+    <hkern u1="V" u2="H" k="-72" />
+    <hkern u1="V" u2="F" k="-135" />
+    <hkern u1="V" u2="E" k="-133" />
+    <hkern u1="V" u2="D" k="-141" />
+    <hkern u1="V" u2="B" k="-137" />
+    <hkern u1="V" u2="A" k="71" />
+    <hkern u1="V" u2="&#x40;" k="80" />
+    <hkern u1="V" u2="&#x3f;" k="-52" />
+    <hkern u1="V" u2="&#x3b;" k="301" />
+    <hkern u1="V" u2="&#x3a;" k="225" />
+    <hkern u1="V" u2="&#x38;" k="-79" />
+    <hkern u1="V" u2="&#x37;" k="-164" />
+    <hkern u1="V" u2="&#x36;" k="55" />
+    <hkern u1="V" u2="&#x35;" k="-49" />
+    <hkern u1="V" u2="&#x33;" k="39" />
+    <hkern u1="V" u2="&#x32;" k="-111" />
+    <hkern u1="V" u2="&#x31;" k="-53" />
+    <hkern u1="V" u2="&#x30;" k="-42" />
+    <hkern u1="V" u2="&#x2f;" k="159" />
+    <hkern u1="V" u2="&#x2e;" k="264" />
+    <hkern u1="V" u2="&#x2d;" k="70" />
+    <hkern u1="V" u2="&#x2c;" k="273" />
+    <hkern u1="V" u2="&#x28;" k="33" />
+    <hkern u1="V" u2="&#x26;" k="146" />
+    <hkern u1="V" u2="&#x25;" k="141" />
+    <hkern u1="V" u2="&#x24;" k="-129" />
+    <hkern u1="V" g2=".notdef" k="92" />
+    <hkern u1="W" u2="&#xd0;" k="-75" />
+    <hkern u1="W" u2="&#xc1;" k="149" />
+    <hkern u1="W" u2="&#xc2;" k="45" />
+    <hkern u1="W" u2="&#x2021;" k="25" />
+    <hkern u1="W" u2="&#x203a;" k="-28" />
+    <hkern u1="W" u2="&#x2019;" k="-39" />
+    <hkern u1="W" u2="&#x2013;" k="-50" />
+    <hkern u1="W" u2="&#x153;" k="-23" />
+    <hkern u1="W" u2="&#xc0;" k="350" />
+    <hkern u1="W" u2="&#xa2;" k="-137" />
+    <hkern u1="W" u2="&#xd1;" k="-100" />
+    <hkern u1="W" u2="&#xc9;" k="76" />
+    <hkern u1="W" u2="z" k="-33" />
+    <hkern u1="W" u2="x" k="-101" />
+    <hkern u1="W" u2="w" k="-42" />
+    <hkern u1="W" u2="v" k="-116" />
+    <hkern u1="W" u2="u" k="-47" />
+    <hkern u1="W" u2="t" k="-44" />
+    <hkern u1="W" u2="s" k="-77" />
+    <hkern u1="W" u2="r" k="-100" />
+    <hkern u1="W" u2="q" k="-21" />
+    <hkern u1="W" u2="p" k="-43" />
+    <hkern u1="W" u2="o" k="-33" />
+    <hkern u1="W" u2="n" k="-60" />
+    <hkern u1="W" u2="m" k="-134" />
+    <hkern u1="W" u2="l" k="-81" />
+    <hkern u1="W" u2="k" k="-96" />
+    <hkern u1="W" u2="j" k="60" />
+    <hkern u1="W" u2="i" k="-47" />
+    <hkern u1="W" u2="h" k="-66" />
+    <hkern u1="W" u2="f" k="-70" />
+    <hkern u1="W" u2="e" k="-42" />
+    <hkern u1="W" u2="d" k="50" />
+    <hkern u1="W" u2="c" k="-38" />
+    <hkern u1="W" u2="b" k="-90" />
+    <hkern u1="W" u2="Y" k="-102" />
+    <hkern u1="W" u2="X" k="-32" />
+    <hkern u1="W" u2="W" k="-129" />
+    <hkern u1="W" u2="V" k="-118" />
+    <hkern u1="W" u2="U" k="-115" />
+    <hkern u1="W" u2="T" k="-118" />
+    <hkern u1="W" u2="S" k="-108" />
+    <hkern u1="W" u2="R" k="-150" />
+    <hkern u1="W" u2="Q" k="-103" />
+    <hkern u1="W" u2="P" k="-146" />
+    <hkern u1="W" u2="O" k="-106" />
+    <hkern u1="W" u2="N" k="-144" />
+    <hkern u1="W" u2="M" k="-139" />
+    <hkern u1="W" u2="L" k="46" />
+    <hkern u1="W" u2="K" k="-156" />
+    <hkern u1="W" u2="I" k="-91" />
+    <hkern u1="W" u2="H" k="-44" />
+    <hkern u1="W" u2="G" k="-89" />
+    <hkern u1="W" u2="F" k="-130" />
+    <hkern u1="W" u2="E" k="-144" />
+    <hkern u1="W" u2="D" k="-168" />
+    <hkern u1="W" u2="C" k="-92" />
+    <hkern u1="W" u2="B" k="-184" />
+    <hkern u1="W" u2="A" k="-40" />
+    <hkern u1="W" u2="&#x40;" k="-25" />
+    <hkern u1="W" u2="&#x3f;" k="-83" />
+    <hkern u1="W" u2="&#x3b;" k="200" />
+    <hkern u1="W" u2="&#x3a;" k="111" />
+    <hkern u1="W" u2="&#x39;" k="-70" />
+    <hkern u1="W" u2="&#x38;" k="-138" />
+    <hkern u1="W" u2="&#x37;" k="-52" />
+    <hkern u1="W" u2="&#x36;" k="-48" />
+    <hkern u1="W" u2="&#x35;" k="-77" />
+    <hkern u1="W" u2="&#x34;" k="-56" />
+    <hkern u1="W" u2="&#x33;" k="-34" />
+    <hkern u1="W" u2="&#x32;" k="-143" />
+    <hkern u1="W" u2="&#x31;" k="-54" />
+    <hkern u1="W" u2="&#x30;" k="-112" />
+    <hkern u1="W" u2="&#x2f;" k="87" />
+    <hkern u1="W" u2="&#x2e;" k="149" />
+    <hkern u1="W" u2="&#x2d;" k="-52" />
+    <hkern u1="W" u2="&#x2c;" k="217" />
+    <hkern u1="W" u2="&#x29;" k="118" />
+    <hkern u1="W" u2="&#x28;" k="-42" />
+    <hkern u1="W" u2="&#x26;" k="53" />
+    <hkern u1="W" u2="&#x25;" k="69" />
+    <hkern u1="W" u2="&#x24;" k="-123" />
+    <hkern u1="W" g2=".notdef" k="-26" />
+    <hkern u1="X" u2="&#xd0;" k="304" />
+    <hkern u1="X" u2="&#xc1;" k="108" />
+    <hkern u1="X" u2="&#xc2;" k="37" />
+    <hkern u1="X" u2="&#x2021;" k="-22" />
+    <hkern u1="X" u2="&#x203a;" k="-45" />
+    <hkern u1="X" u2="&#x2019;" k="-23" />
+    <hkern u1="X" u2="&#x2014;" k="-35" />
+    <hkern u1="X" u2="&#x2013;" k="-59" />
+    <hkern u1="X" u2="&#x153;" k="-49" />
+    <hkern u1="X" u2="&#xc0;" k="345" />
+    <hkern u1="X" u2="&#xa2;" k="139" />
+    <hkern u1="X" u2="&#xd1;" k="285" />
+    <hkern u1="X" u2="&#xc9;" k="21" />
+    <hkern u1="X" u2="&#x7e;" k="397" />
+    <hkern u1="X" u2="z" k="-27" />
+    <hkern u1="X" u2="y" k="-23" />
+    <hkern u1="X" u2="x" k="-21" />
+    <hkern u1="X" u2="w" k="-35" />
+    <hkern u1="X" u2="v" k="81" />
+    <hkern u1="X" u2="u" k="-70" />
+    <hkern u1="X" u2="t" k="121" />
+    <hkern u1="X" u2="r" k="-49" />
+    <hkern u1="X" u2="q" k="-61" />
+    <hkern u1="X" u2="p" k="-36" />
+    <hkern u1="X" u2="o" k="-50" />
+    <hkern u1="X" u2="n" k="-73" />
+    <hkern u1="X" u2="m" k="-122" />
+    <hkern u1="X" u2="l" k="-46" />
+    <hkern u1="X" u2="k" k="-76" />
+    <hkern u1="X" u2="j" k="140" />
+    <hkern u1="X" u2="i" k="-31" />
+    <hkern u1="X" u2="h" k="-63" />
+    <hkern u1="X" u2="g" k="-26" />
+    <hkern u1="X" u2="f" k="70" />
+    <hkern u1="X" u2="e" k="-67" />
+    <hkern u1="X" u2="c" k="-61" />
+    <hkern u1="X" u2="b" k="-87" />
+    <hkern u1="X" u2="a" k="-39" />
+    <hkern u1="X" u2="`" k="200" />
+    <hkern u1="X" u2="Z" k="-31" />
+    <hkern u1="X" u2="Y" k="41" />
+    <hkern u1="X" u2="X" k="-72" />
+    <hkern u1="X" u2="W" k="243" />
+    <hkern u1="X" u2="V" k="212" />
+    <hkern u1="X" u2="T" k="97" />
+    <hkern u1="X" u2="R" k="100" />
+    <hkern u1="X" u2="Q" k="-84" />
+    <hkern u1="X" u2="P" k="56" />
+    <hkern u1="X" u2="O" k="-89" />
+    <hkern u1="X" u2="N" k="147" />
+    <hkern u1="X" u2="M" k="155" />
+    <hkern u1="X" u2="L" k="67" />
+    <hkern u1="X" u2="K" k="-121" />
+    <hkern u1="X" u2="J" k="86" />
+    <hkern u1="X" u2="I" k="39" />
+    <hkern u1="X" u2="H" k="55" />
+    <hkern u1="X" u2="G" k="-77" />
+    <hkern u1="X" u2="F" k="27" />
+    <hkern u1="X" u2="E" k="56" />
+    <hkern u1="X" u2="D" k="54" />
+    <hkern u1="X" u2="C" k="-92" />
+    <hkern u1="X" u2="B" k="-26" />
+    <hkern u1="X" u2="&#x40;" k="76" />
+    <hkern u1="X" u2="&#x3f;" k="181" />
+    <hkern u1="X" u2="&#x3b;" k="196" />
+    <hkern u1="X" u2="&#x3a;" k="135" />
+    <hkern u1="X" u2="&#x39;" k="276" />
+    <hkern u1="X" u2="&#x38;" k="29" />
+    <hkern u1="X" u2="&#x37;" k="38" />
+    <hkern u1="X" u2="&#x36;" k="-49" />
+    <hkern u1="X" u2="&#x34;" k="161" />
+    <hkern u1="X" u2="&#x33;" k="-86" />
+    <hkern u1="X" u2="&#x31;" k="62" />
+    <hkern u1="X" u2="&#x30;" k="-69" />
+    <hkern u1="X" u2="&#x2f;" k="43" />
+    <hkern u1="X" u2="&#x2e;" k="95" />
+    <hkern u1="X" u2="&#x2d;" k="324" />
+    <hkern u1="X" u2="&#x2c;" k="189" />
+    <hkern u1="X" u2="&#x29;" k="152" />
+    <hkern u1="X" u2="&#x26;" k="36" />
+    <hkern u1="X" u2="&#x25;" k="26" />
+    <hkern u1="X" u2="&#x24;" k="124" />
+    <hkern u1="X" u2="&#x23;" k="178" />
+    <hkern u1="X" u2="&#x21;" k="103" />
+    <hkern u1="X" g2=".notdef" k="-55" />
+    <hkern u1="Y" u2="&#xd0;" k="-222" />
+    <hkern u1="Y" u2="&#xc1;" k="-64" />
+    <hkern u1="Y" u2="&#xc2;" k="-129" />
+    <hkern u1="Y" u2="&#x2021;" k="-181" />
+    <hkern u1="Y" u2="&#x203a;" k="-201" />
+    <hkern u1="Y" u2="&#x2019;" k="-191" />
+    <hkern u1="Y" u2="&#x2014;" k="-187" />
+    <hkern u1="Y" u2="&#x2013;" k="-214" />
+    <hkern u1="Y" u2="&#x153;" k="-197" />
+    <hkern u1="Y" u2="&#xc0;" k="-82" />
+    <hkern u1="Y" u2="&#xa2;" k="-262" />
+    <hkern u1="Y" u2="&#xd1;" k="-246" />
+    <hkern u1="Y" u2="&#xc9;" k="-145" />
+    <hkern u1="Y" u2="&#x7e;" k="-118" />
+    <hkern u1="Y" u2="z" k="-208" />
+    <hkern u1="Y" u2="y" k="-279" />
+    <hkern u1="Y" u2="x" k="-228" />
+    <hkern u1="Y" u2="w" k="-196" />
+    <hkern u1="Y" u2="v" k="-250" />
+    <hkern u1="Y" u2="u" k="-225" />
+    <hkern u1="Y" u2="t" k="-194" />
+    <hkern u1="Y" u2="s" k="-233" />
+    <hkern u1="Y" u2="r" k="-231" />
+    <hkern u1="Y" u2="q" k="-202" />
+    <hkern u1="Y" u2="p" k="-194" />
+    <hkern u1="Y" u2="o" k="-209" />
+    <hkern u1="Y" u2="n" k="-227" />
+    <hkern u1="Y" u2="m" k="-285" />
+    <hkern u1="Y" u2="l" k="-213" />
+    <hkern u1="Y" u2="k" k="-241" />
+    <hkern u1="Y" u2="j" k="-506" />
+    <hkern u1="Y" u2="i" k="-198" />
+    <hkern u1="Y" u2="h" k="-216" />
+    <hkern u1="Y" u2="g" k="-185" />
+    <hkern u1="Y" u2="f" k="-232" />
+    <hkern u1="Y" u2="e" k="-225" />
+    <hkern u1="Y" u2="d" k="-160" />
+    <hkern u1="Y" u2="c" k="-220" />
+    <hkern u1="Y" u2="b" k="-246" />
+    <hkern u1="Y" u2="a" k="-207" />
+    <hkern u1="Y" u2="`" k="-110" />
+    <hkern u1="Y" u2="Z" k="-201" />
+    <hkern u1="Y" u2="Y" k="-213" />
+    <hkern u1="Y" u2="X" k="-233" />
+    <hkern u1="Y" u2="W" k="-263" />
+    <hkern u1="Y" u2="V" k="-240" />
+    <hkern u1="Y" u2="U" k="-236" />
+    <hkern u1="Y" u2="T" k="-241" />
+    <hkern u1="Y" u2="S" k="-242" />
+    <hkern u1="Y" u2="R" k="-272" />
+    <hkern u1="Y" u2="Q" k="-253" />
+    <hkern u1="Y" u2="P" k="-268" />
+    <hkern u1="Y" u2="O" k="-256" />
+    <hkern u1="Y" u2="N" k="-267" />
+    <hkern u1="Y" u2="M" k="-262" />
+    <hkern u1="Y" u2="L" k="-212" />
+    <hkern u1="Y" u2="K" k="-290" />
+    <hkern u1="Y" u2="J" k="-466" />
+    <hkern u1="Y" u2="I" k="-224" />
+    <hkern u1="Y" u2="H" k="-237" />
+    <hkern u1="Y" u2="G" k="-239" />
+    <hkern u1="Y" u2="F" k="-255" />
+    <hkern u1="Y" u2="E" k="-264" />
+    <hkern u1="Y" u2="D" k="-290" />
+    <hkern u1="Y" u2="C" k="-251" />
+    <hkern u1="Y" u2="B" k="-311" />
+    <hkern u1="Y" u2="A" k="-214" />
+    <hkern u1="Y" u2="&#x40;" k="-167" />
+    <hkern u1="Y" u2="&#x3f;" k="-205" />
+    <hkern u1="Y" u2="&#x3b;" k="-61" />
+    <hkern u1="Y" u2="&#x3a;" k="-59" />
+    <hkern u1="Y" u2="&#x39;" k="-212" />
+    <hkern u1="Y" u2="&#x38;" k="-265" />
+    <hkern u1="Y" u2="&#x37;" k="-191" />
+    <hkern u1="Y" u2="&#x36;" k="-207" />
+    <hkern u1="Y" u2="&#x35;" k="-233" />
+    <hkern u1="Y" u2="&#x34;" k="-232" />
+    <hkern u1="Y" u2="&#x33;" k="-244" />
+    <hkern u1="Y" u2="&#x32;" k="-272" />
+    <hkern u1="Y" u2="&#x31;" k="-189" />
+    <hkern u1="Y" u2="&#x30;" k="-256" />
+    <hkern u1="Y" u2="&#x2f;" k="-178" />
+    <hkern u1="Y" u2="&#x2e;" k="-73" />
+    <hkern u1="Y" u2="&#x2d;" k="-198" />
+    <hkern u1="Y" u2="&#x2c;" k="-81" />
+    <hkern u1="Y" u2="&#x29;" k="-97" />
+    <hkern u1="Y" u2="&#x28;" k="-193" />
+    <hkern u1="Y" u2="&#x26;" k="-123" />
+    <hkern u1="Y" u2="&#x25;" k="-195" />
+    <hkern u1="Y" u2="&#x24;" k="-240" />
+    <hkern u1="Y" u2="&#x23;" k="-131" />
+    <hkern u1="Y" u2="&#x21;" k="-124" />
+    <hkern u1="Y" g2=".notdef" k="-206" />
+    <hkern u1="Z" u2="&#xd0;" k="358" />
+    <hkern u1="Z" u2="&#xc1;" k="-146" />
+    <hkern u1="Z" u2="&#xc2;" k="-150" />
+    <hkern u1="Z" u2="&#x2021;" k="-239" />
+    <hkern u1="Z" u2="&#x203a;" k="-214" />
+    <hkern u1="Z" u2="&#x2019;" k="-188" />
+    <hkern u1="Z" u2="&#x2014;" k="-208" />
+    <hkern u1="Z" u2="&#x2013;" k="-258" />
+    <hkern u1="Z" u2="&#x153;" k="-234" />
+    <hkern u1="Z" u2="&#xc0;" k="101" />
+    <hkern u1="Z" u2="&#xa2;" k="-225" />
+    <hkern u1="Z" u2="&#xd1;" k="332" />
+    <hkern u1="Z" u2="&#xc9;" k="-258" />
+    <hkern u1="Z" u2="&#x7e;" k="45" />
+    <hkern u1="Z" u2="z" k="-240" />
+    <hkern u1="Z" u2="y" k="-202" />
+    <hkern u1="Z" u2="x" k="-248" />
+    <hkern u1="Z" u2="w" k="-206" />
+    <hkern u1="Z" u2="v" k="-54" />
+    <hkern u1="Z" u2="u" k="-243" />
+    <hkern u1="Z" u2="t" k="-32" />
+    <hkern u1="Z" u2="s" k="-213" />
+    <hkern u1="Z" u2="r" k="-237" />
+    <hkern u1="Z" u2="q" k="-252" />
+    <hkern u1="Z" u2="p" k="-239" />
+    <hkern u1="Z" u2="o" k="-211" />
+    <hkern u1="Z" u2="n" k="-263" />
+    <hkern u1="Z" u2="m" k="-297" />
+    <hkern u1="Z" u2="l" k="-248" />
+    <hkern u1="Z" u2="k" k="-249" />
+    <hkern u1="Z" u2="j" k="-73" />
+    <hkern u1="Z" u2="i" k="-196" />
+    <hkern u1="Z" u2="h" k="-262" />
+    <hkern u1="Z" u2="g" k="-206" />
+    <hkern u1="Z" u2="f" k="-124" />
+    <hkern u1="Z" u2="e" k="-231" />
+    <hkern u1="Z" u2="d" k="-229" />
+    <hkern u1="Z" u2="c" k="-218" />
+    <hkern u1="Z" u2="b" k="-256" />
+    <hkern u1="Z" u2="a" k="-246" />
+    <hkern u1="Z" u2="`" k="-236" />
+    <hkern u1="Z" u2="Z" k="-270" />
+    <hkern u1="Z" u2="Y" k="-316" />
+    <hkern u1="Z" u2="X" k="-302" />
+    <hkern u1="Z" u2="W" k="-176" />
+    <hkern u1="Z" u2="V" k="-227" />
+    <hkern u1="Z" u2="U" k="-289" />
+    <hkern u1="Z" u2="T" k="-313" />
+    <hkern u1="Z" u2="S" k="-180" />
+    <hkern u1="Z" u2="R" k="-327" />
+    <hkern u1="Z" u2="Q" k="-239" />
+    <hkern u1="Z" u2="P" k="-328" />
+    <hkern u1="Z" u2="O" k="-241" />
+    <hkern u1="Z" u2="N" k="-207" />
+    <hkern u1="Z" u2="M" k="-226" />
+    <hkern u1="Z" u2="L" k="-290" />
+    <hkern u1="Z" u2="K" k="-311" />
+    <hkern u1="Z" u2="J" k="-214" />
+    <hkern u1="Z" u2="I" k="-310" />
+    <hkern u1="Z" u2="H" k="-315" />
+    <hkern u1="Z" u2="G" k="-240" />
+    <hkern u1="Z" u2="F" k="-285" />
+    <hkern u1="Z" u2="E" k="-266" />
+    <hkern u1="Z" u2="D" k="-234" />
+    <hkern u1="Z" u2="C" k="-258" />
+    <hkern u1="Z" u2="B" k="-270" />
+    <hkern u1="Z" u2="A" k="-262" />
+    <hkern u1="Z" u2="&#x3f;" k="-160" />
+    <hkern u1="Z" u2="&#x3b;" k="-111" />
+    <hkern u1="Z" u2="&#x3a;" k="-86" />
+    <hkern u1="Z" u2="&#x39;" k="-236" />
+    <hkern u1="Z" u2="&#x38;" k="-178" />
+    <hkern u1="Z" u2="&#x37;" k="-274" />
+    <hkern u1="Z" u2="&#x36;" k="-228" />
+    <hkern u1="Z" u2="&#x35;" k="-277" />
+    <hkern u1="Z" u2="&#x34;" k="-114" />
+    <hkern u1="Z" u2="&#x33;" k="-273" />
+    <hkern u1="Z" u2="&#x32;" k="-299" />
+    <hkern u1="Z" u2="&#x31;" k="-257" />
+    <hkern u1="Z" u2="&#x30;" k="-218" />
+    <hkern u1="Z" u2="&#x2f;" k="-245" />
+    <hkern u1="Z" u2="&#x2e;" k="-186" />
+    <hkern u1="Z" u2="&#x2d;" k="388" />
+    <hkern u1="Z" u2="&#x2c;" k="-223" />
+    <hkern u1="Z" u2="&#x29;" k="-167" />
+    <hkern u1="Z" u2="&#x28;" k="-192" />
+    <hkern u1="Z" u2="&#x26;" k="-113" />
+    <hkern u1="Z" u2="&#x25;" k="-263" />
+    <hkern u1="Z" u2="&#x24;" k="-258" />
+    <hkern u1="Z" u2="&#x21;" k="-139" />
+    <hkern u1="Z" g2=".notdef" k="-230" />
+    <hkern u1="`" u2="&#xd0;" k="502" />
+    <hkern u1="`" u2="&#xc1;" k="473" />
+    <hkern u1="`" u2="&#xc2;" k="396" />
+    <hkern u1="`" u2="&#x2021;" k="550" />
+    <hkern u1="`" u2="&#x203a;" k="208" />
+    <hkern u1="`" u2="&#x2019;" k="173" />
+    <hkern u1="`" u2="&#x2014;" k="363" />
+    <hkern u1="`" u2="&#x2013;" k="162" />
+    <hkern u1="`" u2="&#x153;" k="529" />
+    <hkern u1="`" u2="&#xc0;" k="379" />
+    <hkern u1="`" u2="&#xd1;" k="457" />
+    <hkern u1="`" u2="&#xc9;" k="552" />
+    <hkern u1="`" u2="&#x7e;" k="162" />
+    <hkern u1="`" u2="z" k="452" />
+    <hkern u1="`" u2="y" k="285" />
+    <hkern u1="`" u2="x" k="523" />
+    <hkern u1="`" u2="w" k="488" />
+    <hkern u1="`" u2="v" k="443" />
+    <hkern u1="`" u2="u" k="473" />
+    <hkern u1="`" u2="t" k="228" />
+    <hkern u1="`" u2="s" k="461" />
+    <hkern u1="`" u2="r" k="493" />
+    <hkern u1="`" u2="q" k="438" />
+    <hkern u1="`" u2="p" k="496" />
+    <hkern u1="`" u2="o" k="491" />
+    <hkern u1="`" u2="n" k="458" />
+    <hkern u1="`" u2="m" k="431" />
+    <hkern u1="`" u2="l" k="58" />
+    <hkern u1="`" u2="k" k="52" />
+    <hkern u1="`" u2="j" k="77" />
+    <hkern u1="`" u2="i" k="239" />
+    <hkern u1="`" u2="h" k="94" />
+    <hkern u1="`" u2="g" k="443" />
+    <hkern u1="`" u2="f" k="208" />
+    <hkern u1="`" u2="e" k="467" />
+    <hkern u1="`" u2="d" k="567" />
+    <hkern u1="`" u2="c" k="477" />
+    <hkern u1="`" u2="b" k="90" />
+    <hkern u1="`" u2="a" k="457" />
+    <hkern u1="`" u2="`" k="277" />
+    <hkern u1="`" u2="Z" k="474" />
+    <hkern u1="`" u2="Y" k="110" />
+    <hkern u1="`" u2="X" k="187" />
+    <hkern u1="`" u2="W" k="20" />
+    <hkern u1="`" u2="V" k="-56" />
+    <hkern u1="`" u2="U" k="82" />
+    <hkern u1="`" u2="T" k="84" />
+    <hkern u1="`" u2="S" k="77" />
+    <hkern u1="`" u2="R" k="20" />
+    <hkern u1="`" u2="Q" k="85" />
+    <hkern u1="`" u2="P" k="29" />
+    <hkern u1="`" u2="O" k="86" />
+    <hkern u1="`" u2="N" k="-26" />
+    <hkern u1="`" u2="M" k="-63" />
+    <hkern u1="`" u2="L" k="183" />
+    <hkern u1="`" u2="J" k="180" />
+    <hkern u1="`" u2="I" k="231" />
+    <hkern u1="`" u2="H" k="188" />
+    <hkern u1="`" u2="G" k="125" />
+    <hkern u1="`" u2="E" k="-37" />
+    <hkern u1="`" u2="D" k="-50" />
+    <hkern u1="`" u2="C" k="179" />
+    <hkern u1="`" u2="A" k="491" />
+    <hkern u1="`" u2="&#x40;" k="285" />
+    <hkern u1="`" u2="&#x3b;" k="543" />
+    <hkern u1="`" u2="&#x3a;" k="455" />
+    <hkern u1="`" u2="&#x39;" k="108" />
+    <hkern u1="`" u2="&#x38;" k="58" />
+    <hkern u1="`" u2="&#x37;" k="302" />
+    <hkern u1="`" u2="&#x36;" k="218" />
+    <hkern u1="`" u2="&#x35;" k="113" />
+    <hkern u1="`" u2="&#x34;" k="169" />
+    <hkern u1="`" u2="&#x33;" k="163" />
+    <hkern u1="`" u2="&#x32;" k="-30" />
+    <hkern u1="`" u2="&#x31;" k="92" />
+    <hkern u1="`" u2="&#x30;" k="75" />
+    <hkern u1="`" u2="&#x2f;" k="538" />
+    <hkern u1="`" u2="&#x2e;" k="396" />
+    <hkern u1="`" u2="&#x2d;" k="525" />
+    <hkern u1="`" u2="&#x2c;" k="464" />
+    <hkern u1="`" u2="&#x29;" k="368" />
+    <hkern u1="`" u2="&#x28;" k="156" />
+    <hkern u1="`" u2="&#x26;" k="271" />
+    <hkern u1="`" u2="&#x25;" k="470" />
+    <hkern u1="`" u2="&#x23;" k="116" />
+    <hkern u1="`" u2="&#x21;" k="153" />
+    <hkern u1="`" g2=".notdef" k="527" />
+    <hkern u1="a" u2="&#xd0;" k="-66" />
+    <hkern u1="a" u2="&#xc1;" k="-26" />
+    <hkern u1="a" u2="&#xc2;" k="-85" />
+    <hkern u1="a" u2="&#x2021;" k="-170" />
+    <hkern u1="a" u2="&#x203a;" k="-164" />
+    <hkern u1="a" u2="&#x2019;" k="-134" />
+    <hkern u1="a" u2="&#x2014;" k="-164" />
+    <hkern u1="a" u2="&#x2013;" k="-183" />
+    <hkern u1="a" u2="&#x153;" k="-179" />
+    <hkern u1="a" u2="&#xc0;" k="230" />
+    <hkern u1="a" u2="&#xa2;" k="-139" />
+    <hkern u1="a" u2="&#xd1;" k="-91" />
+    <hkern u1="a" u2="&#xc9;" k="-141" />
+    <hkern u1="a" u2="z" k="-168" />
+    <hkern u1="a" u2="y" k="-154" />
+    <hkern u1="a" u2="x" k="-163" />
+    <hkern u1="a" u2="w" k="-158" />
+    <hkern u1="a" u2="v" k="-114" />
+    <hkern u1="a" u2="u" k="-189" />
+    <hkern u1="a" u2="t" k="-39" />
+    <hkern u1="a" u2="s" k="-150" />
+    <hkern u1="a" u2="r" k="-170" />
+    <hkern u1="a" u2="q" k="-195" />
+    <hkern u1="a" u2="p" k="-163" />
+    <hkern u1="a" u2="o" k="-168" />
+    <hkern u1="a" u2="n" k="-193" />
+    <hkern u1="a" u2="m" k="-239" />
+    <hkern u1="a" u2="l" k="-143" />
+    <hkern u1="a" u2="k" k="-180" />
+    <hkern u1="a" u2="i" k="-140" />
+    <hkern u1="a" u2="h" k="-175" />
+    <hkern u1="a" u2="g" k="-159" />
+    <hkern u1="a" u2="f" k="-65" />
+    <hkern u1="a" u2="e" k="-186" />
+    <hkern u1="a" u2="d" k="-156" />
+    <hkern u1="a" u2="c" k="-178" />
+    <hkern u1="a" u2="b" k="-197" />
+    <hkern u1="a" u2="a" k="-170" />
+    <hkern u1="a" u2="`" k="384" />
+    <hkern u1="a" u2="&#x40;" k="-26" />
+    <hkern u1="a" u2="&#x3f;" k="178" />
+    <hkern u1="a" u2="&#x3b;" k="59" />
+    <hkern u1="a" u2="&#x39;" k="-67" />
+    <hkern u1="a" u2="&#x38;" k="-134" />
+    <hkern u1="a" u2="&#x37;" k="-90" />
+    <hkern u1="a" u2="&#x36;" k="-169" />
+    <hkern u1="a" u2="&#x35;" k="-145" />
+    <hkern u1="a" u2="&#x34;" k="-57" />
+    <hkern u1="a" u2="&#x33;" k="-201" />
+    <hkern u1="a" u2="&#x32;" k="-157" />
+    <hkern u1="a" u2="&#x31;" k="-49" />
+    <hkern u1="a" u2="&#x30;" k="-167" />
+    <hkern u1="a" u2="&#x2f;" k="-114" />
+    <hkern u1="a" u2="&#x2e;" k="-68" />
+    <hkern u1="a" u2="&#x2d;" k="-42" />
+    <hkern u1="a" u2="&#x2c;" k="45" />
+    <hkern u1="a" u2="&#x29;" k="22" />
+    <hkern u1="a" u2="&#x28;" k="-131" />
+    <hkern u1="a" u2="&#x26;" k="-68" />
+    <hkern u1="a" u2="&#x25;" k="-116" />
+    <hkern u1="a" u2="&#x24;" k="-69" />
+    <hkern u1="a" g2=".notdef" k="-186" />
+    <hkern u1="b" u2="&#xd0;" k="-118" />
+    <hkern u1="b" u2="&#xc1;" k="114" />
+    <hkern u1="b" u2="&#xc2;" k="33" />
+    <hkern u1="b" u2="&#x2021;" k="86" />
+    <hkern u1="b" u2="&#x2019;" k="-20" />
+    <hkern u1="b" u2="&#x2013;" k="-33" />
+    <hkern u1="b" u2="&#xc0;" k="317" />
+    <hkern u1="b" u2="&#xa2;" k="-62" />
+    <hkern u1="b" u2="&#xd1;" k="-141" />
+    <hkern u1="b" u2="&#xc9;" k="138" />
+    <hkern u1="b" u2="&#x7e;" k="649" />
+    <hkern u1="b" u2="x" k="55" />
+    <hkern u1="b" u2="w" k="-37" />
+    <hkern u1="b" u2="v" k="-65" />
+    <hkern u1="b" u2="u" k="-56" />
+    <hkern u1="b" u2="t" k="-32" />
+    <hkern u1="b" u2="s" k="-78" />
+    <hkern u1="b" u2="r" k="-66" />
+    <hkern u1="b" u2="p" k="-48" />
+    <hkern u1="b" u2="o" k="-35" />
+    <hkern u1="b" u2="n" k="-70" />
+    <hkern u1="b" u2="m" k="-143" />
+    <hkern u1="b" u2="l" k="-41" />
+    <hkern u1="b" u2="k" k="-69" />
+    <hkern u1="b" u2="j" k="104" />
+    <hkern u1="b" u2="i" k="-28" />
+    <hkern u1="b" u2="h" k="-40" />
+    <hkern u1="b" u2="f" k="-47" />
+    <hkern u1="b" u2="e" k="-29" />
+    <hkern u1="b" u2="d" k="103" />
+    <hkern u1="b" u2="c" k="-33" />
+    <hkern u1="b" u2="b" k="-68" />
+    <hkern u1="b" u2="a" k="43" />
+    <hkern u1="b" u2="`" k="564" />
+    <hkern u1="b" u2="&#x3f;" k="180" />
+    <hkern u1="b" u2="&#x3b;" k="180" />
+    <hkern u1="b" u2="&#x3a;" k="90" />
+    <hkern u1="b" u2="&#x39;" k="-37" />
+    <hkern u1="b" u2="&#x37;" k="127" />
+    <hkern u1="b" u2="&#x36;" k="-27" />
+    <hkern u1="b" u2="&#x35;" k="-61" />
+    <hkern u1="b" u2="&#x34;" k="-27" />
+    <hkern u1="b" u2="&#x33;" k="63" />
+    <hkern u1="b" u2="&#x32;" k="126" />
+    <hkern u1="b" u2="&#x31;" k="66" />
+    <hkern u1="b" u2="&#x30;" k="-85" />
+    <hkern u1="b" u2="&#x2f;" k="172" />
+    <hkern u1="b" u2="&#x2e;" k="212" />
+    <hkern u1="b" u2="&#x2d;" k="-94" />
+    <hkern u1="b" u2="&#x2c;" k="274" />
+    <hkern u1="b" u2="&#x29;" k="252" />
+    <hkern u1="b" u2="&#x28;" k="-21" />
+    <hkern u1="b" u2="&#x26;" k="89" />
+    <hkern u1="b" u2="&#x25;" k="154" />
+    <hkern u1="b" u2="&#x24;" k="-40" />
+    <hkern u1="b" u2="&#x23;" k="35" />
+    <hkern u1="b" u2="&#x21;" k="48" />
+    <hkern u1="c" u2="&#xd0;" k="338" />
+    <hkern u1="c" u2="&#xc1;" k="176" />
+    <hkern u1="c" u2="&#xc2;" k="60" />
+    <hkern u1="c" u2="&#x203a;" k="-22" />
+    <hkern u1="c" u2="&#x2014;" k="-22" />
+    <hkern u1="c" u2="&#x2013;" k="-26" />
+    <hkern u1="c" u2="&#x153;" k="-31" />
+    <hkern u1="c" u2="&#xc0;" k="411" />
+    <hkern u1="c" u2="&#xa2;" k="-68" />
+    <hkern u1="c" u2="&#xd1;" k="314" />
+    <hkern u1="c" u2="&#xc9;" k="82" />
+    <hkern u1="c" u2="&#x7e;" k="70" />
+    <hkern u1="c" u2="z" k="62" />
+    <hkern u1="c" u2="x" k="-27" />
+    <hkern u1="c" u2="v" k="-58" />
+    <hkern u1="c" u2="u" k="-35" />
+    <hkern u1="c" u2="t" k="142" />
+    <hkern u1="c" u2="s" k="67" />
+    <hkern u1="c" u2="r" k="-43" />
+    <hkern u1="c" u2="q" k="-38" />
+    <hkern u1="c" u2="o" k="-22" />
+    <hkern u1="c" u2="n" k="-31" />
+    <hkern u1="c" u2="m" k="-93" />
+    <hkern u1="c" u2="l" k="-23" />
+    <hkern u1="c" u2="k" k="-55" />
+    <hkern u1="c" u2="j" k="232" />
+    <hkern u1="c" u2="h" k="-35" />
+    <hkern u1="c" u2="f" k="95" />
+    <hkern u1="c" u2="e" k="-41" />
+    <hkern u1="c" u2="d" k="20" />
+    <hkern u1="c" u2="c" k="-33" />
+    <hkern u1="c" u2="b" k="-64" />
+    <hkern u1="c" u2="`" k="500" />
+    <hkern u1="c" u2="&#x40;" k="51" />
+    <hkern u1="c" u2="&#x3f;" k="192" />
+    <hkern u1="c" u2="&#x3b;" k="285" />
+    <hkern u1="c" u2="&#x3a;" k="231" />
+    <hkern u1="c" u2="&#x38;" k="-82" />
+    <hkern u1="c" u2="&#x37;" k="80" />
+    <hkern u1="c" u2="&#x36;" k="-36" />
+    <hkern u1="c" u2="&#x35;" k="49" />
+    <hkern u1="c" u2="&#x34;" k="-49" />
+    <hkern u1="c" u2="&#x32;" k="83" />
+    <hkern u1="c" u2="&#x31;" k="88" />
+    <hkern u1="c" u2="&#x30;" k="-64" />
+    <hkern u1="c" u2="&#x2f;" k="89" />
+    <hkern u1="c" u2="&#x2e;" k="156" />
+    <hkern u1="c" u2="&#x2d;" k="368" />
+    <hkern u1="c" u2="&#x2c;" k="213" />
+    <hkern u1="c" u2="&#x29;" k="215" />
+    <hkern u1="c" u2="&#x26;" k="56" />
+    <hkern u1="c" u2="&#x25;" k="88" />
+    <hkern u1="c" u2="&#x24;" k="143" />
+    <hkern u1="c" u2="&#x23;" k="223" />
+    <hkern u1="c" u2="&#x21;" k="70" />
+    <hkern u1="c" g2=".notdef" k="-41" />
+    <hkern u1="d" u2="&#xd0;" k="20" />
+    <hkern u1="d" u2="&#x2021;" k="-83" />
+    <hkern u1="d" u2="&#x203a;" k="-68" />
+    <hkern u1="d" u2="&#x2019;" k="-33" />
+    <hkern u1="d" u2="&#x2014;" k="-55" />
+    <hkern u1="d" u2="&#x2013;" k="-119" />
+    <hkern u1="d" u2="&#x153;" k="-85" />
+    <hkern u1="d" u2="&#xc0;" k="333" />
+    <hkern u1="d" u2="&#xa2;" k="-60" />
+    <hkern u1="d" u2="&#x7e;" k="76" />
+    <hkern u1="d" u2="z" k="-109" />
+    <hkern u1="d" u2="y" k="-46" />
+    <hkern u1="d" u2="x" k="-99" />
+    <hkern u1="d" u2="w" k="-71" />
+    <hkern u1="d" u2="v" k="-31" />
+    <hkern u1="d" u2="u" k="-111" />
+    <hkern u1="d" u2="t" k="41" />
+    <hkern u1="d" u2="s" k="-79" />
+    <hkern u1="d" u2="r" k="-102" />
+    <hkern u1="d" u2="q" k="-103" />
+    <hkern u1="d" u2="p" k="-93" />
+    <hkern u1="d" u2="o" k="-74" />
+    <hkern u1="d" u2="n" k="-131" />
+    <hkern u1="d" u2="m" k="-165" />
+    <hkern u1="d" u2="l" k="-50" />
+    <hkern u1="d" u2="k" k="-87" />
+    <hkern u1="d" u2="j" k="80" />
+    <hkern u1="d" u2="i" k="-41" />
+    <hkern u1="d" u2="h" k="-101" />
+    <hkern u1="d" u2="g" k="-49" />
+    <hkern u1="d" u2="e" k="-94" />
+    <hkern u1="d" u2="d" k="-68" />
+    <hkern u1="d" u2="c" k="-79" />
+    <hkern u1="d" u2="b" k="-28" />
+    <hkern u1="d" u2="a" k="-104" />
+    <hkern u1="d" u2="&#x40;" k="66" />
+    <hkern u1="d" u2="&#x3f;" k="-20" />
+    <hkern u1="d" u2="&#x3b;" k="99" />
+    <hkern u1="d" u2="&#x3a;" k="42" />
+    <hkern u1="d" u2="&#x38;" k="-59" />
+    <hkern u1="d" u2="&#x37;" k="-81" />
+    <hkern u1="d" u2="&#x36;" k="-69" />
+    <hkern u1="d" u2="&#x35;" k="-116" />
+    <hkern u1="d" u2="&#x33;" k="-106" />
+    <hkern u1="d" u2="&#x32;" k="-140" />
+    <hkern u1="d" u2="&#x31;" k="-23" />
+    <hkern u1="d" u2="&#x30;" k="-50" />
+    <hkern u1="d" u2="&#x2f;" k="-66" />
+    <hkern u1="d" u2="&#x2e;" k="58" />
+    <hkern u1="d" u2="&#x2d;" k="44" />
+    <hkern u1="d" u2="&#x2c;" k="61" />
+    <hkern u1="d" u2="&#x29;" k="38" />
+    <hkern u1="d" u2="&#x28;" k="-30" />
+    <hkern u1="d" u2="&#x26;" k="65" />
+    <hkern u1="d" u2="&#x25;" k="-84" />
+    <hkern u1="d" u2="&#x24;" k="-75" />
+    <hkern u1="d" u2="&#x23;" k="40" />
+    <hkern u1="d" u2="&#x21;" k="63" />
+    <hkern u1="d" g2=".notdef" k="-78" />
+    <hkern u1="e" u2="&#xc1;" k="86" />
+    <hkern u1="e" u2="&#xc2;" k="-34" />
+    <hkern u1="e" u2="&#x2021;" k="-57" />
+    <hkern u1="e" u2="&#x203a;" k="-106" />
+    <hkern u1="e" u2="&#x2019;" k="-104" />
+    <hkern u1="e" u2="&#x2014;" k="-105" />
+    <hkern u1="e" u2="&#x2013;" k="-113" />
+    <hkern u1="e" u2="&#x153;" k="-113" />
+    <hkern u1="e" u2="&#xc0;" k="275" />
+    <hkern u1="e" u2="&#xa2;" k="-95" />
+    <hkern u1="e" u2="&#xc9;" k="27" />
+    <hkern u1="e" u2="&#x7e;" k="64" />
+    <hkern u1="e" u2="z" k="-21" />
+    <hkern u1="e" u2="y" k="-105" />
+    <hkern u1="e" u2="x" k="-47" />
+    <hkern u1="e" u2="w" k="-107" />
+    <hkern u1="e" u2="v" k="-71" />
+    <hkern u1="e" u2="u" k="-123" />
+    <hkern u1="e" u2="t" k="31" />
+    <hkern u1="e" u2="s" k="-133" />
+    <hkern u1="e" u2="r" k="-117" />
+    <hkern u1="e" u2="q" k="-103" />
+    <hkern u1="e" u2="p" k="-111" />
+    <hkern u1="e" u2="o" k="-110" />
+    <hkern u1="e" u2="n" k="-124" />
+    <hkern u1="e" u2="m" k="-192" />
+    <hkern u1="e" u2="l" k="-117" />
+    <hkern u1="e" u2="k" k="-154" />
+    <hkern u1="e" u2="j" k="164" />
+    <hkern u1="e" u2="i" k="-110" />
+    <hkern u1="e" u2="h" k="-128" />
+    <hkern u1="e" u2="g" k="-86" />
+    <hkern u1="e" u2="f" k="-145" />
+    <hkern u1="e" u2="e" k="-116" />
+    <hkern u1="e" u2="d" k="-43" />
+    <hkern u1="e" u2="c" k="-114" />
+    <hkern u1="e" u2="b" k="-161" />
+    <hkern u1="e" u2="a" k="-57" />
+    <hkern u1="e" u2="`" k="433" />
+    <hkern u1="e" u2="&#x40;" k="-68" />
+    <hkern u1="e" u2="&#x3f;" k="96" />
+    <hkern u1="e" u2="&#x3b;" k="198" />
+    <hkern u1="e" u2="&#x3a;" k="311" />
+    <hkern u1="e" u2="&#x39;" k="-86" />
+    <hkern u1="e" u2="&#x38;" k="-95" />
+    <hkern u1="e" u2="&#x36;" k="-131" />
+    <hkern u1="e" u2="&#x34;" k="-138" />
+    <hkern u1="e" u2="&#x33;" k="-69" />
+    <hkern u1="e" u2="&#x32;" k="-50" />
+    <hkern u1="e" u2="&#x30;" k="-168" />
+    <hkern u1="e" u2="&#x2f;" k="24" />
+    <hkern u1="e" u2="&#x2e;" k="101" />
+    <hkern u1="e" u2="&#x2d;" k="47" />
+    <hkern u1="e" u2="&#x2c;" k="164" />
+    <hkern u1="e" u2="&#x29;" k="148" />
+    <hkern u1="e" u2="&#x28;" k="-108" />
+    <hkern u1="e" u2="&#x26;" k="-26" />
+    <hkern u1="e" u2="&#x25;" k="22" />
+    <hkern u1="e" u2="&#x24;" k="-24" />
+    <hkern u1="e" u2="&#x23;" k="59" />
+    <hkern u1="e" u2="&#x21;" k="-20" />
+    <hkern u1="e" g2=".notdef" k="-116" />
+    <hkern u1="f" u2="&#xd0;" k="-119" />
+    <hkern u1="f" u2="&#xc1;" k="111" />
+    <hkern u1="f" u2="&#x2021;" k="59" />
+    <hkern u1="f" u2="&#x203a;" k="-46" />
+    <hkern u1="f" u2="&#x2019;" k="-62" />
+    <hkern u1="f" u2="&#x2014;" k="-38" />
+    <hkern u1="f" u2="&#x2013;" k="-61" />
+    <hkern u1="f" u2="&#x153;" k="-49" />
+    <hkern u1="f" u2="&#xc0;" k="460" />
+    <hkern u1="f" u2="&#xa2;" k="-199" />
+    <hkern u1="f" u2="&#xd1;" k="-135" />
+    <hkern u1="f" u2="&#xc9;" k="149" />
+    <hkern u1="f" u2="&#x7e;" k="183" />
+    <hkern u1="f" u2="z" k="75" />
+    <hkern u1="f" u2="y" k="-47" />
+    <hkern u1="f" u2="x" k="71" />
+    <hkern u1="f" u2="w" k="-59" />
+    <hkern u1="f" u2="v" k="-47" />
+    <hkern u1="f" u2="u" k="-70" />
+    <hkern u1="f" u2="t" k="-59" />
+    <hkern u1="f" u2="s" k="-98" />
+    <hkern u1="f" u2="r" k="-81" />
+    <hkern u1="f" u2="p" k="-67" />
+    <hkern u1="f" u2="o" k="-52" />
+    <hkern u1="f" u2="n" k="-75" />
+    <hkern u1="f" u2="m" k="-151" />
+    <hkern u1="f" u2="l" k="-186" />
+    <hkern u1="f" u2="k" k="-191" />
+    <hkern u1="f" u2="j" k="91" />
+    <hkern u1="f" u2="i" k="-138" />
+    <hkern u1="f" u2="h" k="-151" />
+    <hkern u1="f" u2="f" k="-66" />
+    <hkern u1="f" u2="e" k="-43" />
+    <hkern u1="f" u2="d" k="67" />
+    <hkern u1="f" u2="c" k="-46" />
+    <hkern u1="f" u2="b" k="-148" />
+    <hkern u1="f" u2="a" k="43" />
+    <hkern u1="f" u2="`" k="-145" />
+    <hkern u1="f" u2="&#x40;" k="-32" />
+    <hkern u1="f" u2="&#x3f;" k="-116" />
+    <hkern u1="f" u2="&#x3b;" k="213" />
+    <hkern u1="f" u2="&#x3a;" k="114" />
+    <hkern u1="f" u2="&#x39;" k="-91" />
+    <hkern u1="f" u2="&#x38;" k="-84" />
+    <hkern u1="f" u2="&#x37;" k="-198" />
+    <hkern u1="f" u2="&#x36;" k="-81" />
+    <hkern u1="f" u2="&#x35;" k="-155" />
+    <hkern u1="f" u2="&#x34;" k="-75" />
+    <hkern u1="f" u2="&#x33;" k="-66" />
+    <hkern u1="f" u2="&#x32;" k="-113" />
+    <hkern u1="f" u2="&#x31;" k="-160" />
+    <hkern u1="f" u2="&#x30;" k="-145" />
+    <hkern u1="f" u2="&#x2f;" k="84" />
+    <hkern u1="f" u2="&#x2e;" k="222" />
+    <hkern u1="f" u2="&#x2d;" k="-95" />
+    <hkern u1="f" u2="&#x2c;" k="185" />
+    <hkern u1="f" u2="&#x29;" k="-34" />
+    <hkern u1="f" u2="&#x28;" k="-73" />
+    <hkern u1="f" u2="&#x26;" k="49" />
+    <hkern u1="f" u2="&#x25;" k="66" />
+    <hkern u1="f" u2="&#x24;" k="-232" />
+    <hkern u1="f" u2="&#x23;" k="50" />
+    <hkern u1="f" u2="&#x21;" k="-82" />
+    <hkern u1="f" g2=".notdef" k="-33" />
+    <hkern u1="g" u2="&#xd0;" k="-63" />
+    <hkern u1="g" u2="&#x2021;" k="-98" />
+    <hkern u1="g" u2="&#x203a;" k="-85" />
+    <hkern u1="g" u2="&#x2019;" k="-68" />
+    <hkern u1="g" u2="&#x2014;" k="-82" />
+    <hkern u1="g" u2="&#x2013;" k="-112" />
+    <hkern u1="g" u2="&#x153;" k="-96" />
+    <hkern u1="g" u2="&#xa2;" k="-93" />
+    <hkern u1="g" u2="&#xd1;" k="-86" />
+    <hkern u1="g" u2="&#xc9;" k="-50" />
+    <hkern u1="g" u2="&#x7e;" k="64" />
+    <hkern u1="g" u2="z" k="-104" />
+    <hkern u1="g" u2="y" k="-206" />
+    <hkern u1="g" u2="x" k="-102" />
+    <hkern u1="g" u2="w" k="-76" />
+    <hkern u1="g" u2="v" k="-77" />
+    <hkern u1="g" u2="u" k="-112" />
+    <hkern u1="g" u2="t" k="-42" />
+    <hkern u1="g" u2="s" k="-89" />
+    <hkern u1="g" u2="r" k="-96" />
+    <hkern u1="g" u2="q" k="-97" />
+    <hkern u1="g" u2="p" k="-88" />
+    <hkern u1="g" u2="o" k="-91" />
+    <hkern u1="g" u2="n" k="-125" />
+    <hkern u1="g" u2="m" k="-163" />
+    <hkern u1="g" u2="l" k="-77" />
+    <hkern u1="g" u2="k" k="-110" />
+    <hkern u1="g" u2="j" k="-435" />
+    <hkern u1="g" u2="i" k="-72" />
+    <hkern u1="g" u2="h" k="-100" />
+    <hkern u1="g" u2="g" k="-77" />
+    <hkern u1="g" u2="f" k="-100" />
+    <hkern u1="g" u2="e" k="-108" />
+    <hkern u1="g" u2="d" k="-90" />
+    <hkern u1="g" u2="c" k="-101" />
+    <hkern u1="g" u2="b" k="-125" />
+    <hkern u1="g" u2="a" k="-103" />
+    <hkern u1="g" u2="`" k="484" />
+    <hkern u1="g" u2="&#x3b;" k="24" />
+    <hkern u1="g" u2="&#x3a;" k="41" />
+    <hkern u1="g" u2="&#x39;" k="-72" />
+    <hkern u1="g" u2="&#x38;" k="-100" />
+    <hkern u1="g" u2="&#x37;" k="-26" />
+    <hkern u1="g" u2="&#x36;" k="-96" />
+    <hkern u1="g" u2="&#x35;" k="-107" />
+    <hkern u1="g" u2="&#x34;" k="-100" />
+    <hkern u1="g" u2="&#x33;" k="-129" />
+    <hkern u1="g" u2="&#x32;" k="-132" />
+    <hkern u1="g" u2="&#x31;" k="-100" />
+    <hkern u1="g" u2="&#x30;" k="-124" />
+    <hkern u1="g" u2="&#x2f;" k="-112" />
+    <hkern u1="g" u2="&#x2e;" k="23" />
+    <hkern u1="g" u2="&#x2d;" k="-44" />
+    <hkern u1="g" u2="&#x28;" k="-65" />
+    <hkern u1="g" u2="&#x25;" k="-115" />
+    <hkern u1="g" u2="&#x24;" k="-42" />
+    <hkern u1="g" u2="&#x23;" k="27" />
+    <hkern u1="g" u2="&#x21;" k="24" />
+    <hkern u1="g" g2=".notdef" k="-103" />
+    <hkern u1="h" u2="&#xd0;" k="21" />
+    <hkern u1="h" u2="&#xc2;" k="-34" />
+    <hkern u1="h" u2="&#x2021;" k="-87" />
+    <hkern u1="h" u2="&#x203a;" k="-84" />
+    <hkern u1="h" u2="&#x2019;" k="-46" />
+    <hkern u1="h" u2="&#x2014;" k="-66" />
+    <hkern u1="h" u2="&#x2013;" k="-131" />
+    <hkern u1="h" u2="&#x153;" k="-90" />
+    <hkern u1="h" u2="&#xc0;" k="310" />
+    <hkern u1="h" u2="&#xa2;" k="40" />
+    <hkern u1="h" u2="&#xc9;" k="-93" />
+    <hkern u1="h" u2="&#x7e;" k="491" />
+    <hkern u1="h" u2="z" k="-138" />
+    <hkern u1="h" u2="y" k="-76" />
+    <hkern u1="h" u2="x" k="-111" />
+    <hkern u1="h" u2="w" k="-90" />
+    <hkern u1="h" u2="v" k="34" />
+    <hkern u1="h" u2="u" k="-136" />
+    <hkern u1="h" u2="t" k="63" />
+    <hkern u1="h" u2="s" k="-99" />
+    <hkern u1="h" u2="r" k="-122" />
+    <hkern u1="h" u2="q" k="-126" />
+    <hkern u1="h" u2="p" k="-114" />
+    <hkern u1="h" u2="o" k="-104" />
+    <hkern u1="h" u2="n" k="-162" />
+    <hkern u1="h" u2="m" k="-194" />
+    <hkern u1="h" u2="l" k="-56" />
+    <hkern u1="h" u2="k" k="-88" />
+    <hkern u1="h" u2="j" k="230" />
+    <hkern u1="h" u2="i" k="-54" />
+    <hkern u1="h" u2="h" k="-100" />
+    <hkern u1="h" u2="g" k="-80" />
+    <hkern u1="h" u2="f" k="24" />
+    <hkern u1="h" u2="e" k="-121" />
+    <hkern u1="h" u2="d" k="-69" />
+    <hkern u1="h" u2="c" k="-110" />
+    <hkern u1="h" u2="b" k="-97" />
+    <hkern u1="h" u2="a" k="-126" />
+    <hkern u1="h" u2="`" k="433" />
+    <hkern u1="h" u2="&#x40;" k="89" />
+    <hkern u1="h" u2="&#x3f;" k="137" />
+    <hkern u1="h" u2="&#x3b;" k="77" />
+    <hkern u1="h" u2="&#x39;" k="63" />
+    <hkern u1="h" u2="&#x38;" k="-22" />
+    <hkern u1="h" u2="&#x37;" k="-27" />
+    <hkern u1="h" u2="&#x36;" k="-71" />
+    <hkern u1="h" u2="&#x35;" k="-114" />
+    <hkern u1="h" u2="&#x33;" k="-119" />
+    <hkern u1="h" u2="&#x32;" k="-136" />
+    <hkern u1="h" u2="&#x31;" k="22" />
+    <hkern u1="h" u2="&#x30;" k="-62" />
+    <hkern u1="h" u2="&#x2f;" k="-60" />
+    <hkern u1="h" u2="&#x2e;" k="-20" />
+    <hkern u1="h" u2="&#x2d;" k="43" />
+    <hkern u1="h" u2="&#x2c;" k="47" />
+    <hkern u1="h" u2="&#x29;" k="47" />
+    <hkern u1="h" u2="&#x28;" k="-35" />
+    <hkern u1="h" u2="&#x26;" k="39" />
+    <hkern u1="h" u2="&#x25;" k="-78" />
+    <hkern u1="h" u2="&#x24;" k="66" />
+    <hkern u1="h" u2="&#x23;" k="141" />
+    <hkern u1="h" u2="&#x21;" k="71" />
+    <hkern u1="h" g2=".notdef" k="-88" />
+    <hkern u1="i" u2="&#xd0;" k="33" />
+    <hkern u1="i" u2="&#x2021;" k="-87" />
+    <hkern u1="i" u2="&#x203a;" k="-47" />
+    <hkern u1="i" u2="&#x2019;" k="-20" />
+    <hkern u1="i" u2="&#x2014;" k="-36" />
+    <hkern u1="i" u2="&#x2013;" k="-116" />
+    <hkern u1="i" u2="&#x153;" k="-76" />
+    <hkern u1="i" u2="&#xc0;" k="256" />
+    <hkern u1="i" u2="&#xa2;" k="-50" />
+    <hkern u1="i" u2="&#xc9;" k="71" />
+    <hkern u1="i" u2="&#x7e;" k="385" />
+    <hkern u1="i" u2="z" k="-92" />
+    <hkern u1="i" u2="y" k="106" />
+    <hkern u1="i" u2="x" k="-101" />
+    <hkern u1="i" u2="w" k="-63" />
+    <hkern u1="i" u2="v" k="-35" />
+    <hkern u1="i" u2="u" k="-105" />
+    <hkern u1="i" u2="t" k="59" />
+    <hkern u1="i" u2="s" k="-67" />
+    <hkern u1="i" u2="r" k="-101" />
+    <hkern u1="i" u2="q" k="-76" />
+    <hkern u1="i" u2="p" k="-99" />
+    <hkern u1="i" u2="o" k="-57" />
+    <hkern u1="i" u2="n" k="-134" />
+    <hkern u1="i" u2="m" k="-165" />
+    <hkern u1="i" u2="l" k="-35" />
+    <hkern u1="i" u2="k" k="-74" />
+    <hkern u1="i" u2="j" k="-105" />
+    <hkern u1="i" u2="i" k="-28" />
+    <hkern u1="i" u2="h" k="-100" />
+    <hkern u1="i" u2="g" k="41" />
+    <hkern u1="i" u2="f" k="26" />
+    <hkern u1="i" u2="e" k="-76" />
+    <hkern u1="i" u2="d" k="-78" />
+    <hkern u1="i" u2="c" k="-59" />
+    <hkern u1="i" u2="b" k="-28" />
+    <hkern u1="i" u2="a" k="-108" />
+    <hkern u1="i" u2="`" k="82" />
+    <hkern u1="i" u2="&#x40;" k="72" />
+    <hkern u1="i" u2="&#x3f;" k="75" />
+    <hkern u1="i" u2="&#x3b;" k="76" />
+    <hkern u1="i" u2="&#x3a;" k="60" />
+    <hkern u1="i" u2="&#x39;" k="-41" />
+    <hkern u1="i" u2="&#x38;" k="-48" />
+    <hkern u1="i" u2="&#x37;" k="-22" />
+    <hkern u1="i" u2="&#x36;" k="-65" />
+    <hkern u1="i" u2="&#x35;" k="-116" />
+    <hkern u1="i" u2="&#x34;" k="24" />
+    <hkern u1="i" u2="&#x33;" k="-88" />
+    <hkern u1="i" u2="&#x32;" k="-141" />
+    <hkern u1="i" u2="&#x31;" k="-58" />
+    <hkern u1="i" u2="&#x30;" k="-34" />
+    <hkern u1="i" u2="&#x2f;" k="-83" />
+    <hkern u1="i" u2="&#x2e;" k="143" />
+    <hkern u1="i" u2="&#x2d;" k="57" />
+    <hkern u1="i" u2="&#x29;" k="25" />
+    <hkern u1="i" u2="&#x28;" k="-21" />
+    <hkern u1="i" u2="&#x26;" k="96" />
+    <hkern u1="i" u2="&#x25;" k="-98" />
+    <hkern u1="i" u2="&#x24;" k="-29" />
+    <hkern u1="i" u2="&#x23;" k="93" />
+    <hkern u1="i" u2="&#x21;" k="56" />
+    <hkern u1="i" g2=".notdef" k="-59" />
+    <hkern u1="j" u2="&#xd0;" k="-75" />
+    <hkern u1="j" u2="&#xc1;" k="44" />
+    <hkern u1="j" u2="&#x2021;" k="-50" />
+    <hkern u1="j" u2="&#x203a;" k="-48" />
+    <hkern u1="j" u2="&#x2019;" k="-36" />
+    <hkern u1="j" u2="&#x2014;" k="-42" />
+    <hkern u1="j" u2="&#x2013;" k="-70" />
+    <hkern u1="j" u2="&#x153;" k="-56" />
+    <hkern u1="j" u2="&#xa2;" k="-83" />
+    <hkern u1="j" u2="&#xd1;" k="-99" />
+    <hkern u1="j" u2="&#xc9;" k="-23" />
+    <hkern u1="j" u2="&#x7e;" k="172" />
+    <hkern u1="j" u2="z" k="-84" />
+    <hkern u1="j" u2="y" k="-159" />
+    <hkern u1="j" u2="x" k="-56" />
+    <hkern u1="j" u2="w" k="-39" />
+    <hkern u1="j" u2="v" k="-85" />
+    <hkern u1="j" u2="u" k="-89" />
+    <hkern u1="j" u2="t" k="-28" />
+    <hkern u1="j" u2="s" k="-73" />
+    <hkern u1="j" u2="r" k="-59" />
+    <hkern u1="j" u2="q" k="-62" />
+    <hkern u1="j" u2="p" k="-57" />
+    <hkern u1="j" u2="o" k="-63" />
+    <hkern u1="j" u2="n" k="-105" />
+    <hkern u1="j" u2="m" k="-147" />
+    <hkern u1="j" u2="l" k="-51" />
+    <hkern u1="j" u2="k" k="-83" />
+    <hkern u1="j" u2="j" k="-388" />
+    <hkern u1="j" u2="i" k="-40" />
+    <hkern u1="j" u2="h" k="-65" />
+    <hkern u1="j" u2="g" k="-44" />
+    <hkern u1="j" u2="f" k="-77" />
+    <hkern u1="j" u2="e" k="-76" />
+    <hkern u1="j" u2="d" k="-41" />
+    <hkern u1="j" u2="c" k="-75" />
+    <hkern u1="j" u2="b" k="-93" />
+    <hkern u1="j" u2="a" k="-66" />
+    <hkern u1="j" u2="`" k="125" />
+    <hkern u1="j" u2="&#x3f;" k="-21" />
+    <hkern u1="j" u2="&#x3b;" k="51" />
+    <hkern u1="j" u2="&#x3a;" k="64" />
+    <hkern u1="j" u2="&#x39;" k="-49" />
+    <hkern u1="j" u2="&#x38;" k="-83" />
+    <hkern u1="j" u2="&#x36;" k="-62" />
+    <hkern u1="j" u2="&#x35;" k="-71" />
+    <hkern u1="j" u2="&#x34;" k="-75" />
+    <hkern u1="j" u2="&#x33;" k="-94" />
+    <hkern u1="j" u2="&#x32;" k="-96" />
+    <hkern u1="j" u2="&#x31;" k="-57" />
+    <hkern u1="j" u2="&#x30;" k="-99" />
+    <hkern u1="j" u2="&#x2f;" k="-60" />
+    <hkern u1="j" u2="&#x2e;" k="50" />
+    <hkern u1="j" u2="&#x2d;" k="-51" />
+    <hkern u1="j" u2="&#x2c;" k="30" />
+    <hkern u1="j" u2="&#x29;" k="35" />
+    <hkern u1="j" u2="&#x28;" k="-38" />
+    <hkern u1="j" u2="&#x26;" k="28" />
+    <hkern u1="j" u2="&#x25;" k="-69" />
+    <hkern u1="j" u2="&#x24;" k="-61" />
+    <hkern u1="j" u2="&#x21;" k="41" />
+    <hkern u1="j" g2=".notdef" k="-63" />
+    <hkern u1="k" u2="&#xd0;" k="198" />
+    <hkern u1="k" u2="&#xc1;" k="-24" />
+    <hkern u1="k" u2="&#xc2;" k="-35" />
+    <hkern u1="k" u2="&#x2021;" k="-89" />
+    <hkern u1="k" u2="&#x203a;" k="-86" />
+    <hkern u1="k" u2="&#x2019;" k="-51" />
+    <hkern u1="k" u2="&#x2014;" k="-67" />
+    <hkern u1="k" u2="&#x2013;" k="-134" />
+    <hkern u1="k" u2="&#x153;" k="-89" />
+    <hkern u1="k" u2="&#xc0;" k="226" />
+    <hkern u1="k" u2="&#xa2;" k="35" />
+    <hkern u1="k" u2="&#xd1;" k="173" />
+    <hkern u1="k" u2="&#xc9;" k="-101" />
+    <hkern u1="k" u2="&#x7e;" k="168" />
+    <hkern u1="k" u2="z" k="-130" />
+    <hkern u1="k" u2="y" k="-89" />
+    <hkern u1="k" u2="x" k="-121" />
+    <hkern u1="k" u2="w" k="-94" />
+    <hkern u1="k" u2="v" k="38" />
+    <hkern u1="k" u2="u" k="-132" />
+    <hkern u1="k" u2="t" k="90" />
+    <hkern u1="k" u2="s" k="-100" />
+    <hkern u1="k" u2="r" k="-123" />
+    <hkern u1="k" u2="q" k="-138" />
+    <hkern u1="k" u2="p" k="-122" />
+    <hkern u1="k" u2="o" k="-103" />
+    <hkern u1="k" u2="n" k="-152" />
+    <hkern u1="k" u2="m" k="-186" />
+    <hkern u1="k" u2="l" k="-59" />
+    <hkern u1="k" u2="k" k="-91" />
+    <hkern u1="k" u2="j" k="59" />
+    <hkern u1="k" u2="i" k="-58" />
+    <hkern u1="k" u2="h" k="-103" />
+    <hkern u1="k" u2="g" k="-94" />
+    <hkern u1="k" u2="f" k="35" />
+    <hkern u1="k" u2="e" k="-122" />
+    <hkern u1="k" u2="d" k="-67" />
+    <hkern u1="k" u2="c" k="-111" />
+    <hkern u1="k" u2="b" k="-110" />
+    <hkern u1="k" u2="a" k="-130" />
+    <hkern u1="k" u2="`" k="490" />
+    <hkern u1="k" u2="&#x40;" k="98" />
+    <hkern u1="k" u2="&#x3f;" k="74" />
+    <hkern u1="k" u2="&#x3a;" k="21" />
+    <hkern u1="k" u2="&#x39;" k="-77" />
+    <hkern u1="k" u2="&#x38;" k="-23" />
+    <hkern u1="k" u2="&#x37;" k="-34" />
+    <hkern u1="k" u2="&#x36;" k="-76" />
+    <hkern u1="k" u2="&#x35;" k="-123" />
+    <hkern u1="k" u2="&#x34;" k="34" />
+    <hkern u1="k" u2="&#x33;" k="-128" />
+    <hkern u1="k" u2="&#x32;" k="-151" />
+    <hkern u1="k" u2="&#x31;" k="-101" />
+    <hkern u1="k" u2="&#x30;" k="-74" />
+    <hkern u1="k" u2="&#x2f;" k="-92" />
+    <hkern u1="k" u2="&#x2e;" k="-29" />
+    <hkern u1="k" u2="&#x2d;" k="228" />
+    <hkern u1="k" u2="&#x2c;" k="-58" />
+    <hkern u1="k" u2="&#x28;" k="-40" />
+    <hkern u1="k" u2="&#x26;" k="22" />
+    <hkern u1="k" u2="&#x25;" k="-110" />
+    <hkern u1="k" u2="&#x24;" k="69" />
+    <hkern u1="k" u2="&#x23;" k="149" />
+    <hkern u1="k" u2="&#x21;" k="51" />
+    <hkern u1="k" g2=".notdef" k="-89" />
+    <hkern u1="l" u2="&#xd0;" k="74" />
+    <hkern u1="l" u2="&#x2021;" k="-79" />
+    <hkern u1="l" u2="&#x2013;" k="-115" />
+    <hkern u1="l" u2="&#x153;" k="-58" />
+    <hkern u1="l" u2="&#xc0;" k="274" />
+    <hkern u1="l" u2="&#xd1;" k="49" />
+    <hkern u1="l" u2="&#xc9;" k="80" />
+    <hkern u1="l" u2="&#x7e;" k="159" />
+    <hkern u1="l" u2="z" k="-82" />
+    <hkern u1="l" u2="y" k="80" />
+    <hkern u1="l" u2="x" k="-100" />
+    <hkern u1="l" u2="w" k="-52" />
+    <hkern u1="l" u2="v" k="34" />
+    <hkern u1="l" u2="u" k="-86" />
+    <hkern u1="l" u2="t" k="95" />
+    <hkern u1="l" u2="s" k="-38" />
+    <hkern u1="l" u2="r" k="-97" />
+    <hkern u1="l" u2="p" k="-102" />
+    <hkern u1="l" u2="o" k="-26" />
+    <hkern u1="l" u2="n" k="-128" />
+    <hkern u1="l" u2="m" k="-160" />
+    <hkern u1="l" u2="l" k="-21" />
+    <hkern u1="l" u2="k" k="-60" />
+    <hkern u1="l" u2="j" k="-88" />
+    <hkern u1="l" u2="h" k="-101" />
+    <hkern u1="l" u2="g" k="52" />
+    <hkern u1="l" u2="f" k="33" />
+    <hkern u1="l" u2="e" k="-42" />
+    <hkern u1="l" u2="d" k="-69" />
+    <hkern u1="l" u2="c" k="-21" />
+    <hkern u1="l" u2="b" k="-31" />
+    <hkern u1="l" u2="a" k="-104" />
+    <hkern u1="l" u2="`" k="122" />
+    <hkern u1="l" u2="&#x40;" k="124" />
+    <hkern u1="l" u2="&#x3f;" k="60" />
+    <hkern u1="l" u2="&#x3b;" k="53" />
+    <hkern u1="l" u2="&#x3a;" k="158" />
+    <hkern u1="l" u2="&#x39;" k="-80" />
+    <hkern u1="l" u2="&#x37;" k="-32" />
+    <hkern u1="l" u2="&#x36;" k="-51" />
+    <hkern u1="l" u2="&#x35;" k="-119" />
+    <hkern u1="l" u2="&#x34;" k="39" />
+    <hkern u1="l" u2="&#x33;" k="-70" />
+    <hkern u1="l" u2="&#x32;" k="-145" />
+    <hkern u1="l" u2="&#x31;" k="-98" />
+    <hkern u1="l" u2="&#x2f;" k="-91" />
+    <hkern u1="l" u2="&#x2e;" k="153" />
+    <hkern u1="l" u2="&#x2d;" k="97" />
+    <hkern u1="l" u2="&#x26;" k="138" />
+    <hkern u1="l" u2="&#x25;" k="-109" />
+    <hkern u1="l" u2="&#x23;" k="124" />
+    <hkern u1="l" u2="&#x21;" k="50" />
+    <hkern u1="l" g2=".notdef" k="-24" />
+    <hkern u1="m" u2="&#xd0;" k="67" />
+    <hkern u1="m" u2="&#xc1;" k="31" />
+    <hkern u1="m" u2="&#x2021;" k="-107" />
+    <hkern u1="m" u2="&#x203a;" k="-93" />
+    <hkern u1="m" u2="&#x2019;" k="-68" />
+    <hkern u1="m" u2="&#x2014;" k="-93" />
+    <hkern u1="m" u2="&#x2013;" k="-115" />
+    <hkern u1="m" u2="&#x153;" k="-116" />
+    <hkern u1="m" u2="&#xc0;" k="296" />
+    <hkern u1="m" u2="&#xa2;" k="50" />
+    <hkern u1="m" u2="&#xd1;" k="43" />
+    <hkern u1="m" u2="&#xc9;" k="-100" />
+    <hkern u1="m" u2="&#x7e;" k="534" />
+    <hkern u1="m" u2="z" k="-98" />
+    <hkern u1="m" u2="y" k="-83" />
+    <hkern u1="m" u2="x" k="-90" />
+    <hkern u1="m" u2="w" k="-98" />
+    <hkern u1="m" u2="v" k="55" />
+    <hkern u1="m" u2="u" k="-116" />
+    <hkern u1="m" u2="t" k="89" />
+    <hkern u1="m" u2="s" k="-79" />
+    <hkern u1="m" u2="r" k="-99" />
+    <hkern u1="m" u2="q" k="-131" />
+    <hkern u1="m" u2="p" k="-92" />
+    <hkern u1="m" u2="o" k="-93" />
+    <hkern u1="m" u2="n" k="-129" />
+    <hkern u1="m" u2="m" k="-164" />
+    <hkern u1="m" u2="l" k="-68" />
+    <hkern u1="m" u2="k" k="-106" />
+    <hkern u1="m" u2="j" k="87" />
+    <hkern u1="m" u2="i" k="-70" />
+    <hkern u1="m" u2="h" k="-102" />
+    <hkern u1="m" u2="g" k="-92" />
+    <hkern u1="m" u2="f" k="32" />
+    <hkern u1="m" u2="e" k="-113" />
+    <hkern u1="m" u2="d" k="-95" />
+    <hkern u1="m" u2="c" k="-103" />
+    <hkern u1="m" u2="b" k="-123" />
+    <hkern u1="m" u2="a" k="-107" />
+    <hkern u1="m" u2="`" k="431" />
+    <hkern u1="m" u2="&#x40;" k="85" />
+    <hkern u1="m" u2="&#x3f;" k="283" />
+    <hkern u1="m" u2="&#x3b;" k="121" />
+    <hkern u1="m" u2="&#x3a;" k="34" />
+    <hkern u1="m" u2="&#x39;" k="99" />
+    <hkern u1="m" u2="&#x38;" k="-21" />
+    <hkern u1="m" u2="&#x37;" k="-23" />
+    <hkern u1="m" u2="&#x36;" k="-97" />
+    <hkern u1="m" u2="&#x35;" k="-78" />
+    <hkern u1="m" u2="&#x34;" k="48" />
+    <hkern u1="m" u2="&#x33;" k="-132" />
+    <hkern u1="m" u2="&#x32;" k="-98" />
+    <hkern u1="m" u2="&#x31;" k="27" />
+    <hkern u1="m" u2="&#x30;" k="-93" />
+    <hkern u1="m" u2="&#x2f;" k="-57" />
+    <hkern u1="m" u2="&#x2e;" k="-27" />
+    <hkern u1="m" u2="&#x2d;" k="90" />
+    <hkern u1="m" u2="&#x2c;" k="112" />
+    <hkern u1="m" u2="&#x29;" k="83" />
+    <hkern u1="m" u2="&#x28;" k="-57" />
+    <hkern u1="m" u2="&#x25;" k="-57" />
+    <hkern u1="m" u2="&#x24;" k="87" />
+    <hkern u1="m" u2="&#x23;" k="122" />
+    <hkern u1="m" u2="&#x21;" k="310" />
+    <hkern u1="m" g2=".notdef" k="-113" />
+    <hkern u1="n" u2="&#xc1;" k="-20" />
+    <hkern u1="n" u2="&#xc2;" k="-52" />
+    <hkern u1="n" u2="&#x2021;" k="-153" />
+    <hkern u1="n" u2="&#x203a;" k="-127" />
+    <hkern u1="n" u2="&#x2019;" k="-99" />
+    <hkern u1="n" u2="&#x2014;" k="-127" />
+    <hkern u1="n" u2="&#x2013;" k="-165" />
+    <hkern u1="n" u2="&#x153;" k="-155" />
+    <hkern u1="n" u2="&#xc0;" k="312" />
+    <hkern u1="n" u2="&#xc9;" k="-102" />
+    <hkern u1="n" u2="&#x7e;" k="520" />
+    <hkern u1="n" u2="z" k="-148" />
+    <hkern u1="n" u2="y" k="-113" />
+    <hkern u1="n" u2="x" k="-139" />
+    <hkern u1="n" u2="w" k="-137" />
+    <hkern u1="n" u2="u" k="-155" />
+    <hkern u1="n" u2="t" k="39" />
+    <hkern u1="n" u2="s" k="-121" />
+    <hkern u1="n" u2="r" k="-140" />
+    <hkern u1="n" u2="q" k="-169" />
+    <hkern u1="n" u2="p" k="-133" />
+    <hkern u1="n" u2="o" k="-127" />
+    <hkern u1="n" u2="n" k="-165" />
+    <hkern u1="n" u2="m" k="-204" />
+    <hkern u1="n" u2="l" k="-95" />
+    <hkern u1="n" u2="k" k="-134" />
+    <hkern u1="n" u2="j" k="45" />
+    <hkern u1="n" u2="i" k="-99" />
+    <hkern u1="n" u2="h" k="-142" />
+    <hkern u1="n" u2="g" k="-123" />
+    <hkern u1="n" u2="e" k="-148" />
+    <hkern u1="n" u2="d" k="-145" />
+    <hkern u1="n" u2="c" k="-133" />
+    <hkern u1="n" u2="b" k="-143" />
+    <hkern u1="n" u2="a" k="-153" />
+    <hkern u1="n" u2="`" k="416" />
+    <hkern u1="n" u2="&#x40;" k="60" />
+    <hkern u1="n" u2="&#x3f;" k="136" />
+    <hkern u1="n" u2="&#x3b;" k="72" />
+    <hkern u1="n" u2="&#x39;" k="35" />
+    <hkern u1="n" u2="&#x38;" k="-59" />
+    <hkern u1="n" u2="&#x37;" k="-72" />
+    <hkern u1="n" u2="&#x36;" k="-129" />
+    <hkern u1="n" u2="&#x35;" k="-133" />
+    <hkern u1="n" u2="&#x33;" k="-161" />
+    <hkern u1="n" u2="&#x32;" k="-163" />
+    <hkern u1="n" u2="&#x30;" k="-109" />
+    <hkern u1="n" u2="&#x2f;" k="-119" />
+    <hkern u1="n" u2="&#x2e;" k="-30" />
+    <hkern u1="n" u2="&#x2d;" k="42" />
+    <hkern u1="n" u2="&#x2c;" k="37" />
+    <hkern u1="n" u2="&#x29;" k="20" />
+    <hkern u1="n" u2="&#x28;" k="-84" />
+    <hkern u1="n" u2="&#x25;" k="-119" />
+    <hkern u1="n" u2="&#x24;" k="26" />
+    <hkern u1="n" u2="&#x23;" k="86" />
+    <hkern u1="n" u2="&#x21;" k="58" />
+    <hkern u1="n" g2=".notdef" k="-148" />
+    <hkern u1="o" u2="&#xd0;" k="-96" />
+    <hkern u1="o" u2="&#xc1;" k="124" />
+    <hkern u1="o" u2="&#xc2;" k="28" />
+    <hkern u1="o" u2="&#x203a;" k="-44" />
+    <hkern u1="o" u2="&#x2019;" k="-58" />
+    <hkern u1="o" u2="&#x2014;" k="-44" />
+    <hkern u1="o" u2="&#x2013;" k="-55" />
+    <hkern u1="o" u2="&#x153;" k="-56" />
+    <hkern u1="o" u2="&#xc0;" k="330" />
+    <hkern u1="o" u2="&#xa2;" k="-131" />
+    <hkern u1="o" u2="&#xd1;" k="-120" />
+    <hkern u1="o" u2="&#xc9;" k="100" />
+    <hkern u1="o" u2="&#x7e;" k="104" />
+    <hkern u1="o" u2="z" k="-30" />
+    <hkern u1="o" u2="y" k="-44" />
+    <hkern u1="o" u2="x" k="-42" />
+    <hkern u1="o" u2="w" k="-62" />
+    <hkern u1="o" u2="v" k="-103" />
+    <hkern u1="o" u2="u" k="-61" />
+    <hkern u1="o" u2="t" k="-57" />
+    <hkern u1="o" u2="s" k="-91" />
+    <hkern u1="o" u2="r" k="-85" />
+    <hkern u1="o" u2="q" k="-35" />
+    <hkern u1="o" u2="p" k="-60" />
+    <hkern u1="o" u2="o" k="-44" />
+    <hkern u1="o" u2="n" k="-66" />
+    <hkern u1="o" u2="m" k="-145" />
+    <hkern u1="o" u2="l" k="-78" />
+    <hkern u1="o" u2="k" k="-110" />
+    <hkern u1="o" u2="j" k="147" />
+    <hkern u1="o" u2="i" k="-63" />
+    <hkern u1="o" u2="h" k="-79" />
+    <hkern u1="o" u2="f" k="-87" />
+    <hkern u1="o" u2="e" k="-48" />
+    <hkern u1="o" u2="d" k="24" />
+    <hkern u1="o" u2="c" k="-44" />
+    <hkern u1="o" u2="b" k="-109" />
+    <hkern u1="o" u2="`" k="481" />
+    <hkern u1="o" u2="&#x40;" k="-38" />
+    <hkern u1="o" u2="&#x3f;" k="163" />
+    <hkern u1="o" u2="&#x3b;" k="188" />
+    <hkern u1="o" u2="&#x3a;" k="101" />
+    <hkern u1="o" u2="&#x39;" k="-73" />
+    <hkern u1="o" u2="&#x38;" k="-110" />
+    <hkern u1="o" u2="&#x37;" k="81" />
+    <hkern u1="o" u2="&#x36;" k="-77" />
+    <hkern u1="o" u2="&#x35;" k="-85" />
+    <hkern u1="o" u2="&#x34;" k="-67" />
+    <hkern u1="o" u2="&#x32;" k="57" />
+    <hkern u1="o" u2="&#x31;" k="36" />
+    <hkern u1="o" u2="&#x30;" k="-128" />
+    <hkern u1="o" u2="&#x2f;" k="88" />
+    <hkern u1="o" u2="&#x2e;" k="174" />
+    <hkern u1="o" u2="&#x2d;" k="-72" />
+    <hkern u1="o" u2="&#x2c;" k="240" />
+    <hkern u1="o" u2="&#x29;" k="219" />
+    <hkern u1="o" u2="&#x28;" k="-66" />
+    <hkern u1="o" u2="&#x26;" k="45" />
+    <hkern u1="o" u2="&#x25;" k="87" />
+    <hkern u1="o" u2="&#x24;" k="-88" />
+    <hkern u1="o" g2=".notdef" k="-48" />
+    <hkern u1="p" u2="&#xd0;" k="-111" />
+    <hkern u1="p" u2="&#xc1;" k="154" />
+    <hkern u1="p" u2="&#xc2;" k="30" />
+    <hkern u1="p" u2="&#x2021;" k="29" />
+    <hkern u1="p" u2="&#x203a;" k="-45" />
+    <hkern u1="p" u2="&#x2019;" k="-61" />
+    <hkern u1="p" u2="&#x2014;" k="-45" />
+    <hkern u1="p" u2="&#x2013;" k="-64" />
+    <hkern u1="p" u2="&#x153;" k="-59" />
+    <hkern u1="p" u2="&#xc0;" k="246" />
+    <hkern u1="p" u2="&#xa2;" k="-155" />
+    <hkern u1="p" u2="&#xd1;" k="-136" />
+    <hkern u1="p" u2="&#xc9;" k="143" />
+    <hkern u1="p" u2="&#x7e;" k="475" />
+    <hkern u1="p" u2="z" k="-48" />
+    <hkern u1="p" u2="x" k="-61" />
+    <hkern u1="p" u2="w" k="-69" />
+    <hkern u1="p" u2="v" k="-124" />
+    <hkern u1="p" u2="u" k="-67" />
+    <hkern u1="p" u2="t" k="-62" />
+    <hkern u1="p" u2="s" k="-94" />
+    <hkern u1="p" u2="r" k="-99" />
+    <hkern u1="p" u2="q" k="35" />
+    <hkern u1="p" u2="p" k="-36" />
+    <hkern u1="p" u2="o" k="-45" />
+    <hkern u1="p" u2="n" k="-77" />
+    <hkern u1="p" u2="m" k="-155" />
+    <hkern u1="p" u2="l" k="-85" />
+    <hkern u1="p" u2="k" k="-106" />
+    <hkern u1="p" u2="j" k="-77" />
+    <hkern u1="p" u2="i" k="-66" />
+    <hkern u1="p" u2="h" k="-79" />
+    <hkern u1="p" u2="g" k="29" />
+    <hkern u1="p" u2="f" k="-82" />
+    <hkern u1="p" u2="e" k="-43" />
+    <hkern u1="p" u2="d" k="40" />
+    <hkern u1="p" u2="c" k="-41" />
+    <hkern u1="p" u2="b" k="-107" />
+    <hkern u1="p" u2="a" k="29" />
+    <hkern u1="p" u2="`" k="457" />
+    <hkern u1="p" u2="&#x40;" k="-51" />
+    <hkern u1="p" u2="&#x3f;" k="169" />
+    <hkern u1="p" u2="&#x3b;" k="182" />
+    <hkern u1="p" u2="&#x3a;" k="89" />
+    <hkern u1="p" u2="&#x39;" k="-76" />
+    <hkern u1="p" u2="&#x38;" k="-127" />
+    <hkern u1="p" u2="&#x37;" k="93" />
+    <hkern u1="p" u2="&#x36;" k="-74" />
+    <hkern u1="p" u2="&#x35;" k="-86" />
+    <hkern u1="p" u2="&#x34;" k="-37" />
+    <hkern u1="p" u2="&#x33;" k="29" />
+    <hkern u1="p" u2="&#x32;" k="105" />
+    <hkern u1="p" u2="&#x31;" k="34" />
+    <hkern u1="p" u2="&#x30;" k="-127" />
+    <hkern u1="p" u2="&#x2f;" k="117" />
+    <hkern u1="p" u2="&#x2e;" k="217" />
+    <hkern u1="p" u2="&#x2d;" k="-88" />
+    <hkern u1="p" u2="&#x2c;" k="293" />
+    <hkern u1="p" u2="&#x29;" k="224" />
+    <hkern u1="p" u2="&#x28;" k="-62" />
+    <hkern u1="p" u2="&#x26;" k="57" />
+    <hkern u1="p" u2="&#x25;" k="116" />
+    <hkern u1="p" u2="&#x24;" k="-105" />
+    <hkern u1="p" u2="&#x23;" k="-31" />
+    <hkern u1="p" g2=".notdef" k="-43" />
+    <hkern u1="q" u2="&#xd0;" k="-68" />
+    <hkern u1="q" u2="&#xc1;" k="-53" />
+    <hkern u1="q" u2="&#xc2;" k="50" />
+    <hkern u1="q" u2="&#x2019;" k="-41" />
+    <hkern u1="q" u2="&#x2013;" k="-44" />
+    <hkern u1="q" u2="&#x153;" k="-26" />
+    <hkern u1="q" u2="&#xc0;" k="-182" />
+    <hkern u1="q" u2="&#xa2;" k="-117" />
+    <hkern u1="q" u2="&#xd1;" k="-91" />
+    <hkern u1="q" u2="&#xc9;" k="64" />
+    <hkern u1="q" u2="&#x7e;" k="37" />
+    <hkern u1="q" u2="y" k="-293" />
+    <hkern u1="q" u2="x" k="-72" />
+    <hkern u1="q" u2="w" k="-39" />
+    <hkern u1="q" u2="v" k="-89" />
+    <hkern u1="q" u2="u" k="-40" />
+    <hkern u1="q" u2="t" k="-38" />
+    <hkern u1="q" u2="s" k="-66" />
+    <hkern u1="q" u2="r" k="-75" />
+    <hkern u1="q" u2="p" k="-150" />
+    <hkern u1="q" u2="o" k="-20" />
+    <hkern u1="q" u2="n" k="-55" />
+    <hkern u1="q" u2="m" k="-132" />
+    <hkern u1="q" u2="l" k="-68" />
+    <hkern u1="q" u2="k" k="-92" />
+    <hkern u1="q" u2="j" k="-552" />
+    <hkern u1="q" u2="i" k="-45" />
+    <hkern u1="q" u2="h" k="-65" />
+    <hkern u1="q" u2="g" k="-166" />
+    <hkern u1="q" u2="f" k="-62" />
+    <hkern u1="q" u2="e" k="-31" />
+    <hkern u1="q" u2="c" k="-27" />
+    <hkern u1="q" u2="b" k="-91" />
+    <hkern u1="q" u2="`" k="390" />
+    <hkern u1="q" u2="&#x40;" k="-24" />
+    <hkern u1="q" u2="&#x3b;" k="138" />
+    <hkern u1="q" u2="&#x3a;" k="112" />
+    <hkern u1="q" u2="&#x39;" k="-68" />
+    <hkern u1="q" u2="&#x38;" k="-114" />
+    <hkern u1="q" u2="&#x37;" k="78" />
+    <hkern u1="q" u2="&#x36;" k="-55" />
+    <hkern u1="q" u2="&#x35;" k="-69" />
+    <hkern u1="q" u2="&#x34;" k="-40" />
+    <hkern u1="q" u2="&#x33;" k="-36" />
+    <hkern u1="q" u2="&#x32;" k="-99" />
+    <hkern u1="q" u2="&#x30;" k="-112" />
+    <hkern u1="q" u2="&#x2e;" k="137" />
+    <hkern u1="q" u2="&#x2d;" k="-43" />
+    <hkern u1="q" u2="&#x2c;" k="125" />
+    <hkern u1="q" u2="&#x29;" k="97" />
+    <hkern u1="q" u2="&#x28;" k="-50" />
+    <hkern u1="q" u2="&#x26;" k="62" />
+    <hkern u1="q" u2="&#x24;" k="-76" />
+    <hkern u1="q" u2="&#x21;" k="23" />
+    <hkern u1="q" g2=".notdef" k="-27" />
+    <hkern u1="r" u2="&#xd0;" k="211" />
+    <hkern u1="r" u2="&#xc1;" k="375" />
+    <hkern u1="r" u2="&#xc2;" k="118" />
+    <hkern u1="r" u2="&#x2021;" k="241" />
+    <hkern u1="r" u2="&#x203a;" k="159" />
+    <hkern u1="r" u2="&#x2019;" k="178" />
+    <hkern u1="r" u2="&#x2014;" k="159" />
+    <hkern u1="r" u2="&#x2013;" k="54" />
+    <hkern u1="r" u2="&#x153;" k="53" />
+    <hkern u1="r" u2="&#xc0;" k="497" />
+    <hkern u1="r" u2="&#xa2;" k="-97" />
+    <hkern u1="r" u2="&#xd1;" k="187" />
+    <hkern u1="r" u2="&#xc9;" k="322" />
+    <hkern u1="r" u2="z" k="193" />
+    <hkern u1="r" u2="y" k="50" />
+    <hkern u1="r" u2="x" k="-50" />
+    <hkern u1="r" u2="w" k="185" />
+    <hkern u1="r" u2="v" k="91" />
+    <hkern u1="r" u2="u" k="47" />
+    <hkern u1="r" u2="t" k="143" />
+    <hkern u1="r" u2="s" k="100" />
+    <hkern u1="r" u2="r" k="-48" />
+    <hkern u1="r" u2="q" k="217" />
+    <hkern u1="r" u2="o" k="157" />
+    <hkern u1="r" u2="n" k="171" />
+    <hkern u1="r" u2="m" k="-51" />
+    <hkern u1="r" u2="l" k="-30" />
+    <hkern u1="r" u2="k" k="-50" />
+    <hkern u1="r" u2="j" k="113" />
+    <hkern u1="r" u2="i" k="44" />
+    <hkern u1="r" u2="g" k="203" />
+    <hkern u1="r" u2="f" k="95" />
+    <hkern u1="r" u2="e" k="148" />
+    <hkern u1="r" u2="d" k="249" />
+    <hkern u1="r" u2="c" k="143" />
+    <hkern u1="r" u2="b" k="-34" />
+    <hkern u1="r" u2="a" k="241" />
+    <hkern u1="r" u2="`" k="483" />
+    <hkern u1="r" u2="&#x40;" k="57" />
+    <hkern u1="r" u2="&#x3f;" k="517" />
+    <hkern u1="r" u2="&#x3b;" k="604" />
+    <hkern u1="r" u2="&#x3a;" k="375" />
+    <hkern u1="r" u2="&#x38;" k="-93" />
+    <hkern u1="r" u2="&#x37;" k="255" />
+    <hkern u1="r" u2="&#x36;" k="22" />
+    <hkern u1="r" u2="&#x35;" k="51" />
+    <hkern u1="r" u2="&#x34;" k="64" />
+    <hkern u1="r" u2="&#x33;" k="223" />
+    <hkern u1="r" u2="&#x32;" k="-62" />
+    <hkern u1="r" u2="&#x31;" k="103" />
+    <hkern u1="r" u2="&#x30;" k="-62" />
+    <hkern u1="r" u2="&#x2f;" k="256" />
+    <hkern u1="r" u2="&#x2e;" k="395" />
+    <hkern u1="r" u2="&#x2d;" k="241" />
+    <hkern u1="r" u2="&#x2c;" k="406" />
+    <hkern u1="r" u2="&#x29;" k="291" />
+    <hkern u1="r" u2="&#x26;" k="163" />
+    <hkern u1="r" u2="&#x25;" k="253" />
+    <hkern u1="r" u2="&#x24;" k="40" />
+    <hkern u1="r" u2="&#x23;" k="256" />
+    <hkern u1="r" u2="&#x21;" k="63" />
+    <hkern u1="r" g2=".notdef" k="148" />
+    <hkern u1="s" u2="&#xd0;" k="295" />
+    <hkern u1="s" u2="&#xc1;" k="67" />
+    <hkern u1="s" u2="&#x2021;" k="-66" />
+    <hkern u1="s" u2="&#x203a;" k="-76" />
+    <hkern u1="s" u2="&#x2019;" k="-61" />
+    <hkern u1="s" u2="&#x2014;" k="-76" />
+    <hkern u1="s" u2="&#x2013;" k="-86" />
+    <hkern u1="s" u2="&#x153;" k="-87" />
+    <hkern u1="s" u2="&#xc0;" k="476" />
+    <hkern u1="s" u2="&#xa2;" k="-127" />
+    <hkern u1="s" u2="&#xd1;" k="271" />
+    <hkern u1="s" u2="&#xc9;" k="-28" />
+    <hkern u1="s" u2="z" k="-49" />
+    <hkern u1="s" u2="y" k="-73" />
+    <hkern u1="s" u2="x" k="-93" />
+    <hkern u1="s" u2="w" k="-70" />
+    <hkern u1="s" u2="v" k="34" />
+    <hkern u1="s" u2="u" k="-95" />
+    <hkern u1="s" u2="t" k="89" />
+    <hkern u1="s" u2="s" k="-41" />
+    <hkern u1="s" u2="r" k="-97" />
+    <hkern u1="s" u2="q" k="-105" />
+    <hkern u1="s" u2="p" k="-74" />
+    <hkern u1="s" u2="o" k="-79" />
+    <hkern u1="s" u2="n" k="-93" />
+    <hkern u1="s" u2="m" k="-149" />
+    <hkern u1="s" u2="l" k="-78" />
+    <hkern u1="s" u2="k" k="-108" />
+    <hkern u1="s" u2="j" k="118" />
+    <hkern u1="s" u2="i" k="-67" />
+    <hkern u1="s" u2="h" k="-90" />
+    <hkern u1="s" u2="g" k="-75" />
+    <hkern u1="s" u2="f" k="-67" />
+    <hkern u1="s" u2="e" k="-98" />
+    <hkern u1="s" u2="d" k="-51" />
+    <hkern u1="s" u2="c" k="-91" />
+    <hkern u1="s" u2="b" k="-119" />
+    <hkern u1="s" u2="a" k="-66" />
+    <hkern u1="s" u2="`" k="458" />
+    <hkern u1="s" u2="&#x3f;" k="141" />
+    <hkern u1="s" u2="&#x3b;" k="171" />
+    <hkern u1="s" u2="&#x3a;" k="105" />
+    <hkern u1="s" u2="&#x39;" k="-64" />
+    <hkern u1="s" u2="&#x38;" k="-141" />
+    <hkern u1="s" u2="&#x36;" k="-90" />
+    <hkern u1="s" u2="&#x35;" k="-30" />
+    <hkern u1="s" u2="&#x34;" k="-103" />
+    <hkern u1="s" u2="&#x33;" k="-99" />
+    <hkern u1="s" u2="&#x32;" k="-77" />
+    <hkern u1="s" u2="&#x31;" k="34" />
+    <hkern u1="s" u2="&#x30;" k="-117" />
+    <hkern u1="s" u2="&#x2e;" k="46" />
+    <hkern u1="s" u2="&#x2d;" k="325" />
+    <hkern u1="s" u2="&#x2c;" k="119" />
+    <hkern u1="s" u2="&#x29;" k="134" />
+    <hkern u1="s" u2="&#x28;" k="-61" />
+    <hkern u1="s" u2="&#x24;" k="43" />
+    <hkern u1="s" u2="&#x23;" k="162" />
+    <hkern u1="s" g2=".notdef" k="-98" />
+    <hkern u1="t" u2="&#x2021;" k="-99" />
+    <hkern u1="t" u2="&#x203a;" k="-73" />
+    <hkern u1="t" u2="&#x2019;" k="-64" />
+    <hkern u1="t" u2="&#x2014;" k="-67" />
+    <hkern u1="t" u2="&#x2013;" k="-123" />
+    <hkern u1="t" u2="&#x153;" k="-97" />
+    <hkern u1="t" u2="&#xc0;" k="450" />
+    <hkern u1="t" u2="&#xa2;" k="-134" />
+    <hkern u1="t" u2="&#xc9;" k="-24" />
+    <hkern u1="t" u2="&#x7e;" k="167" />
+    <hkern u1="t" u2="z" k="-116" />
+    <hkern u1="t" u2="y" k="-58" />
+    <hkern u1="t" u2="x" k="-107" />
+    <hkern u1="t" u2="w" k="-77" />
+    <hkern u1="t" u2="v" k="-104" />
+    <hkern u1="t" u2="u" k="-118" />
+    <hkern u1="t" u2="t" k="-33" />
+    <hkern u1="t" u2="s" k="-85" />
+    <hkern u1="t" u2="r" k="-108" />
+    <hkern u1="t" u2="q" k="-115" />
+    <hkern u1="t" u2="p" k="-103" />
+    <hkern u1="t" u2="o" k="-81" />
+    <hkern u1="t" u2="n" k="-138" />
+    <hkern u1="t" u2="m" k="-173" />
+    <hkern u1="t" u2="l" k="-93" />
+    <hkern u1="t" u2="k" k="-122" />
+    <hkern u1="t" u2="j" k="80" />
+    <hkern u1="t" u2="i" k="-68" />
+    <hkern u1="t" u2="h" k="-108" />
+    <hkern u1="t" u2="g" k="-62" />
+    <hkern u1="t" u2="f" k="27" />
+    <hkern u1="t" u2="e" k="-101" />
+    <hkern u1="t" u2="d" k="-90" />
+    <hkern u1="t" u2="c" k="-86" />
+    <hkern u1="t" u2="b" k="-117" />
+    <hkern u1="t" u2="a" k="-113" />
+    <hkern u1="t" u2="`" k="252" />
+    <hkern u1="t" u2="&#x40;" k="-41" />
+    <hkern u1="t" u2="&#x3f;" k="71" />
+    <hkern u1="t" u2="&#x3b;" k="91" />
+    <hkern u1="t" u2="&#x3a;" k="37" />
+    <hkern u1="t" u2="&#x39;" k="-91" />
+    <hkern u1="t" u2="&#x38;" k="-83" />
+    <hkern u1="t" u2="&#x37;" k="-29" />
+    <hkern u1="t" u2="&#x36;" k="-84" />
+    <hkern u1="t" u2="&#x35;" k="-115" />
+    <hkern u1="t" u2="&#x34;" k="-45" />
+    <hkern u1="t" u2="&#x33;" k="-103" />
+    <hkern u1="t" u2="&#x32;" k="-141" />
+    <hkern u1="t" u2="&#x31;" k="-25" />
+    <hkern u1="t" u2="&#x30;" k="-139" />
+    <hkern u1="t" u2="&#x2f;" k="-81" />
+    <hkern u1="t" u2="&#x2e;" k="53" />
+    <hkern u1="t" u2="&#x2d;" k="25" />
+    <hkern u1="t" u2="&#x2c;" k="45" />
+    <hkern u1="t" u2="&#x29;" k="39" />
+    <hkern u1="t" u2="&#x28;" k="-77" />
+    <hkern u1="t" u2="&#x26;" k="54" />
+    <hkern u1="t" u2="&#x25;" k="-90" />
+    <hkern u1="t" u2="&#x24;" k="-97" />
+    <hkern u1="t" u2="&#x23;" k="-27" />
+    <hkern u1="t" g2=".notdef" k="-91" />
+    <hkern u1="u" u2="&#xc1;" k="-30" />
+    <hkern u1="u" u2="&#xc2;" k="-84" />
+    <hkern u1="u" u2="&#x2021;" k="-175" />
+    <hkern u1="u" u2="&#x203a;" k="-165" />
+    <hkern u1="u" u2="&#x2019;" k="-138" />
+    <hkern u1="u" u2="&#x2014;" k="-165" />
+    <hkern u1="u" u2="&#x2013;" k="-181" />
+    <hkern u1="u" u2="&#x153;" k="-184" />
+    <hkern u1="u" u2="&#xc0;" k="229" />
+    <hkern u1="u" u2="&#xa2;" k="-75" />
+    <hkern u1="u" u2="&#xd1;" k="-26" />
+    <hkern u1="u" u2="&#xc9;" k="-129" />
+    <hkern u1="u" u2="&#x7e;" k="481" />
+    <hkern u1="u" u2="z" k="-166" />
+    <hkern u1="u" u2="y" k="-156" />
+    <hkern u1="u" u2="x" k="-161" />
+    <hkern u1="u" u2="w" k="-164" />
+    <hkern u1="u" u2="v" k="-53" />
+    <hkern u1="u" u2="u" k="-184" />
+    <hkern u1="u" u2="s" k="-150" />
+    <hkern u1="u" u2="r" k="-170" />
+    <hkern u1="u" u2="q" k="-201" />
+    <hkern u1="u" u2="p" k="-162" />
+    <hkern u1="u" u2="o" k="-165" />
+    <hkern u1="u" u2="n" k="-191" />
+    <hkern u1="u" u2="m" k="-235" />
+    <hkern u1="u" u2="l" k="-142" />
+    <hkern u1="u" u2="k" k="-179" />
+    <hkern u1="u" u2="i" k="-141" />
+    <hkern u1="u" u2="h" k="-174" />
+    <hkern u1="u" u2="g" k="-164" />
+    <hkern u1="u" u2="f" k="-39" />
+    <hkern u1="u" u2="e" k="-185" />
+    <hkern u1="u" u2="d" k="-163" />
+    <hkern u1="u" u2="c" k="-175" />
+    <hkern u1="u" u2="b" k="-197" />
+    <hkern u1="u" u2="a" k="-175" />
+    <hkern u1="u" u2="`" k="377" />
+    <hkern u1="u" u2="&#x40;" k="21" />
+    <hkern u1="u" u2="&#x3f;" k="206" />
+    <hkern u1="u" u2="&#x3b;" k="58" />
+    <hkern u1="u" u2="&#x38;" k="-94" />
+    <hkern u1="u" u2="&#x37;" k="-93" />
+    <hkern u1="u" u2="&#x36;" k="-169" />
+    <hkern u1="u" u2="&#x35;" k="-141" />
+    <hkern u1="u" u2="&#x34;" k="-31" />
+    <hkern u1="u" u2="&#x33;" k="-203" />
+    <hkern u1="u" u2="&#x32;" k="-154" />
+    <hkern u1="u" u2="&#x31;" k="-47" />
+    <hkern u1="u" u2="&#x30;" k="-167" />
+    <hkern u1="u" u2="&#x2f;" k="-117" />
+    <hkern u1="u" u2="&#x2e;" k="-57" />
+    <hkern u1="u" u2="&#x2d;" k="22" />
+    <hkern u1="u" u2="&#x2c;" k="40" />
+    <hkern u1="u" u2="&#x29;" k="21" />
+    <hkern u1="u" u2="&#x28;" k="-130" />
+    <hkern u1="u" u2="&#x26;" k="-68" />
+    <hkern u1="u" u2="&#x25;" k="-118" />
+    <hkern u1="u" u2="&#x23;" k="55" />
+    <hkern u1="u" u2="&#x21;" k="238" />
+    <hkern u1="u" g2=".notdef" k="-185" />
+    <hkern u1="v" u2="&#xd0;" k="-46" />
+    <hkern u1="v" u2="&#xc1;" k="190" />
+    <hkern u1="v" u2="&#xc2;" k="-40" />
+    <hkern u1="v" u2="&#x2021;" k="75" />
+    <hkern u1="v" u2="&#x2019;" k="-73" />
+    <hkern u1="v" u2="&#x2013;" k="-69" />
+    <hkern u1="v" u2="&#x153;" k="-111" />
+    <hkern u1="v" u2="&#xc0;" k="396" />
+    <hkern u1="v" u2="&#xa2;" k="-252" />
+    <hkern u1="v" u2="&#xd1;" k="-70" />
+    <hkern u1="v" u2="&#xc9;" k="163" />
+    <hkern u1="v" u2="&#x7e;" k="443" />
+    <hkern u1="v" u2="z" k="-53" />
+    <hkern u1="v" u2="y" k="-104" />
+    <hkern u1="v" u2="x" k="-194" />
+    <hkern u1="v" u2="w" k="-67" />
+    <hkern u1="v" u2="v" k="-159" />
+    <hkern u1="v" u2="u" k="-111" />
+    <hkern u1="v" u2="s" k="-56" />
+    <hkern u1="v" u2="r" k="-205" />
+    <hkern u1="v" u2="q" k="33" />
+    <hkern u1="v" u2="p" k="-154" />
+    <hkern u1="v" u2="n" k="-76" />
+    <hkern u1="v" u2="m" k="-209" />
+    <hkern u1="v" u2="l" k="-183" />
+    <hkern u1="v" u2="k" k="-204" />
+    <hkern u1="v" u2="j" k="-48" />
+    <hkern u1="v" u2="i" k="-77" />
+    <hkern u1="v" u2="h" k="-170" />
+    <hkern u1="v" u2="g" k="46" />
+    <hkern u1="v" u2="f" k="-59" />
+    <hkern u1="v" u2="d" k="88" />
+    <hkern u1="v" u2="b" k="-188" />
+    <hkern u1="v" u2="a" k="75" />
+    <hkern u1="v" u2="`" k="339" />
+    <hkern u1="v" u2="&#x40;" k="-98" />
+    <hkern u1="v" u2="&#x3f;" k="229" />
+    <hkern u1="v" u2="&#x3b;" k="206" />
+    <hkern u1="v" u2="&#x3a;" k="128" />
+    <hkern u1="v" u2="&#x39;" k="-166" />
+    <hkern u1="v" u2="&#x38;" k="-241" />
+    <hkern u1="v" u2="&#x37;" k="98" />
+    <hkern u1="v" u2="&#x36;" k="-133" />
+    <hkern u1="v" u2="&#x35;" k="-99" />
+    <hkern u1="v" u2="&#x34;" k="-88" />
+    <hkern u1="v" u2="&#x33;" k="43" />
+    <hkern u1="v" u2="&#x32;" k="90" />
+    <hkern u1="v" u2="&#x31;" k="-51" />
+    <hkern u1="v" u2="&#x30;" k="-216" />
+    <hkern u1="v" u2="&#x2f;" k="130" />
+    <hkern u1="v" u2="&#x2e;" k="237" />
+    <hkern u1="v" u2="&#x2c;" k="296" />
+    <hkern u1="v" u2="&#x29;" k="138" />
+    <hkern u1="v" u2="&#x28;" k="-148" />
+    <hkern u1="v" u2="&#x25;" k="130" />
+    <hkern u1="v" u2="&#x24;" k="-96" />
+    <hkern u1="v" u2="&#x21;" k="-90" />
+    <hkern u1="w" u2="&#xd0;" k="-95" />
+    <hkern u1="w" u2="&#xc1;" k="153" />
+    <hkern u1="w" u2="&#xc2;" k="46" />
+    <hkern u1="w" u2="&#x2021;" k="28" />
+    <hkern u1="w" u2="&#x203a;" k="-24" />
+    <hkern u1="w" u2="&#x2019;" k="-42" />
+    <hkern u1="w" u2="&#x2014;" k="-21" />
+    <hkern u1="w" u2="&#x2013;" k="-42" />
+    <hkern u1="w" u2="&#x153;" k="-31" />
+    <hkern u1="w" u2="&#xc0;" k="359" />
+    <hkern u1="w" u2="&#xa2;" k="-142" />
+    <hkern u1="w" u2="&#xd1;" k="-120" />
+    <hkern u1="w" u2="&#xc9;" k="157" />
+    <hkern u1="w" u2="&#x7e;" k="36" />
+    <hkern u1="w" u2="y" k="-26" />
+    <hkern u1="w" u2="x" k="-57" />
+    <hkern u1="w" u2="w" k="-40" />
+    <hkern u1="w" u2="v" k="-95" />
+    <hkern u1="w" u2="u" k="-43" />
+    <hkern u1="w" u2="t" k="-42" />
+    <hkern u1="w" u2="s" k="-74" />
+    <hkern u1="w" u2="r" k="-73" />
+    <hkern u1="w" u2="p" k="-46" />
+    <hkern u1="w" u2="o" k="-27" />
+    <hkern u1="w" u2="n" k="-49" />
+    <hkern u1="w" u2="m" k="-129" />
+    <hkern u1="w" u2="l" k="-67" />
+    <hkern u1="w" u2="k" k="-97" />
+    <hkern u1="w" u2="j" k="74" />
+    <hkern u1="w" u2="i" k="-47" />
+    <hkern u1="w" u2="h" k="-65" />
+    <hkern u1="w" u2="f" k="-71" />
+    <hkern u1="w" u2="e" k="-32" />
+    <hkern u1="w" u2="d" k="42" />
+    <hkern u1="w" u2="c" k="-30" />
+    <hkern u1="w" u2="b" k="-94" />
+    <hkern u1="w" u2="a" k="24" />
+    <hkern u1="w" u2="`" k="477" />
+    <hkern u1="w" u2="&#x40;" k="-31" />
+    <hkern u1="w" u2="&#x3b;" k="206" />
+    <hkern u1="w" u2="&#x3a;" k="116" />
+    <hkern u1="w" u2="&#x39;" k="-63" />
+    <hkern u1="w" u2="&#x38;" k="-112" />
+    <hkern u1="w" u2="&#x37;" k="95" />
+    <hkern u1="w" u2="&#x36;" k="-61" />
+    <hkern u1="w" u2="&#x35;" k="-72" />
+    <hkern u1="w" u2="&#x34;" k="-56" />
+    <hkern u1="w" u2="&#x32;" k="-74" />
+    <hkern u1="w" u2="&#x31;" k="49" />
+    <hkern u1="w" u2="&#x30;" k="-114" />
+    <hkern u1="w" u2="&#x2f;" k="105" />
+    <hkern u1="w" u2="&#x2e;" k="230" />
+    <hkern u1="w" u2="&#x2d;" k="-71" />
+    <hkern u1="w" u2="&#x2c;" k="297" />
+    <hkern u1="w" u2="&#x29;" k="230" />
+    <hkern u1="w" u2="&#x28;" k="-53" />
+    <hkern u1="w" u2="&#x26;" k="57" />
+    <hkern u1="w" u2="&#x25;" k="101" />
+    <hkern u1="w" u2="&#x24;" k="-94" />
+    <hkern u1="w" u2="&#x21;" k="24" />
+    <hkern u1="w" g2=".notdef" k="-29" />
+    <hkern u1="x" u2="&#xd0;" k="277" />
+    <hkern u1="x" u2="&#xc1;" k="72" />
+    <hkern u1="x" u2="&#x2021;" k="-70" />
+    <hkern u1="x" u2="&#x203a;" k="-86" />
+    <hkern u1="x" u2="&#x2019;" k="-62" />
+    <hkern u1="x" u2="&#x2014;" k="-81" />
+    <hkern u1="x" u2="&#x2013;" k="-100" />
+    <hkern u1="x" u2="&#x153;" k="-95" />
+    <hkern u1="x" u2="&#xc0;" k="310" />
+    <hkern u1="x" u2="&#xd1;" k="253" />
+    <hkern u1="x" u2="&#x7e;" k="133" />
+    <hkern u1="x" u2="z" k="-61" />
+    <hkern u1="x" u2="y" k="-69" />
+    <hkern u1="x" u2="x" k="-63" />
+    <hkern u1="x" u2="w" k="-75" />
+    <hkern u1="x" u2="v" k="54" />
+    <hkern u1="x" u2="u" k="-106" />
+    <hkern u1="x" u2="t" k="84" />
+    <hkern u1="x" u2="s" k="-55" />
+    <hkern u1="x" u2="r" k="-87" />
+    <hkern u1="x" u2="q" k="-107" />
+    <hkern u1="x" u2="p" k="-78" />
+    <hkern u1="x" u2="o" k="-87" />
+    <hkern u1="x" u2="n" k="-105" />
+    <hkern u1="x" u2="m" k="-156" />
+    <hkern u1="x" u2="l" k="-72" />
+    <hkern u1="x" u2="k" k="-102" />
+    <hkern u1="x" u2="j" k="97" />
+    <hkern u1="x" u2="i" k="-65" />
+    <hkern u1="x" u2="h" k="-96" />
+    <hkern u1="x" u2="g" k="-73" />
+    <hkern u1="x" u2="f" k="36" />
+    <hkern u1="x" u2="e" k="-105" />
+    <hkern u1="x" u2="d" k="-56" />
+    <hkern u1="x" u2="c" k="-98" />
+    <hkern u1="x" u2="b" k="-121" />
+    <hkern u1="x" u2="a" k="-78" />
+    <hkern u1="x" u2="`" k="239" />
+    <hkern u1="x" u2="&#x40;" k="63" />
+    <hkern u1="x" u2="&#x3f;" k="55" />
+    <hkern u1="x" u2="&#x3b;" k="162" />
+    <hkern u1="x" u2="&#x3a;" k="133" />
+    <hkern u1="x" u2="&#x39;" k="104" />
+    <hkern u1="x" u2="&#x36;" k="-90" />
+    <hkern u1="x" u2="&#x34;" k="100" />
+    <hkern u1="x" u2="&#x33;" k="-113" />
+    <hkern u1="x" u2="&#x32;" k="-53" />
+    <hkern u1="x" u2="&#x31;" k="26" />
+    <hkern u1="x" u2="&#x30;" k="-97" />
+    <hkern u1="x" u2="&#x2e;" k="57" />
+    <hkern u1="x" u2="&#x2d;" k="296" />
+    <hkern u1="x" u2="&#x2c;" k="143" />
+    <hkern u1="x" u2="&#x29;" k="121" />
+    <hkern u1="x" u2="&#x28;" k="-55" />
+    <hkern u1="x" u2="&#x23;" k="84" />
+    <hkern u1="x" u2="&#x21;" k="93" />
+    <hkern u1="x" g2=".notdef" k="-102" />
+    <hkern u1="y" u2="&#xd0;" k="-67" />
+    <hkern u1="y" u2="&#xc1;" k="39" />
+    <hkern u1="y" u2="&#x2021;" k="-84" />
+    <hkern u1="y" u2="&#x203a;" k="-76" />
+    <hkern u1="y" u2="&#x2019;" k="-60" />
+    <hkern u1="y" u2="&#x2014;" k="-73" />
+    <hkern u1="y" u2="&#x2013;" k="-97" />
+    <hkern u1="y" u2="&#x153;" k="-87" />
+    <hkern u1="y" u2="&#xc0;" k="46" />
+    <hkern u1="y" u2="&#xa2;" k="-91" />
+    <hkern u1="y" u2="&#xd1;" k="-90" />
+    <hkern u1="y" u2="&#xc9;" k="-34" />
+    <hkern u1="y" u2="&#x7e;" k="92" />
+    <hkern u1="y" u2="z" k="-92" />
+    <hkern u1="y" u2="y" k="-162" />
+    <hkern u1="y" u2="x" k="-86" />
+    <hkern u1="y" u2="w" k="-66" />
+    <hkern u1="y" u2="v" k="-73" />
+    <hkern u1="y" u2="u" k="-103" />
+    <hkern u1="y" u2="t" k="-42" />
+    <hkern u1="y" u2="s" k="-87" />
+    <hkern u1="y" u2="r" k="-83" />
+    <hkern u1="y" u2="q" k="-83" />
+    <hkern u1="y" u2="p" k="-71" />
+    <hkern u1="y" u2="o" k="-82" />
+    <hkern u1="y" u2="n" k="-112" />
+    <hkern u1="y" u2="m" k="-155" />
+    <hkern u1="y" u2="l" k="-71" />
+    <hkern u1="y" u2="k" k="-103" />
+    <hkern u1="y" u2="j" k="-390" />
+    <hkern u1="y" u2="i" k="-65" />
+    <hkern u1="y" u2="h" k="-91" />
+    <hkern u1="y" u2="g" k="-63" />
+    <hkern u1="y" u2="f" k="-96" />
+    <hkern u1="y" u2="e" k="-99" />
+    <hkern u1="y" u2="d" k="-74" />
+    <hkern u1="y" u2="c" k="-93" />
+    <hkern u1="y" u2="b" k="-117" />
+    <hkern u1="y" u2="a" k="-90" />
+    <hkern u1="y" u2="`" k="496" />
+    <hkern u1="y" u2="&#x3f;" k="22" />
+    <hkern u1="y" u2="&#x3b;" k="49" />
+    <hkern u1="y" u2="&#x3a;" k="55" />
+    <hkern u1="y" u2="&#x39;" k="-55" />
+    <hkern u1="y" u2="&#x38;" k="-82" />
+    <hkern u1="y" u2="&#x36;" k="-88" />
+    <hkern u1="y" u2="&#x35;" k="-89" />
+    <hkern u1="y" u2="&#x34;" k="-93" />
+    <hkern u1="y" u2="&#x33;" k="-118" />
+    <hkern u1="y" u2="&#x32;" k="-113" />
+    <hkern u1="y" u2="&#x31;" k="-74" />
+    <hkern u1="y" u2="&#x30;" k="-119" />
+    <hkern u1="y" u2="&#x2f;" k="-86" />
+    <hkern u1="y" u2="&#x2e;" k="39" />
+    <hkern u1="y" u2="&#x2d;" k="-44" />
+    <hkern u1="y" u2="&#x2c;" k="25" />
+    <hkern u1="y" u2="&#x28;" k="-59" />
+    <hkern u1="y" u2="&#x25;" k="-89" />
+    <hkern u1="y" u2="&#x24;" k="-52" />
+    <hkern u1="y" u2="&#x21;" k="27" />
+    <hkern u1="y" g2=".notdef" k="-94" />
+    <hkern u1="z" u2="&#xd0;" k="47" />
+    <hkern u1="z" u2="&#xc1;" k="46" />
+    <hkern u1="z" u2="&#x2021;" k="-93" />
+    <hkern u1="z" u2="&#x203a;" k="-60" />
+    <hkern u1="z" u2="&#x2019;" k="-30" />
+    <hkern u1="z" u2="&#x2014;" k="-60" />
+    <hkern u1="z" u2="&#x2013;" k="-105" />
+    <hkern u1="z" u2="&#x153;" k="-93" />
+    <hkern u1="z" u2="&#xc0;" k="364" />
+    <hkern u1="z" u2="&#xa2;" k="-81" />
+    <hkern u1="z" u2="&#xd1;" k="21" />
+    <hkern u1="z" u2="&#xc9;" k="-53" />
+    <hkern u1="z" u2="&#x7e;" k="566" />
+    <hkern u1="z" u2="z" k="-88" />
+    <hkern u1="z" u2="y" k="-47" />
+    <hkern u1="z" u2="x" k="-84" />
+    <hkern u1="z" u2="w" k="-72" />
+    <hkern u1="z" u2="v" k="-67" />
+    <hkern u1="z" u2="u" k="-93" />
+    <hkern u1="z" u2="t" k="79" />
+    <hkern u1="z" u2="s" k="-61" />
+    <hkern u1="z" u2="r" k="-85" />
+    <hkern u1="z" u2="q" k="-101" />
+    <hkern u1="z" u2="p" k="-77" />
+    <hkern u1="z" u2="o" k="-60" />
+    <hkern u1="z" u2="n" k="-109" />
+    <hkern u1="z" u2="m" k="-144" />
+    <hkern u1="z" u2="l" k="-30" />
+    <hkern u1="z" u2="k" k="-69" />
+    <hkern u1="z" u2="j" k="97" />
+    <hkern u1="z" u2="i" k="-32" />
+    <hkern u1="z" u2="h" k="-83" />
+    <hkern u1="z" u2="g" k="-56" />
+    <hkern u1="z" u2="f" k="51" />
+    <hkern u1="z" u2="e" k="-81" />
+    <hkern u1="z" u2="d" k="-88" />
+    <hkern u1="z" u2="c" k="-66" />
+    <hkern u1="z" u2="b" k="-77" />
+    <hkern u1="z" u2="a" k="-93" />
+    <hkern u1="z" u2="`" k="462" />
+    <hkern u1="z" u2="&#x40;" k="31" />
+    <hkern u1="z" u2="&#x3f;" k="165" />
+    <hkern u1="z" u2="&#x3b;" k="121" />
+    <hkern u1="z" u2="&#x3a;" k="66" />
+    <hkern u1="z" u2="&#x38;" k="-72" />
+    <hkern u1="z" u2="&#x36;" k="-64" />
+    <hkern u1="z" u2="&#x35;" k="-83" />
+    <hkern u1="z" u2="&#x34;" k="49" />
+    <hkern u1="z" u2="&#x33;" k="-93" />
+    <hkern u1="z" u2="&#x32;" k="-113" />
+    <hkern u1="z" u2="&#x31;" k="37" />
+    <hkern u1="z" u2="&#x30;" k="-67" />
+    <hkern u1="z" u2="&#x2f;" k="-75" />
+    <hkern u1="z" u2="&#x2d;" k="77" />
+    <hkern u1="z" u2="&#x2c;" k="70" />
+    <hkern u1="z" u2="&#x29;" k="59" />
+    <hkern u1="z" u2="&#x26;" k="62" />
+    <hkern u1="z" u2="&#x25;" k="-75" />
+    <hkern u1="z" u2="&#x24;" k="-24" />
+    <hkern u1="z" u2="&#x23;" k="82" />
+    <hkern u1="z" u2="&#x21;" k="66" />
+    <hkern u1="z" g2=".notdef" k="-81" />
+    <hkern u1="&#x7e;" u2="&#xd0;" k="488" />
+    <hkern u1="&#x7e;" u2="&#xc1;" k="372" />
+    <hkern u1="&#x7e;" u2="&#xc2;" k="294" />
+    <hkern u1="&#x7e;" u2="&#x2021;" k="507" />
+    <hkern u1="&#x7e;" u2="&#x203a;" k="122" />
+    <hkern u1="&#x7e;" u2="&#x2019;" k="64" />
+    <hkern u1="&#x7e;" u2="&#x2014;" k="251" />
+    <hkern u1="&#x7e;" u2="&#x2013;" k="57" />
+    <hkern u1="&#x7e;" u2="&#x153;" k="270" />
+    <hkern u1="&#x7e;" u2="&#xc0;" k="364" />
+    <hkern u1="&#x7e;" u2="&#xa2;" k="-106" />
+    <hkern u1="&#x7e;" u2="&#xd1;" k="443" />
+    <hkern u1="&#x7e;" u2="&#xc9;" k="538" />
+    <hkern u1="&#x7e;" u2="&#x7e;" k="57" />
+    <hkern u1="&#x7e;" u2="z" k="438" />
+    <hkern u1="&#x7e;" u2="y" k="113" />
+    <hkern u1="&#x7e;" u2="x" k="-36" />
+    <hkern u1="&#x7e;" u2="w" k="557" />
+    <hkern u1="&#x7e;" u2="v" k="429" />
+    <hkern u1="&#x7e;" u2="u" k="459" />
+    <hkern u1="&#x7e;" u2="t" k="130" />
+    <hkern u1="&#x7e;" u2="s" k="249" />
+    <hkern u1="&#x7e;" u2="r" k="213" />
+    <hkern u1="&#x7e;" u2="q" k="449" />
+    <hkern u1="&#x7e;" u2="p" k="88" />
+    <hkern u1="&#x7e;" u2="o" k="477" />
+    <hkern u1="&#x7e;" u2="n" k="444" />
+    <hkern u1="&#x7e;" u2="m" k="417" />
+    <hkern u1="&#x7e;" u2="l" k="-58" />
+    <hkern u1="&#x7e;" u2="k" k="-66" />
+    <hkern u1="&#x7e;" u2="j" k="62" />
+    <hkern u1="&#x7e;" u2="i" k="328" />
+    <hkern u1="&#x7e;" u2="h" k="-24" />
+    <hkern u1="&#x7e;" u2="g" k="446" />
+    <hkern u1="&#x7e;" u2="f" k="88" />
+    <hkern u1="&#x7e;" u2="e" k="458" />
+    <hkern u1="&#x7e;" u2="d" k="518" />
+    <hkern u1="&#x7e;" u2="c" k="462" />
+    <hkern u1="&#x7e;" u2="b" k="-30" />
+    <hkern u1="&#x7e;" u2="a" k="478" />
+    <hkern u1="&#x7e;" u2="`" k="236" />
+    <hkern u1="&#x7e;" u2="Z" k="492" />
+    <hkern u1="&#x7e;" u2="Y" k="176" />
+    <hkern u1="&#x7e;" u2="X" k="89" />
+    <hkern u1="&#x7e;" u2="W" k="-164" />
+    <hkern u1="&#x7e;" u2="V" k="-153" />
+    <hkern u1="&#x7e;" u2="U" k="145" />
+    <hkern u1="&#x7e;" u2="T" k="402" />
+    <hkern u1="&#x7e;" u2="S" k="-67" />
+    <hkern u1="&#x7e;" u2="R" k="135" />
+    <hkern u1="&#x7e;" u2="Q" k="-34" />
+    <hkern u1="&#x7e;" u2="P" k="43" />
+    <hkern u1="&#x7e;" u2="O" k="-34" />
+    <hkern u1="&#x7e;" u2="N" k="-168" />
+    <hkern u1="&#x7e;" u2="M" k="-183" />
+    <hkern u1="&#x7e;" u2="L" k="72" />
+    <hkern u1="&#x7e;" u2="K" k="-129" />
+    <hkern u1="&#x7e;" u2="J" k="138" />
+    <hkern u1="&#x7e;" u2="I" k="158" />
+    <hkern u1="&#x7e;" u2="H" k="77" />
+    <hkern u1="&#x7e;" u2="F" k="-117" />
+    <hkern u1="&#x7e;" u2="E" k="-141" />
+    <hkern u1="&#x7e;" u2="D" k="-172" />
+    <hkern u1="&#x7e;" u2="C" k="40" />
+    <hkern u1="&#x7e;" u2="B" k="-167" />
+    <hkern u1="&#x7e;" u2="A" k="434" />
+    <hkern u1="&#x7e;" u2="&#x40;" k="140" />
+    <hkern u1="&#x7e;" u2="&#x3f;" k="-82" />
+    <hkern u1="&#x7e;" u2="&#x3b;" k="442" />
+    <hkern u1="&#x7e;" u2="&#x3a;" k="353" />
+    <hkern u1="&#x7e;" u2="&#x39;" k="-24" />
+    <hkern u1="&#x7e;" u2="&#x38;" k="-106" />
+    <hkern u1="&#x7e;" u2="&#x37;" k="478" />
+    <hkern u1="&#x7e;" u2="&#x36;" k="77" />
+    <hkern u1="&#x7e;" u2="&#x35;" k="31" />
+    <hkern u1="&#x7e;" u2="&#x34;" k="50" />
+    <hkern u1="&#x7e;" u2="&#x33;" k="443" />
+    <hkern u1="&#x7e;" u2="&#x32;" k="-150" />
+    <hkern u1="&#x7e;" u2="&#x31;" k="98" />
+    <hkern u1="&#x7e;" u2="&#x30;" k="-53" />
+    <hkern u1="&#x7e;" u2="&#x2f;" k="466" />
+    <hkern u1="&#x7e;" u2="&#x2e;" k="294" />
+    <hkern u1="&#x7e;" u2="&#x2d;" k="511" />
+    <hkern u1="&#x7e;" u2="&#x2c;" k="363" />
+    <hkern u1="&#x7e;" u2="&#x29;" k="262" />
+    <hkern u1="&#x7e;" u2="&#x28;" k="28" />
+    <hkern u1="&#x7e;" u2="&#x26;" k="139" />
+    <hkern u1="&#x7e;" u2="&#x25;" k="422" />
+    <hkern u1="&#x7e;" u2="&#x24;" k="-114" />
+    <hkern u1="&#x7e;" u2="&#x23;" k="-24" />
+    <hkern u1="&#x7e;" u2="&#x21;" k="35" />
+    <hkern u1="&#x7e;" g2=".notdef" k="247" />
+    <hkern u1="&#xc9;" u2="&#xd0;" k="805" />
+    <hkern u1="&#xc9;" u2="&#x2021;" k="-135" />
+    <hkern u1="&#xc9;" u2="&#x203a;" k="-100" />
+    <hkern u1="&#xc9;" u2="&#x2019;" k="-66" />
+    <hkern u1="&#xc9;" u2="&#x2014;" k="-100" />
+    <hkern u1="&#xc9;" u2="&#x2013;" k="-131" />
+    <hkern u1="&#xc9;" u2="&#x153;" k="-122" />
+    <hkern u1="&#xc9;" u2="&#xc0;" k="287" />
+    <hkern u1="&#xc9;" u2="&#xa2;" k="594" />
+    <hkern u1="&#xc9;" u2="&#xd1;" k="965" />
+    <hkern u1="&#xc9;" u2="&#xc9;" k="-41" />
+    <hkern u1="&#xc9;" u2="&#x7e;" k="594" />
+    <hkern u1="&#xc9;" u2="z" k="-138" />
+    <hkern u1="&#xc9;" u2="y" k="-93" />
+    <hkern u1="&#xc9;" u2="x" k="-111" />
+    <hkern u1="&#xc9;" u2="w" k="-105" />
+    <hkern u1="&#xc9;" u2="v" k="73" />
+    <hkern u1="&#xc9;" u2="u" k="-122" />
+    <hkern u1="&#xc9;" u2="t" k="102" />
+    <hkern u1="&#xc9;" u2="s" k="-98" />
+    <hkern u1="&#xc9;" u2="r" k="-99" />
+    <hkern u1="&#xc9;" u2="q" k="-157" />
+    <hkern u1="&#xc9;" u2="p" k="-94" />
+    <hkern u1="&#xc9;" u2="o" k="-100" />
+    <hkern u1="&#xc9;" u2="n" k="-131" />
+    <hkern u1="&#xc9;" u2="m" k="-165" />
+    <hkern u1="&#xc9;" u2="l" k="-61" />
+    <hkern u1="&#xc9;" u2="k" k="-100" />
+    <hkern u1="&#xc9;" u2="j" k="91" />
+    <hkern u1="&#xc9;" u2="i" k="-66" />
+    <hkern u1="&#xc9;" u2="h" k="-103" />
+    <hkern u1="&#xc9;" u2="g" k="-115" />
+    <hkern u1="&#xc9;" u2="f" k="40" />
+    <hkern u1="&#xc9;" u2="e" k="-125" />
+    <hkern u1="&#xc9;" u2="d" k="-125" />
+    <hkern u1="&#xc9;" u2="c" k="-110" />
+    <hkern u1="&#xc9;" u2="b" k="-116" />
+    <hkern u1="&#xc9;" u2="a" k="-135" />
+    <hkern u1="&#xc9;" u2="`" k="491" />
+    <hkern u1="&#xc9;" u2="Z" k="-167" />
+    <hkern u1="&#xc9;" u2="X" k="-155" />
+    <hkern u1="&#xc9;" u2="W" k="193" />
+    <hkern u1="&#xc9;" u2="V" k="344" />
+    <hkern u1="&#xc9;" u2="U" k="-58" />
+    <hkern u1="&#xc9;" u2="T" k="290" />
+    <hkern u1="&#xc9;" u2="S" k="-45" />
+    <hkern u1="&#xc9;" u2="R" k="81" />
+    <hkern u1="&#xc9;" u2="Q" k="-104" />
+    <hkern u1="&#xc9;" u2="P" k="44" />
+    <hkern u1="&#xc9;" u2="O" k="-105" />
+    <hkern u1="&#xc9;" u2="N" k="113" />
+    <hkern u1="&#xc9;" u2="M" k="94" />
+    <hkern u1="&#xc9;" u2="K" k="-138" />
+    <hkern u1="&#xc9;" u2="J" k="211" />
+    <hkern u1="&#xc9;" u2="I" k="53" />
+    <hkern u1="&#xc9;" u2="G" k="-108" />
+    <hkern u1="&#xc9;" u2="D" k="39" />
+    <hkern u1="&#xc9;" u2="C" k="-132" />
+    <hkern u1="&#xc9;" u2="B" k="-112" />
+    <hkern u1="&#xc9;" u2="A" k="-90" />
+    <hkern u1="&#xc9;" u2="&#x40;" k="146" />
+    <hkern u1="&#xc9;" u2="&#x3f;" k="864" />
+    <hkern u1="&#xc9;" u2="&#x3b;" k="105" />
+    <hkern u1="&#xc9;" u2="&#x3a;" k="34" />
+    <hkern u1="&#xc9;" u2="&#x39;" k="317" />
+    <hkern u1="&#xc9;" u2="&#x38;" k="-30" />
+    <hkern u1="&#xc9;" u2="&#x37;" k="-45" />
+    <hkern u1="&#xc9;" u2="&#x36;" k="-95" />
+    <hkern u1="&#xc9;" u2="&#x35;" k="-112" />
+    <hkern u1="&#xc9;" u2="&#x34;" k="454" />
+    <hkern u1="&#xc9;" u2="&#x33;" k="-230" />
+    <hkern u1="&#xc9;" u2="&#x32;" k="-161" />
+    <hkern u1="&#xc9;" u2="&#x31;" k="32" />
+    <hkern u1="&#xc9;" u2="&#x30;" k="-81" />
+    <hkern u1="&#xc9;" u2="&#x2f;" k="-95" />
+    <hkern u1="&#xc9;" u2="&#x2e;" k="32" />
+    <hkern u1="&#xc9;" u2="&#x2d;" k="644" />
+    <hkern u1="&#xc9;" u2="&#x2c;" k="97" />
+    <hkern u1="&#xc9;" u2="&#x29;" k="59" />
+    <hkern u1="&#xc9;" u2="&#x28;" k="-50" />
+    <hkern u1="&#xc9;" u2="&#x25;" k="-95" />
+    <hkern u1="&#xc9;" u2="&#x24;" k="537" />
+    <hkern u1="&#xc9;" u2="&#x23;" k="133" />
+    <hkern u1="&#xc9;" u2="&#x21;" k="335" />
+    <hkern u1="&#xc9;" g2=".notdef" k="-125" />
+    <hkern u1="&#xd1;" u2="&#xd0;" k="-47" />
+    <hkern u1="&#xd1;" u2="&#xc1;" k="1226" />
+    <hkern u1="&#xd1;" u2="&#xc2;" k="66" />
+    <hkern u1="&#xd1;" u2="&#x2021;" k="110" />
+    <hkern u1="&#xd1;" u2="&#x2019;" k="-36" />
+    <hkern u1="&#xd1;" u2="&#x2013;" k="-31" />
+    <hkern u1="&#xd1;" u2="&#x153;" k="-26" />
+    <hkern u1="&#xd1;" u2="&#xc0;" k="1017" />
+    <hkern u1="&#xd1;" u2="&#xa2;" k="-53" />
+    <hkern u1="&#xd1;" u2="&#xd1;" k="-71" />
+    <hkern u1="&#xd1;" u2="&#xc9;" k="1051" />
+    <hkern u1="&#xd1;" u2="&#x7e;" k="584" />
+    <hkern u1="&#xd1;" u2="z" k="270" />
+    <hkern u1="&#xd1;" u2="x" k="113" />
+    <hkern u1="&#xd1;" u2="w" k="-47" />
+    <hkern u1="&#xd1;" u2="v" k="-44" />
+    <hkern u1="&#xd1;" u2="u" k="-26" />
+    <hkern u1="&#xd1;" u2="t" k="-49" />
+    <hkern u1="&#xd1;" u2="s" k="-80" />
+    <hkern u1="&#xd1;" u2="r" k="-46" />
+    <hkern u1="&#xd1;" u2="q" k="53" />
+    <hkern u1="&#xd1;" u2="p" k="-25" />
+    <hkern u1="&#xd1;" u2="n" k="-31" />
+    <hkern u1="&#xd1;" u2="m" k="-111" />
+    <hkern u1="&#xd1;" u2="l" k="-45" />
+    <hkern u1="&#xd1;" u2="k" k="-78" />
+    <hkern u1="&#xd1;" u2="j" k="114" />
+    <hkern u1="&#xd1;" u2="i" k="-36" />
+    <hkern u1="&#xd1;" u2="h" k="-44" />
+    <hkern u1="&#xd1;" u2="g" k="44" />
+    <hkern u1="&#xd1;" u2="f" k="30" />
+    <hkern u1="&#xd1;" u2="d" k="110" />
+    <hkern u1="&#xd1;" u2="b" k="-78" />
+    <hkern u1="&#xd1;" u2="a" k="110" />
+    <hkern u1="&#xd1;" u2="`" k="481" />
+    <hkern u1="&#xd1;" u2="Z" k="226" />
+    <hkern u1="&#xd1;" u2="Y" k="93" />
+    <hkern u1="&#xd1;" u2="X" k="116" />
+    <hkern u1="&#xd1;" u2="W" k="240" />
+    <hkern u1="&#xd1;" u2="V" k="306" />
+    <hkern u1="&#xd1;" u2="U" k="63" />
+    <hkern u1="&#xd1;" u2="T" k="299" />
+    <hkern u1="&#xd1;" u2="R" k="119" />
+    <hkern u1="&#xd1;" u2="Q" k="-101" />
+    <hkern u1="&#xd1;" u2="P" k="59" />
+    <hkern u1="&#xd1;" u2="O" k="-100" />
+    <hkern u1="&#xd1;" u2="N" k="177" />
+    <hkern u1="&#xd1;" u2="M" k="168" />
+    <hkern u1="&#xd1;" u2="L" k="119" />
+    <hkern u1="&#xd1;" u2="K" k="-123" />
+    <hkern u1="&#xd1;" u2="J" k="312" />
+    <hkern u1="&#xd1;" u2="I" k="168" />
+    <hkern u1="&#xd1;" u2="H" k="-36" />
+    <hkern u1="&#xd1;" u2="G" k="-98" />
+    <hkern u1="&#xd1;" u2="F" k="-71" />
+    <hkern u1="&#xd1;" u2="E" k="-34" />
+    <hkern u1="&#xd1;" u2="D" k="48" />
+    <hkern u1="&#xd1;" u2="C" k="-92" />
+    <hkern u1="&#xd1;" u2="A" k="140" />
+    <hkern u1="&#xd1;" u2="&#x3f;" k="215" />
+    <hkern u1="&#xd1;" u2="&#x3b;" k="245" />
+    <hkern u1="&#xd1;" u2="&#x3a;" k="139" />
+    <hkern u1="&#xd1;" u2="&#x39;" k="-67" />
+    <hkern u1="&#xd1;" u2="&#x38;" k="137" />
+    <hkern u1="&#xd1;" u2="&#x37;" k="147" />
+    <hkern u1="&#xd1;" u2="&#x36;" k="-44" />
+    <hkern u1="&#xd1;" u2="&#x35;" k="-107" />
+    <hkern u1="&#xd1;" u2="&#x34;" k="-53" />
+    <hkern u1="&#xd1;" u2="&#x33;" k="163" />
+    <hkern u1="&#xd1;" u2="&#x32;" k="348" />
+    <hkern u1="&#xd1;" u2="&#x31;" k="70" />
+    <hkern u1="&#xd1;" u2="&#x30;" k="-99" />
+    <hkern u1="&#xd1;" u2="&#x2f;" k="211" />
+    <hkern u1="&#xd1;" u2="&#x2e;" k="286" />
+    <hkern u1="&#xd1;" u2="&#x2d;" k="-24" />
+    <hkern u1="&#xd1;" u2="&#x2c;" k="355" />
+    <hkern u1="&#xd1;" u2="&#x29;" k="270" />
+    <hkern u1="&#xd1;" u2="&#x28;" k="-35" />
+    <hkern u1="&#xd1;" u2="&#x26;" k="137" />
+    <hkern u1="&#xd1;" u2="&#x25;" k="212" />
+    <hkern u1="&#xd1;" u2="&#x24;" k="-53" />
+    <hkern u1="&#xd1;" u2="&#x23;" k="58" />
+    <hkern u1="&#xd1;" u2="&#x21;" k="40" />
+    <hkern u1="&#xa2;" u2="&#xd0;" k="212" />
+    <hkern u1="&#xa2;" u2="&#xc1;" k="481" />
+    <hkern u1="&#xa2;" u2="&#xc2;" k="187" />
+    <hkern u1="&#xa2;" u2="&#x2021;" k="342" />
+    <hkern u1="&#xa2;" u2="&#x203a;" k="200" />
+    <hkern u1="&#xa2;" u2="&#x2019;" k="133" />
+    <hkern u1="&#xa2;" u2="&#x2014;" k="218" />
+    <hkern u1="&#xa2;" u2="&#x2013;" k="119" />
+    <hkern u1="&#xa2;" u2="&#x153;" k="159" />
+    <hkern u1="&#xa2;" u2="&#xc0;" k="667" />
+    <hkern u1="&#xa2;" u2="&#xa2;" k="-24" />
+    <hkern u1="&#xa2;" u2="&#xd1;" k="186" />
+    <hkern u1="&#xa2;" u2="&#xc9;" k="761" />
+    <hkern u1="&#xa2;" u2="&#x7e;" k="124" />
+    <hkern u1="&#xa2;" u2="z" k="152" />
+    <hkern u1="&#xa2;" u2="y" k="114" />
+    <hkern u1="&#xa2;" u2="w" k="149" />
+    <hkern u1="&#xa2;" u2="v" k="20" />
+    <hkern u1="&#xa2;" u2="u" k="119" />
+    <hkern u1="&#xa2;" u2="t" k="199" />
+    <hkern u1="&#xa2;" u2="s" k="159" />
+    <hkern u1="&#xa2;" u2="q" k="259" />
+    <hkern u1="&#xa2;" u2="p" k="60" />
+    <hkern u1="&#xa2;" u2="o" k="185" />
+    <hkern u1="&#xa2;" u2="n" k="117" />
+    <hkern u1="&#xa2;" u2="l" k="26" />
+    <hkern u1="&#xa2;" u2="j" k="272" />
+    <hkern u1="&#xa2;" u2="i" k="123" />
+    <hkern u1="&#xa2;" u2="h" k="50" />
+    <hkern u1="&#xa2;" u2="g" k="269" />
+    <hkern u1="&#xa2;" u2="f" k="160" />
+    <hkern u1="&#xa2;" u2="e" k="225" />
+    <hkern u1="&#xa2;" u2="d" k="360" />
+    <hkern u1="&#xa2;" u2="c" k="214" />
+    <hkern u1="&#xa2;" u2="b" k="34" />
+    <hkern u1="&#xa2;" u2="a" k="308" />
+    <hkern u1="&#xa2;" u2="`" k="325" />
+    <hkern u1="&#xa2;" u2="Z" k="340" />
+    <hkern u1="&#xa2;" u2="Y" k="83" />
+    <hkern u1="&#xa2;" u2="W" k="-22" />
+    <hkern u1="&#xa2;" u2="V" k="204" />
+    <hkern u1="&#xa2;" u2="U" k="157" />
+    <hkern u1="&#xa2;" u2="T" k="177" />
+    <hkern u1="&#xa2;" u2="R" k="159" />
+    <hkern u1="&#xa2;" u2="Q" k="30" />
+    <hkern u1="&#xa2;" u2="P" k="124" />
+    <hkern u1="&#xa2;" u2="O" k="32" />
+    <hkern u1="&#xa2;" u2="N" k="-27" />
+    <hkern u1="&#xa2;" u2="M" k="193" />
+    <hkern u1="&#xa2;" u2="L" k="171" />
+    <hkern u1="&#xa2;" u2="K" k="-46" />
+    <hkern u1="&#xa2;" u2="J" k="69" />
+    <hkern u1="&#xa2;" u2="I" k="44" />
+    <hkern u1="&#xa2;" u2="H" k="113" />
+    <hkern u1="&#xa2;" u2="G" k="42" />
+    <hkern u1="&#xa2;" u2="F" k="110" />
+    <hkern u1="&#xa2;" u2="E" k="143" />
+    <hkern u1="&#xa2;" u2="D" k="123" />
+    <hkern u1="&#xa2;" u2="C" k="75" />
+    <hkern u1="&#xa2;" u2="B" k="-71" />
+    <hkern u1="&#xa2;" u2="A" k="270" />
+    <hkern u1="&#xa2;" u2="&#x40;" k="130" />
+    <hkern u1="&#xa2;" u2="&#x3f;" k="240" />
+    <hkern u1="&#xa2;" u2="&#x3b;" k="417" />
+    <hkern u1="&#xa2;" u2="&#x3a;" k="343" />
+    <hkern u1="&#xa2;" u2="&#x39;" k="32" />
+    <hkern u1="&#xa2;" u2="&#x38;" k="-25" />
+    <hkern u1="&#xa2;" u2="&#x37;" k="223" />
+    <hkern u1="&#xa2;" u2="&#x36;" k="112" />
+    <hkern u1="&#xa2;" u2="&#x35;" k="111" />
+    <hkern u1="&#xa2;" u2="&#x34;" k="102" />
+    <hkern u1="&#xa2;" u2="&#x33;" k="380" />
+    <hkern u1="&#xa2;" u2="&#x32;" k="210" />
+    <hkern u1="&#xa2;" u2="&#x31;" k="164" />
+    <hkern u1="&#xa2;" u2="&#x2f;" k="430" />
+    <hkern u1="&#xa2;" u2="&#x2e;" k="350" />
+    <hkern u1="&#xa2;" u2="&#x2d;" k="242" />
+    <hkern u1="&#xa2;" u2="&#x2c;" k="419" />
+    <hkern u1="&#xa2;" u2="&#x29;" k="177" />
+    <hkern u1="&#xa2;" u2="&#x28;" k="81" />
+    <hkern u1="&#xa2;" u2="&#x26;" k="229" />
+    <hkern u1="&#xa2;" u2="&#x25;" k="369" />
+    <hkern u1="&#xa2;" u2="&#x24;" k="102" />
+    <hkern u1="&#xa2;" u2="&#x23;" k="252" />
+    <hkern u1="&#xa2;" u2="&#x21;" k="118" />
+    <hkern u1="&#xa2;" g2=".notdef" k="253" />
+    <hkern u1="&#xc0;" u2="&#xd0;" k="77" />
+    <hkern u1="&#xc0;" u2="&#xc2;" k="164" />
+    <hkern u1="&#xc0;" u2="&#x2021;" k="52" />
+    <hkern u1="&#xc0;" u2="&#x203a;" k="85" />
+    <hkern u1="&#xc0;" u2="&#x2019;" k="116" />
+    <hkern u1="&#xc0;" u2="&#x2014;" k="85" />
+    <hkern u1="&#xc0;" u2="&#x2013;" k="51" />
+    <hkern u1="&#xc0;" u2="&#x153;" k="63" />
+    <hkern u1="&#xc0;" u2="&#xc0;" k="-160" />
+    <hkern u1="&#xc0;" u2="&#xa2;" k="310" />
+    <hkern u1="&#xc0;" u2="&#xd1;" k="34" />
+    <hkern u1="&#xc0;" u2="&#xc9;" k="99" />
+    <hkern u1="&#xc0;" u2="&#x7e;" k="503" />
+    <hkern u1="&#xc0;" u2="z" k="66" />
+    <hkern u1="&#xc0;" u2="y" k="-200" />
+    <hkern u1="&#xc0;" u2="x" k="74" />
+    <hkern u1="&#xc0;" u2="w" k="78" />
+    <hkern u1="&#xc0;" u2="v" k="166" />
+    <hkern u1="&#xc0;" u2="u" k="63" />
+    <hkern u1="&#xc0;" u2="t" k="143" />
+    <hkern u1="&#xc0;" u2="s" k="98" />
+    <hkern u1="&#xc0;" u2="r" k="81" />
+    <hkern u1="&#xc0;" u2="q" k="76" />
+    <hkern u1="&#xc0;" u2="p" k="-77" />
+    <hkern u1="&#xc0;" u2="o" k="85" />
+    <hkern u1="&#xc0;" u2="n" k="51" />
+    <hkern u1="&#xc0;" u2="l" k="116" />
+    <hkern u1="&#xc0;" u2="k" k="84" />
+    <hkern u1="&#xc0;" u2="j" k="-502" />
+    <hkern u1="&#xc0;" u2="i" k="116" />
+    <hkern u1="&#xc0;" u2="h" k="75" />
+    <hkern u1="&#xc0;" u2="g" k="-94" />
+    <hkern u1="&#xc0;" u2="f" k="88" />
+    <hkern u1="&#xc0;" u2="e" k="61" />
+    <hkern u1="&#xc0;" u2="d" k="60" />
+    <hkern u1="&#xc0;" u2="c" k="75" />
+    <hkern u1="&#xc0;" u2="b" k="64" />
+    <hkern u1="&#xc0;" u2="a" k="52" />
+    <hkern u1="&#xc0;" u2="`" k="399" />
+    <hkern u1="&#xc0;" u2="Z" k="36" />
+    <hkern u1="&#xc0;" u2="Y" k="-90" />
+    <hkern u1="&#xc0;" u2="X" k="27" />
+    <hkern u1="&#xc0;" u2="W" k="366" />
+    <hkern u1="&#xc0;" u2="V" k="485" />
+    <hkern u1="&#xc0;" u2="U" k="123" />
+    <hkern u1="&#xc0;" u2="T" k="461" />
+    <hkern u1="&#xc0;" u2="S" k="181" />
+    <hkern u1="&#xc0;" u2="R" k="261" />
+    <hkern u1="&#xc0;" u2="Q" k="66" />
+    <hkern u1="&#xc0;" u2="P" k="222" />
+    <hkern u1="&#xc0;" u2="O" k="60" />
+    <hkern u1="&#xc0;" u2="N" k="292" />
+    <hkern u1="&#xc0;" u2="M" k="284" />
+    <hkern u1="&#xc0;" u2="L" k="74" />
+    <hkern u1="&#xc0;" u2="K" k="38" />
+    <hkern u1="&#xc0;" u2="J" k="-276" />
+    <hkern u1="&#xc0;" u2="I" k="123" />
+    <hkern u1="&#xc0;" u2="H" k="60" />
+    <hkern u1="&#xc0;" u2="G" k="84" />
+    <hkern u1="&#xc0;" u2="F" k="74" />
+    <hkern u1="&#xc0;" u2="E" k="146" />
+    <hkern u1="&#xc0;" u2="D" k="210" />
+    <hkern u1="&#xc0;" u2="C" k="52" />
+    <hkern u1="&#xc0;" u2="B" k="70" />
+    <hkern u1="&#xc0;" u2="A" k="67" />
+    <hkern u1="&#xc0;" u2="&#x40;" k="176" />
+    <hkern u1="&#xc0;" u2="&#x3f;" k="334" />
+    <hkern u1="&#xc0;" u2="&#x3b;" k="260" />
+    <hkern u1="&#xc0;" u2="&#x3a;" k="230" />
+    <hkern u1="&#xc0;" u2="&#x39;" k="140" />
+    <hkern u1="&#xc0;" u2="&#x38;" k="165" />
+    <hkern u1="&#xc0;" u2="&#x37;" k="135" />
+    <hkern u1="&#xc0;" u2="&#x36;" k="85" />
+    <hkern u1="&#xc0;" u2="&#x35;" k="95" />
+    <hkern u1="&#xc0;" u2="&#x34;" k="143" />
+    <hkern u1="&#xc0;" u2="&#x33;" k="29" />
+    <hkern u1="&#xc0;" u2="&#x32;" k="21" />
+    <hkern u1="&#xc0;" u2="&#x31;" k="123" />
+    <hkern u1="&#xc0;" u2="&#x30;" k="68" />
+    <hkern u1="&#xc0;" u2="&#x2f;" k="70" />
+    <hkern u1="&#xc0;" u2="&#x2e;" k="172" />
+    <hkern u1="&#xc0;" u2="&#x2d;" k="94" />
+    <hkern u1="&#xc0;" u2="&#x2c;" k="185" />
+    <hkern u1="&#xc0;" u2="&#x29;" k="210" />
+    <hkern u1="&#xc0;" u2="&#x28;" k="125" />
+    <hkern u1="&#xc0;" u2="&#x26;" k="187" />
+    <hkern u1="&#xc0;" u2="&#x25;" k="70" />
+    <hkern u1="&#xc0;" u2="&#x24;" k="221" />
+    <hkern u1="&#xc0;" u2="&#x23;" k="332" />
+    <hkern u1="&#xc0;" u2="&#x21;" k="213" />
+    <hkern u1="&#xc0;" g2=".notdef" k="61" />
+    <hkern u1="&#x153;" u2="&#xc1;" k="-30" />
+    <hkern u1="&#x153;" u2="&#xc2;" k="-84" />
+    <hkern u1="&#x153;" u2="&#x2021;" k="-140" />
+    <hkern u1="&#x153;" u2="&#x203a;" k="-145" />
+    <hkern u1="&#x153;" u2="&#x2019;" k="-119" />
+    <hkern u1="&#x153;" u2="&#x2014;" k="-135" />
+    <hkern u1="&#x153;" u2="&#x2013;" k="-167" />
+    <hkern u1="&#x153;" u2="&#x153;" k="-149" />
+    <hkern u1="&#x153;" u2="&#xc0;" k="229" />
+    <hkern u1="&#x153;" u2="&#xa2;" k="-73" />
+    <hkern u1="&#x153;" u2="&#xd1;" k="-26" />
+    <hkern u1="&#x153;" u2="&#xc9;" k="-129" />
+    <hkern u1="&#x153;" u2="&#x7e;" k="250" />
+    <hkern u1="&#x153;" u2="z" k="-166" />
+    <hkern u1="&#x153;" u2="y" k="-141" />
+    <hkern u1="&#x153;" u2="x" k="-146" />
+    <hkern u1="&#x153;" u2="w" k="-137" />
+    <hkern u1="&#x153;" u2="v" k="-53" />
+    <hkern u1="&#x153;" u2="u" k="-184" />
+    <hkern u1="&#x153;" u2="t" k="29" />
+    <hkern u1="&#x153;" u2="s" k="-139" />
+    <hkern u1="&#x153;" u2="r" k="-158" />
+    <hkern u1="&#x153;" u2="q" k="-182" />
+    <hkern u1="&#x153;" u2="p" k="-158" />
+    <hkern u1="&#x153;" u2="o" k="-159" />
+    <hkern u1="&#x153;" u2="n" k="-191" />
+    <hkern u1="&#x153;" u2="m" k="-235" />
+    <hkern u1="&#x153;" u2="l" k="-135" />
+    <hkern u1="&#x153;" u2="k" k="-171" />
+    <hkern u1="&#x153;" u2="j" k="29" />
+    <hkern u1="&#x153;" u2="i" k="-127" />
+    <hkern u1="&#x153;" u2="h" k="-164" />
+    <hkern u1="&#x153;" u2="g" k="-146" />
+    <hkern u1="&#x153;" u2="f" k="-28" />
+    <hkern u1="&#x153;" u2="e" k="-172" />
+    <hkern u1="&#x153;" u2="d" k="-126" />
+    <hkern u1="&#x153;" u2="c" k="-169" />
+    <hkern u1="&#x153;" u2="b" k="-186" />
+    <hkern u1="&#x153;" u2="a" k="-162" />
+    <hkern u1="&#x153;" u2="`" k="-27" />
+    <hkern u1="&#x153;" u2="Z" k="-160" />
+    <hkern u1="&#x153;" u2="Y" k="-144" />
+    <hkern u1="&#x153;" u2="X" k="-181" />
+    <hkern u1="&#x153;" u2="W" k="-96" />
+    <hkern u1="&#x153;" u2="V" k="-57" />
+    <hkern u1="&#x153;" u2="U" k="-120" />
+    <hkern u1="&#x153;" u2="T" k="-139" />
+    <hkern u1="&#x153;" u2="S" k="-91" />
+    <hkern u1="&#x153;" u2="R" k="-151" />
+    <hkern u1="&#x153;" u2="Q" k="-175" />
+    <hkern u1="&#x153;" u2="P" k="-159" />
+    <hkern u1="&#x153;" u2="O" k="-176" />
+    <hkern u1="&#x153;" u2="N" k="-37" />
+    <hkern u1="&#x153;" u2="M" k="-73" />
+    <hkern u1="&#x153;" u2="L" k="-52" />
+    <hkern u1="&#x153;" u2="K" k="-212" />
+    <hkern u1="&#x153;" u2="J" k="305" />
+    <hkern u1="&#x153;" u2="I" k="-102" />
+    <hkern u1="&#x153;" u2="H" k="-54" />
+    <hkern u1="&#x153;" u2="G" k="-175" />
+    <hkern u1="&#x153;" u2="F" k="-114" />
+    <hkern u1="&#x153;" u2="E" k="-97" />
+    <hkern u1="&#x153;" u2="D" k="-66" />
+    <hkern u1="&#x153;" u2="C" k="-191" />
+    <hkern u1="&#x153;" u2="B" k="-160" />
+    <hkern u1="&#x153;" u2="A" k="-107" />
+    <hkern u1="&#x153;" u2="&#x40;" k="39" />
+    <hkern u1="&#x153;" u2="&#x3b;" k="58" />
+    <hkern u1="&#x153;" u2="&#x38;" k="-89" />
+    <hkern u1="&#x153;" u2="&#x37;" k="-74" />
+    <hkern u1="&#x153;" u2="&#x36;" k="-152" />
+    <hkern u1="&#x153;" u2="&#x35;" k="-144" />
+    <hkern u1="&#x153;" u2="&#x34;" k="-30" />
+    <hkern u1="&#x153;" u2="&#x33;" k="-195" />
+    <hkern u1="&#x153;" u2="&#x32;" k="-157" />
+    <hkern u1="&#x153;" u2="&#x31;" k="-41" />
+    <hkern u1="&#x153;" u2="&#x30;" k="-156" />
+    <hkern u1="&#x153;" u2="&#x2f;" k="-84" />
+    <hkern u1="&#x153;" u2="&#x2e;" k="-57" />
+    <hkern u1="&#x153;" u2="&#x2d;" k="22" />
+    <hkern u1="&#x153;" u2="&#x2c;" k="40" />
+    <hkern u1="&#x153;" u2="&#x29;" k="31" />
+    <hkern u1="&#x153;" u2="&#x28;" k="-118" />
+    <hkern u1="&#x153;" u2="&#x26;" k="-55" />
+    <hkern u1="&#x153;" u2="&#x25;" k="-101" />
+    <hkern u1="&#x153;" u2="&#x24;" k="-104" />
+    <hkern u1="&#x153;" u2="&#x23;" k="69" />
+    <hkern u1="&#x153;" u2="&#x21;" k="28" />
+    <hkern u1="&#x153;" g2=".notdef" k="-155" />
+    <hkern u1="&#x2013;" u2="&#xc1;" k="-20" />
+    <hkern u1="&#x2013;" u2="&#xc2;" k="-47" />
+    <hkern u1="&#x2013;" u2="&#x2021;" k="-121" />
+    <hkern u1="&#x2013;" u2="&#x203a;" k="-106" />
+    <hkern u1="&#x2013;" u2="&#x2019;" k="-76" />
+    <hkern u1="&#x2013;" u2="&#x2014;" k="-100" />
+    <hkern u1="&#x2013;" u2="&#x2013;" k="-142" />
+    <hkern u1="&#x2013;" u2="&#x153;" k="-123" />
+    <hkern u1="&#x2013;" u2="&#xc0;" k="312" />
+    <hkern u1="&#x2013;" u2="&#xc9;" k="-102" />
+    <hkern u1="&#x2013;" u2="&#x7e;" k="146" />
+    <hkern u1="&#x2013;" u2="z" k="-140" />
+    <hkern u1="&#x2013;" u2="y" k="-100" />
+    <hkern u1="&#x2013;" u2="x" k="-126" />
+    <hkern u1="&#x2013;" u2="w" k="-103" />
+    <hkern u1="&#x2013;" u2="v" k="22" />
+    <hkern u1="&#x2013;" u2="u" k="-141" />
+    <hkern u1="&#x2013;" u2="t" k="51" />
+    <hkern u1="&#x2013;" u2="s" k="-107" />
+    <hkern u1="&#x2013;" u2="r" k="-127" />
+    <hkern u1="&#x2013;" u2="q" k="-148" />
+    <hkern u1="&#x2013;" u2="p" k="-122" />
+    <hkern u1="&#x2013;" u2="o" k="-112" />
+    <hkern u1="&#x2013;" u2="n" k="-165" />
+    <hkern u1="&#x2013;" u2="m" k="-198" />
+    <hkern u1="&#x2013;" u2="l" k="-86" />
+    <hkern u1="&#x2013;" u2="k" k="-124" />
+    <hkern u1="&#x2013;" u2="j" k="56" />
+    <hkern u1="&#x2013;" u2="i" k="-79" />
+    <hkern u1="&#x2013;" u2="h" k="-130" />
+    <hkern u1="&#x2013;" u2="g" k="-105" />
+    <hkern u1="&#x2013;" u2="e" k="-131" />
+    <hkern u1="&#x2013;" u2="d" k="-112" />
+    <hkern u1="&#x2013;" u2="c" k="-118" />
+    <hkern u1="&#x2013;" u2="b" k="-131" />
+    <hkern u1="&#x2013;" u2="a" k="-133" />
+    <hkern u1="&#x2013;" u2="`" k="324" />
+    <hkern u1="&#x2013;" u2="Z" k="-136" />
+    <hkern u1="&#x2013;" u2="Y" k="-21" />
+    <hkern u1="&#x2013;" u2="X" k="-158" />
+    <hkern u1="&#x2013;" u2="W" k="-22" />
+    <hkern u1="&#x2013;" u2="U" k="-75" />
+    <hkern u1="&#x2013;" u2="T" k="263" />
+    <hkern u1="&#x2013;" u2="S" k="-55" />
+    <hkern u1="&#x2013;" u2="R" k="55" />
+    <hkern u1="&#x2013;" u2="Q" k="-118" />
+    <hkern u1="&#x2013;" u2="O" k="-120" />
+    <hkern u1="&#x2013;" u2="N" k="-31" />
+    <hkern u1="&#x2013;" u2="M" k="-55" />
+    <hkern u1="&#x2013;" u2="L" k="-76" />
+    <hkern u1="&#x2013;" u2="K" k="-163" />
+    <hkern u1="&#x2013;" u2="J" k="341" />
+    <hkern u1="&#x2013;" u2="I" k="-46" />
+    <hkern u1="&#x2013;" u2="H" k="-37" />
+    <hkern u1="&#x2013;" u2="G" k="-123" />
+    <hkern u1="&#x2013;" u2="F" k="-31" />
+    <hkern u1="&#x2013;" u2="E" k="-46" />
+    <hkern u1="&#x2013;" u2="D" k="-64" />
+    <hkern u1="&#x2013;" u2="C" k="-144" />
+    <hkern u1="&#x2013;" u2="B" k="-140" />
+    <hkern u1="&#x2013;" u2="A" k="-105" />
+    <hkern u1="&#x2013;" u2="&#x40;" k="75" />
+    <hkern u1="&#x2013;" u2="&#x3f;" k="33" />
+    <hkern u1="&#x2013;" u2="&#x3b;" k="72" />
+    <hkern u1="&#x2013;" u2="&#x39;" k="38" />
+    <hkern u1="&#x2013;" u2="&#x38;" k="-58" />
+    <hkern u1="&#x2013;" u2="&#x37;" k="-50" />
+    <hkern u1="&#x2013;" u2="&#x36;" k="-113" />
+    <hkern u1="&#x2013;" u2="&#x35;" k="-132" />
+    <hkern u1="&#x2013;" u2="&#x33;" k="-135" />
+    <hkern u1="&#x2013;" u2="&#x32;" k="-153" />
+    <hkern u1="&#x2013;" u2="&#x30;" k="-98" />
+    <hkern u1="&#x2013;" u2="&#x2f;" k="-92" />
+    <hkern u1="&#x2013;" u2="&#x2e;" k="-30" />
+    <hkern u1="&#x2013;" u2="&#x2d;" k="42" />
+    <hkern u1="&#x2013;" u2="&#x2c;" k="37" />
+    <hkern u1="&#x2013;" u2="&#x29;" k="35" />
+    <hkern u1="&#x2013;" u2="&#x28;" k="-72" />
+    <hkern u1="&#x2013;" u2="&#x25;" k="-99" />
+    <hkern u1="&#x2013;" u2="&#x23;" k="71" />
+    <hkern u1="&#x2013;" u2="&#x21;" k="66" />
+    <hkern u1="&#x2013;" g2=".notdef" k="-123" />
+    <hkern u1="&#x2014;" u2="&#xd0;" k="-96" />
+    <hkern u1="&#x2014;" u2="&#xc1;" k="124" />
+    <hkern u1="&#x2014;" u2="&#xc2;" k="28" />
+    <hkern u1="&#x2014;" u2="&#x2021;" k="37" />
+    <hkern u1="&#x2014;" u2="&#x203a;" k="-31" />
+    <hkern u1="&#x2014;" u2="&#x2019;" k="-47" />
+    <hkern u1="&#x2014;" u2="&#x2014;" k="-21" />
+    <hkern u1="&#x2014;" u2="&#x2013;" k="-47" />
+    <hkern u1="&#x2014;" u2="&#x153;" k="-31" />
+    <hkern u1="&#x2014;" u2="&#xc0;" k="330" />
+    <hkern u1="&#x2014;" u2="&#xa2;" k="-140" />
+    <hkern u1="&#x2014;" u2="&#xd1;" k="-120" />
+    <hkern u1="&#x2014;" u2="&#xc9;" k="100" />
+    <hkern u1="&#x2014;" u2="&#x7e;" k="144" />
+    <hkern u1="&#x2014;" u2="z" k="-30" />
+    <hkern u1="&#x2014;" u2="y" k="-35" />
+    <hkern u1="&#x2014;" u2="x" k="-30" />
+    <hkern u1="&#x2014;" u2="w" k="-46" />
+    <hkern u1="&#x2014;" u2="v" k="-103" />
+    <hkern u1="&#x2014;" u2="u" k="-61" />
+    <hkern u1="&#x2014;" u2="t" k="-49" />
+    <hkern u1="&#x2014;" u2="s" k="-86" />
+    <hkern u1="&#x2014;" u2="r" k="-79" />
+    <hkern u1="&#x2014;" u2="q" k="-23" />
+    <hkern u1="&#x2014;" u2="p" k="-60" />
+    <hkern u1="&#x2014;" u2="o" k="-44" />
+    <hkern u1="&#x2014;" u2="n" k="-66" />
+    <hkern u1="&#x2014;" u2="m" k="-145" />
+    <hkern u1="&#x2014;" u2="l" k="-137" />
+    <hkern u1="&#x2014;" u2="k" k="-141" />
+    <hkern u1="&#x2014;" u2="j" k="153" />
+    <hkern u1="&#x2014;" u2="i" k="-95" />
+    <hkern u1="&#x2014;" u2="h" k="-100" />
+    <hkern u1="&#x2014;" u2="f" k="-82" />
+    <hkern u1="&#x2014;" u2="e" k="-42" />
+    <hkern u1="&#x2014;" u2="d" k="53" />
+    <hkern u1="&#x2014;" u2="c" k="-44" />
+    <hkern u1="&#x2014;" u2="b" k="-104" />
+    <hkern u1="&#x2014;" u2="`" k="-90" />
+    <hkern u1="&#x2014;" u2="Z" k="-64" />
+    <hkern u1="&#x2014;" u2="Y" k="-205" />
+    <hkern u1="&#x2014;" u2="X" k="-97" />
+    <hkern u1="&#x2014;" u2="W" k="-131" />
+    <hkern u1="&#x2014;" u2="V" k="-118" />
+    <hkern u1="&#x2014;" u2="U" k="-181" />
+    <hkern u1="&#x2014;" u2="T" k="-200" />
+    <hkern u1="&#x2014;" u2="S" k="-105" />
+    <hkern u1="&#x2014;" u2="R" k="-212" />
+    <hkern u1="&#x2014;" u2="Q" k="-124" />
+    <hkern u1="&#x2014;" u2="P" k="-220" />
+    <hkern u1="&#x2014;" u2="O" k="-123" />
+    <hkern u1="&#x2014;" u2="N" k="-98" />
+    <hkern u1="&#x2014;" u2="M" k="-134" />
+    <hkern u1="&#x2014;" u2="L" k="-30" />
+    <hkern u1="&#x2014;" u2="K" k="-204" />
+    <hkern u1="&#x2014;" u2="J" k="229" />
+    <hkern u1="&#x2014;" u2="I" k="-163" />
+    <hkern u1="&#x2014;" u2="H" k="-57" />
+    <hkern u1="&#x2014;" u2="G" k="-119" />
+    <hkern u1="&#x2014;" u2="F" k="-175" />
+    <hkern u1="&#x2014;" u2="E" k="-158" />
+    <hkern u1="&#x2014;" u2="D" k="-127" />
+    <hkern u1="&#x2014;" u2="C" k="-112" />
+    <hkern u1="&#x2014;" u2="B" k="-127" />
+    <hkern u1="&#x2014;" u2="A" k="-52" />
+    <hkern u1="&#x2014;" u2="&#x40;" k="-26" />
+    <hkern u1="&#x2014;" u2="&#x3f;" k="-47" />
+    <hkern u1="&#x2014;" u2="&#x3b;" k="188" />
+    <hkern u1="&#x2014;" u2="&#x3a;" k="101" />
+    <hkern u1="&#x2014;" u2="&#x39;" k="-74" />
+    <hkern u1="&#x2014;" u2="&#x38;" k="-109" />
+    <hkern u1="&#x2014;" u2="&#x37;" k="-122" />
+    <hkern u1="&#x2014;" u2="&#x36;" k="-65" />
+    <hkern u1="&#x2014;" u2="&#x35;" k="-92" />
+    <hkern u1="&#x2014;" u2="&#x34;" k="-69" />
+    <hkern u1="&#x2014;" u2="&#x32;" k="-55" />
+    <hkern u1="&#x2014;" u2="&#x31;" k="-94" />
+    <hkern u1="&#x2014;" u2="&#x30;" k="-122" />
+    <hkern u1="&#x2014;" u2="&#x2f;" k="114" />
+    <hkern u1="&#x2014;" u2="&#x2e;" k="174" />
+    <hkern u1="&#x2014;" u2="&#x2d;" k="-72" />
+    <hkern u1="&#x2014;" u2="&#x2c;" k="240" />
+    <hkern u1="&#x2014;" u2="&#x29;" k="103" />
+    <hkern u1="&#x2014;" u2="&#x28;" k="-59" />
+    <hkern u1="&#x2014;" u2="&#x26;" k="52" />
+    <hkern u1="&#x2014;" u2="&#x25;" k="97" />
+    <hkern u1="&#x2014;" u2="&#x24;" k="-172" />
+    <hkern u1="&#x2014;" u2="&#x21;" k="-33" />
+    <hkern u1="&#x2014;" g2=".notdef" k="-26" />
+    <hkern u1="&#x2019;" u2="&#xd0;" k="33" />
+    <hkern u1="&#x2019;" u2="&#x2021;" k="-98" />
+    <hkern u1="&#x2019;" u2="&#x203a;" k="-56" />
+    <hkern u1="&#x2019;" u2="&#x2019;" k="-32" />
+    <hkern u1="&#x2019;" u2="&#x2014;" k="-48" />
+    <hkern u1="&#x2019;" u2="&#x2013;" k="-121" />
+    <hkern u1="&#x2019;" u2="&#x153;" k="-88" />
+    <hkern u1="&#x2019;" u2="&#xc0;" k="256" />
+    <hkern u1="&#x2019;" u2="&#xa2;" k="-244" />
+    <hkern u1="&#x2019;" u2="&#xc9;" k="71" />
+    <hkern u1="&#x2019;" u2="z" k="-92" />
+    <hkern u1="&#x2019;" u2="y" k="105" />
+    <hkern u1="&#x2019;" u2="x" k="-106" />
+    <hkern u1="&#x2019;" u2="w" k="-64" />
+    <hkern u1="&#x2019;" u2="v" k="-35" />
+    <hkern u1="&#x2019;" u2="u" k="-105" />
+    <hkern u1="&#x2019;" u2="s" k="-67" />
+    <hkern u1="&#x2019;" u2="r" k="-101" />
+    <hkern u1="&#x2019;" u2="q" k="-77" />
+    <hkern u1="&#x2019;" u2="p" k="-99" />
+    <hkern u1="&#x2019;" u2="o" k="-57" />
+    <hkern u1="&#x2019;" u2="n" k="-134" />
+    <hkern u1="&#x2019;" u2="m" k="-165" />
+    <hkern u1="&#x2019;" u2="l" k="-234" />
+    <hkern u1="&#x2019;" u2="k" k="-239" />
+    <hkern u1="&#x2019;" u2="j" k="-112" />
+    <hkern u1="&#x2019;" u2="i" k="-193" />
+    <hkern u1="&#x2019;" u2="h" k="-200" />
+    <hkern u1="&#x2019;" u2="g" k="40" />
+    <hkern u1="&#x2019;" u2="f" k="-84" />
+    <hkern u1="&#x2019;" u2="e" k="-76" />
+    <hkern u1="&#x2019;" u2="d" k="-90" />
+    <hkern u1="&#x2019;" u2="c" k="-59" />
+    <hkern u1="&#x2019;" u2="b" k="-198" />
+    <hkern u1="&#x2019;" u2="a" k="-108" />
+    <hkern u1="&#x2019;" u2="`" k="-211" />
+    <hkern u1="&#x2019;" u2="Z" k="-162" />
+    <hkern u1="&#x2019;" u2="Y" k="-298" />
+    <hkern u1="&#x2019;" u2="X" k="-184" />
+    <hkern u1="&#x2019;" u2="W" k="-204" />
+    <hkern u1="&#x2019;" u2="V" k="-234" />
+    <hkern u1="&#x2019;" u2="U" k="-284" />
+    <hkern u1="&#x2019;" u2="T" k="-295" />
+    <hkern u1="&#x2019;" u2="S" k="-144" />
+    <hkern u1="&#x2019;" u2="R" k="-325" />
+    <hkern u1="&#x2019;" u2="Q" k="-210" />
+    <hkern u1="&#x2019;" u2="P" k="-323" />
+    <hkern u1="&#x2019;" u2="O" k="-209" />
+    <hkern u1="&#x2019;" u2="N" k="-217" />
+    <hkern u1="&#x2019;" u2="M" k="-252" />
+    <hkern u1="&#x2019;" u2="L" k="-133" />
+    <hkern u1="&#x2019;" u2="K" k="-301" />
+    <hkern u1="&#x2019;" u2="J" k="-37" />
+    <hkern u1="&#x2019;" u2="I" k="-86" />
+    <hkern u1="&#x2019;" u2="H" k="-133" />
+    <hkern u1="&#x2019;" u2="G" k="-151" />
+    <hkern u1="&#x2019;" u2="F" k="-293" />
+    <hkern u1="&#x2019;" u2="E" k="-279" />
+    <hkern u1="&#x2019;" u2="D" k="-258" />
+    <hkern u1="&#x2019;" u2="C" k="-97" />
+    <hkern u1="&#x2019;" u2="B" k="-211" />
+    <hkern u1="&#x2019;" u2="A" k="-110" />
+    <hkern u1="&#x2019;" u2="&#x40;" k="64" />
+    <hkern u1="&#x2019;" u2="&#x3f;" k="-172" />
+    <hkern u1="&#x2019;" u2="&#x3b;" k="76" />
+    <hkern u1="&#x2019;" u2="&#x3a;" k="60" />
+    <hkern u1="&#x2019;" u2="&#x39;" k="-141" />
+    <hkern u1="&#x2019;" u2="&#x38;" k="-148" />
+    <hkern u1="&#x2019;" u2="&#x37;" k="-112" />
+    <hkern u1="&#x2019;" u2="&#x36;" k="-77" />
+    <hkern u1="&#x2019;" u2="&#x35;" k="-206" />
+    <hkern u1="&#x2019;" u2="&#x34;" k="-103" />
+    <hkern u1="&#x2019;" u2="&#x33;" k="-115" />
+    <hkern u1="&#x2019;" u2="&#x32;" k="-196" />
+    <hkern u1="&#x2019;" u2="&#x31;" k="-211" />
+    <hkern u1="&#x2019;" u2="&#x30;" k="-197" />
+    <hkern u1="&#x2019;" u2="&#x2f;" k="-94" />
+    <hkern u1="&#x2019;" u2="&#x2e;" k="143" />
+    <hkern u1="&#x2019;" u2="&#x2d;" k="57" />
+    <hkern u1="&#x2019;" u2="&#x28;" k="-122" />
+    <hkern u1="&#x2019;" u2="&#x25;" k="-109" />
+    <hkern u1="&#x2019;" u2="&#x24;" k="-274" />
+    <hkern u1="&#x2019;" u2="&#x23;" k="-61" />
+    <hkern u1="&#x2019;" u2="&#x21;" k="-131" />
+    <hkern u1="&#x2019;" g2=".notdef" k="-71" />
+    <hkern u1="&#x203a;" u2="&#xd0;" k="-96" />
+    <hkern u1="&#x203a;" u2="&#xc1;" k="124" />
+    <hkern u1="&#x203a;" u2="&#xc2;" k="28" />
+    <hkern u1="&#x203a;" u2="&#x2021;" k="30" />
+    <hkern u1="&#x203a;" u2="&#x203a;" k="-35" />
+    <hkern u1="&#x203a;" u2="&#x2019;" k="-51" />
+    <hkern u1="&#x203a;" u2="&#x2014;" k="-28" />
+    <hkern u1="&#x203a;" u2="&#x2013;" k="-53" />
+    <hkern u1="&#x203a;" u2="&#x153;" k="-39" />
+    <hkern u1="&#x203a;" u2="&#xc0;" k="330" />
+    <hkern u1="&#x203a;" u2="&#xa2;" k="-143" />
+    <hkern u1="&#x203a;" u2="&#xd1;" k="-120" />
+    <hkern u1="&#x203a;" u2="&#xc9;" k="100" />
+    <hkern u1="&#x203a;" u2="&#x7e;" k="40" />
+    <hkern u1="&#x203a;" u2="z" k="-30" />
+    <hkern u1="&#x203a;" u2="y" k="-38" />
+    <hkern u1="&#x203a;" u2="x" k="-70" />
+    <hkern u1="&#x203a;" u2="w" k="-50" />
+    <hkern u1="&#x203a;" u2="v" k="-103" />
+    <hkern u1="&#x203a;" u2="u" k="-61" />
+    <hkern u1="&#x203a;" u2="t" k="-55" />
+    <hkern u1="&#x203a;" u2="s" k="-86" />
+    <hkern u1="&#x203a;" u2="r" k="-79" />
+    <hkern u1="&#x203a;" u2="q" k="-27" />
+    <hkern u1="&#x203a;" u2="p" k="-60" />
+    <hkern u1="&#x203a;" u2="o" k="-44" />
+    <hkern u1="&#x203a;" u2="n" k="-66" />
+    <hkern u1="&#x203a;" u2="m" k="-145" />
+    <hkern u1="&#x203a;" u2="l" k="-107" />
+    <hkern u1="&#x203a;" u2="k" k="-117" />
+    <hkern u1="&#x203a;" u2="j" k="148" />
+    <hkern u1="&#x203a;" u2="i" k="-56" />
+    <hkern u1="&#x203a;" u2="h" k="-79" />
+    <hkern u1="&#x203a;" u2="f" k="-83" />
+    <hkern u1="&#x203a;" u2="e" k="-42" />
+    <hkern u1="&#x203a;" u2="d" k="45" />
+    <hkern u1="&#x203a;" u2="c" k="-44" />
+    <hkern u1="&#x203a;" u2="b" k="-106" />
+    <hkern u1="&#x203a;" u2="`" k="29" />
+    <hkern u1="&#x203a;" u2="Z" k="41" />
+    <hkern u1="&#x203a;" u2="Y" k="54" />
+    <hkern u1="&#x203a;" u2="W" k="-137" />
+    <hkern u1="&#x203a;" u2="V" k="-145" />
+    <hkern u1="&#x203a;" u2="U" k="-150" />
+    <hkern u1="&#x203a;" u2="T" k="58" />
+    <hkern u1="&#x203a;" u2="S" k="-106" />
+    <hkern u1="&#x203a;" u2="R" k="-192" />
+    <hkern u1="&#x203a;" u2="Q" k="-126" />
+    <hkern u1="&#x203a;" u2="P" k="-189" />
+    <hkern u1="&#x203a;" u2="O" k="-125" />
+    <hkern u1="&#x203a;" u2="N" k="-147" />
+    <hkern u1="&#x203a;" u2="M" k="-175" />
+    <hkern u1="&#x203a;" u2="K" k="-178" />
+    <hkern u1="&#x203a;" u2="J" k="229" />
+    <hkern u1="&#x203a;" u2="I" k="105" />
+    <hkern u1="&#x203a;" u2="H" k="-58" />
+    <hkern u1="&#x203a;" u2="G" k="-122" />
+    <hkern u1="&#x203a;" u2="F" k="-179" />
+    <hkern u1="&#x203a;" u2="E" k="-187" />
+    <hkern u1="&#x203a;" u2="D" k="-194" />
+    <hkern u1="&#x203a;" u2="C" k="-116" />
+    <hkern u1="&#x203a;" u2="B" k="-160" />
+    <hkern u1="&#x203a;" u2="A" k="-57" />
+    <hkern u1="&#x203a;" u2="&#x40;" k="-32" />
+    <hkern u1="&#x203a;" u2="&#x3f;" k="-97" />
+    <hkern u1="&#x203a;" u2="&#x3b;" k="188" />
+    <hkern u1="&#x203a;" u2="&#x3a;" k="101" />
+    <hkern u1="&#x203a;" u2="&#x39;" k="-75" />
+    <hkern u1="&#x203a;" u2="&#x38;" k="-112" />
+    <hkern u1="&#x203a;" u2="&#x37;" k="93" />
+    <hkern u1="&#x203a;" u2="&#x36;" k="-70" />
+    <hkern u1="&#x203a;" u2="&#x35;" k="-91" />
+    <hkern u1="&#x203a;" u2="&#x34;" k="-69" />
+    <hkern u1="&#x203a;" u2="&#x32;" k="-153" />
+    <hkern u1="&#x203a;" u2="&#x31;" k="-92" />
+    <hkern u1="&#x203a;" u2="&#x30;" k="-125" />
+    <hkern u1="&#x203a;" u2="&#x2f;" k="105" />
+    <hkern u1="&#x203a;" u2="&#x2e;" k="174" />
+    <hkern u1="&#x203a;" u2="&#x2d;" k="-72" />
+    <hkern u1="&#x203a;" u2="&#x2c;" k="240" />
+    <hkern u1="&#x203a;" u2="&#x29;" k="183" />
+    <hkern u1="&#x203a;" u2="&#x28;" k="-62" />
+    <hkern u1="&#x203a;" u2="&#x26;" k="48" />
+    <hkern u1="&#x203a;" u2="&#x25;" k="94" />
+    <hkern u1="&#x203a;" u2="&#x24;" k="-163" />
+    <hkern u1="&#x203a;" u2="&#x23;" k="-50" />
+    <hkern u1="&#x203a;" g2=".notdef" k="-33" />
+    <hkern u1="&#x2021;" u2="&#xd0;" k="-66" />
+    <hkern u1="&#x2021;" u2="&#xc1;" k="-26" />
+    <hkern u1="&#x2021;" u2="&#xc2;" k="-85" />
+    <hkern u1="&#x2021;" u2="&#x2021;" k="-144" />
+    <hkern u1="&#x2021;" u2="&#x203a;" k="-152" />
+    <hkern u1="&#x2021;" u2="&#x2019;" k="-124" />
+    <hkern u1="&#x2021;" u2="&#x2014;" k="-143" />
+    <hkern u1="&#x2021;" u2="&#x2013;" k="-172" />
+    <hkern u1="&#x2021;" u2="&#x153;" k="-157" />
+    <hkern u1="&#x2021;" u2="&#xc0;" k="230" />
+    <hkern u1="&#x2021;" u2="&#xa2;" k="-171" />
+    <hkern u1="&#x2021;" u2="&#xd1;" k="-91" />
+    <hkern u1="&#x2021;" u2="&#xc9;" k="-141" />
+    <hkern u1="&#x2021;" u2="&#x7e;" k="73" />
+    <hkern u1="&#x2021;" u2="z" k="-168" />
+    <hkern u1="&#x2021;" u2="y" k="-147" />
+    <hkern u1="&#x2021;" u2="x" k="-149" />
+    <hkern u1="&#x2021;" u2="w" k="-149" />
+    <hkern u1="&#x2021;" u2="v" k="-114" />
+    <hkern u1="&#x2021;" u2="u" k="-189" />
+    <hkern u1="&#x2021;" u2="t" k="-29" />
+    <hkern u1="&#x2021;" u2="s" k="-150" />
+    <hkern u1="&#x2021;" u2="r" k="-170" />
+    <hkern u1="&#x2021;" u2="q" k="-189" />
+    <hkern u1="&#x2021;" u2="p" k="-163" />
+    <hkern u1="&#x2021;" u2="o" k="-168" />
+    <hkern u1="&#x2021;" u2="n" k="-193" />
+    <hkern u1="&#x2021;" u2="m" k="-239" />
+    <hkern u1="&#x2021;" u2="l" k="-193" />
+    <hkern u1="&#x2021;" u2="k" k="-195" />
+    <hkern u1="&#x2021;" u2="j" k="26" />
+    <hkern u1="&#x2021;" u2="i" k="-132" />
+    <hkern u1="&#x2021;" u2="h" k="-170" />
+    <hkern u1="&#x2021;" u2="g" k="-152" />
+    <hkern u1="&#x2021;" u2="f" k="-60" />
+    <hkern u1="&#x2021;" u2="e" k="-186" />
+    <hkern u1="&#x2021;" u2="d" k="-129" />
+    <hkern u1="&#x2021;" u2="c" k="-178" />
+    <hkern u1="&#x2021;" u2="b" k="-192" />
+    <hkern u1="&#x2021;" u2="a" k="-170" />
+    <hkern u1="&#x2021;" u2="`" k="-121" />
+    <hkern u1="&#x2021;" u2="Z" k="-166" />
+    <hkern u1="&#x2021;" u2="Y" k="-248" />
+    <hkern u1="&#x2021;" u2="X" k="-193" />
+    <hkern u1="&#x2021;" u2="W" k="-153" />
+    <hkern u1="&#x2021;" u2="V" k="-133" />
+    <hkern u1="&#x2021;" u2="U" k="-207" />
+    <hkern u1="&#x2021;" u2="T" k="-242" />
+    <hkern u1="&#x2021;" u2="S" k="-107" />
+    <hkern u1="&#x2021;" u2="R" k="-228" />
+    <hkern u1="&#x2021;" u2="Q" k="-180" />
+    <hkern u1="&#x2021;" u2="P" k="-241" />
+    <hkern u1="&#x2021;" u2="O" k="-181" />
+    <hkern u1="&#x2021;" u2="N" k="-123" />
+    <hkern u1="&#x2021;" u2="M" k="-134" />
+    <hkern u1="&#x2021;" u2="L" k="-95" />
+    <hkern u1="&#x2021;" u2="K" k="-255" />
+    <hkern u1="&#x2021;" u2="J" k="-144" />
+    <hkern u1="&#x2021;" u2="I" k="-251" />
+    <hkern u1="&#x2021;" u2="H" k="-115" />
+    <hkern u1="&#x2021;" u2="G" k="-180" />
+    <hkern u1="&#x2021;" u2="F" k="-161" />
+    <hkern u1="&#x2021;" u2="E" k="-139" />
+    <hkern u1="&#x2021;" u2="D" k="-101" />
+    <hkern u1="&#x2021;" u2="C" k="-196" />
+    <hkern u1="&#x2021;" u2="B" k="-172" />
+    <hkern u1="&#x2021;" u2="A" k="-111" />
+    <hkern u1="&#x2021;" u2="&#x3f;" k="-35" />
+    <hkern u1="&#x2021;" u2="&#x3b;" k="59" />
+    <hkern u1="&#x2021;" u2="&#x39;" k="-67" />
+    <hkern u1="&#x2021;" u2="&#x38;" k="-130" />
+    <hkern u1="&#x2021;" u2="&#x37;" k="-219" />
+    <hkern u1="&#x2021;" u2="&#x36;" k="-157" />
+    <hkern u1="&#x2021;" u2="&#x35;" k="-150" />
+    <hkern u1="&#x2021;" u2="&#x34;" k="-60" />
+    <hkern u1="&#x2021;" u2="&#x33;" k="-204" />
+    <hkern u1="&#x2021;" u2="&#x32;" k="-162" />
+    <hkern u1="&#x2021;" u2="&#x31;" k="-113" />
+    <hkern u1="&#x2021;" u2="&#x30;" k="-161" />
+    <hkern u1="&#x2021;" u2="&#x2f;" k="-87" />
+    <hkern u1="&#x2021;" u2="&#x2e;" k="-68" />
+    <hkern u1="&#x2021;" u2="&#x2d;" k="-42" />
+    <hkern u1="&#x2021;" u2="&#x2c;" k="45" />
+    <hkern u1="&#x2021;" u2="&#x28;" k="-123" />
+    <hkern u1="&#x2021;" u2="&#x26;" k="-60" />
+    <hkern u1="&#x2021;" u2="&#x25;" k="-106" />
+    <hkern u1="&#x2021;" u2="&#x24;" k="-201" />
+    <hkern u1="&#x2021;" u2="&#x21;" k="-84" />
+    <hkern u1="&#x2021;" g2=".notdef" k="-163" />
+    <hkern u1="&#xc2;" u2="&#xc1;" k="89" />
+    <hkern u1="&#xc2;" u2="&#xc2;" k="96" />
+    <hkern u1="&#xc2;" u2="&#x203a;" k="36" />
+    <hkern u1="&#xc2;" u2="&#x2014;" k="36" />
+    <hkern u1="&#xc2;" u2="&#x2013;" k="-21" />
+    <hkern u1="&#xc2;" u2="&#xc0;" k="246" />
+    <hkern u1="&#xc2;" u2="&#xa2;" k="-83" />
+    <hkern u1="&#xc2;" u2="&#xd1;" k="-26" />
+    <hkern u1="&#xc2;" u2="&#xc9;" k="101" />
+    <hkern u1="&#xc2;" u2="&#x7e;" k="366" />
+    <hkern u1="&#xc2;" u2="y" k="92" />
+    <hkern u1="&#xc2;" u2="x" k="-22" />
+    <hkern u1="&#xc2;" u2="v" k="-65" />
+    <hkern u1="&#xc2;" u2="t" k="23" />
+    <hkern u1="&#xc2;" u2="r" k="-48" />
+    <hkern u1="&#xc2;" u2="o" k="36" />
+    <hkern u1="&#xc2;" u2="n" k="-26" />
+    <hkern u1="&#xc2;" u2="m" k="-74" />
+    <hkern u1="&#xc2;" u2="l" k="-25" />
+    <hkern u1="&#xc2;" u2="k" k="-42" />
+    <hkern u1="&#xc2;" u2="j" k="-122" />
+    <hkern u1="&#xc2;" u2="g" k="51" />
+    <hkern u1="&#xc2;" u2="c" k="27" />
+    <hkern u1="&#xc2;" u2="b" k="-33" />
+    <hkern u1="&#xc2;" u2="`" k="350" />
+    <hkern u1="&#xc2;" u2="Z" k="-30" />
+    <hkern u1="&#xc2;" u2="Y" k="222" />
+    <hkern u1="&#xc2;" u2="X" k="-51" />
+    <hkern u1="&#xc2;" u2="W" k="-101" />
+    <hkern u1="&#xc2;" u2="V" k="243" />
+    <hkern u1="&#xc2;" u2="U" k="43" />
+    <hkern u1="&#xc2;" u2="T" k="228" />
+    <hkern u1="&#xc2;" u2="S" k="-51" />
+    <hkern u1="&#xc2;" u2="R" k="190" />
+    <hkern u1="&#xc2;" u2="Q" k="-47" />
+    <hkern u1="&#xc2;" u2="P" k="193" />
+    <hkern u1="&#xc2;" u2="O" k="-51" />
+    <hkern u1="&#xc2;" u2="N" k="209" />
+    <hkern u1="&#xc2;" u2="M" k="198" />
+    <hkern u1="&#xc2;" u2="L" k="-56" />
+    <hkern u1="&#xc2;" u2="K" k="-100" />
+    <hkern u1="&#xc2;" u2="J" k="-42" />
+    <hkern u1="&#xc2;" u2="H" k="-80" />
+    <hkern u1="&#xc2;" u2="G" k="-48" />
+    <hkern u1="&#xc2;" u2="F" k="-26" />
+    <hkern u1="&#xc2;" u2="E" k="201" />
+    <hkern u1="&#xc2;" u2="D" k="182" />
+    <hkern u1="&#xc2;" u2="C" k="-39" />
+    <hkern u1="&#xc2;" u2="B" k="157" />
+    <hkern u1="&#xc2;" u2="A" k="-54" />
+    <hkern u1="&#xc2;" u2="&#x40;" k="38" />
+    <hkern u1="&#xc2;" u2="&#x3f;" k="276" />
+    <hkern u1="&#xc2;" u2="&#x3b;" k="99" />
+    <hkern u1="&#xc2;" u2="&#x3a;" k="176" />
+    <hkern u1="&#xc2;" u2="&#x38;" k="-81" />
+    <hkern u1="&#xc2;" u2="&#x37;" k="43" />
+    <hkern u1="&#xc2;" u2="&#x35;" k="-25" />
+    <hkern u1="&#xc2;" u2="&#x32;" k="-57" />
+    <hkern u1="&#xc2;" u2="&#x31;" k="-31" />
+    <hkern u1="&#xc2;" u2="&#x30;" k="-59" />
+    <hkern u1="&#xc2;" u2="&#x2f;" k="-50" />
+    <hkern u1="&#xc2;" u2="&#x2e;" k="173" />
+    <hkern u1="&#xc2;" u2="&#x2d;" k="22" />
+    <hkern u1="&#xc2;" u2="&#x2c;" k="77" />
+    <hkern u1="&#xc2;" u2="&#x29;" k="60" />
+    <hkern u1="&#xc2;" u2="&#x26;" k="120" />
+    <hkern u1="&#xc2;" u2="&#x25;" k="-50" />
+    <hkern u1="&#xc2;" u2="&#x23;" k="58" />
+    <hkern u1="&#xc2;" u2="&#x21;" k="68" />
+    <hkern u1="&#xc1;" u2="&#xd0;" k="-78" />
+    <hkern u1="&#xc1;" u2="&#xc1;" k="125" />
+    <hkern u1="&#xc1;" u2="&#xc2;" k="37" />
+    <hkern u1="&#xc1;" u2="&#x2021;" k="-27" />
+    <hkern u1="&#xc1;" u2="&#x203a;" k="-45" />
+    <hkern u1="&#xc1;" u2="&#x2019;" k="-49" />
+    <hkern u1="&#xc1;" u2="&#x2014;" k="-45" />
+    <hkern u1="&#xc1;" u2="&#x2013;" k="-59" />
+    <hkern u1="&#xc1;" u2="&#x153;" k="-58" />
+    <hkern u1="&#xc1;" u2="&#xc0;" k="-45" />
+    <hkern u1="&#xc1;" u2="&#xa2;" k="264" />
+    <hkern u1="&#xc1;" u2="&#xd1;" k="-122" />
+    <hkern u1="&#xc1;" u2="&#xc9;" k="79" />
+    <hkern u1="&#xc1;" u2="&#x7e;" k="402" />
+    <hkern u1="&#xc1;" u2="y" k="-107" />
+    <hkern u1="&#xc1;" u2="w" k="-67" />
+    <hkern u1="&#xc1;" u2="u" k="-58" />
+    <hkern u1="&#xc1;" u2="t" k="-29" />
+    <hkern u1="&#xc1;" u2="s" k="-72" />
+    <hkern u1="&#xc1;" u2="r" k="-58" />
+    <hkern u1="&#xc1;" u2="q" k="-21" />
+    <hkern u1="&#xc1;" u2="p" k="-43" />
+    <hkern u1="&#xc1;" u2="o" k="-45" />
+    <hkern u1="&#xc1;" u2="n" k="-59" />
+    <hkern u1="&#xc1;" u2="m" k="-129" />
+    <hkern u1="&#xc1;" u2="l" k="-51" />
+    <hkern u1="&#xc1;" u2="k" k="-82" />
+    <hkern u1="&#xc1;" u2="j" k="-366" />
+    <hkern u1="&#xc1;" u2="i" k="-49" />
+    <hkern u1="&#xc1;" u2="h" k="-63" />
+    <hkern u1="&#xc1;" u2="f" k="-80" />
+    <hkern u1="&#xc1;" u2="e" k="-56" />
+    <hkern u1="&#xc1;" u2="c" k="-47" />
+    <hkern u1="&#xc1;" u2="b" k="-91" />
+    <hkern u1="&#xc1;" u2="a" k="-27" />
+    <hkern u1="&#xc1;" u2="`" k="385" />
+    <hkern u1="&#xc1;" u2="Y" k="46" />
+    <hkern u1="&#xc1;" u2="X" k="-31" />
+    <hkern u1="&#xc1;" u2="W" k="221" />
+    <hkern u1="&#xc1;" u2="V" k="281" />
+    <hkern u1="&#xc1;" u2="U" k="25" />
+    <hkern u1="&#xc1;" u2="T" k="263" />
+    <hkern u1="&#xc1;" u2="S" k="88" />
+    <hkern u1="&#xc1;" u2="R" k="222" />
+    <hkern u1="&#xc1;" u2="Q" k="-100" />
+    <hkern u1="&#xc1;" u2="P" k="227" />
+    <hkern u1="&#xc1;" u2="O" k="-107" />
+    <hkern u1="&#xc1;" u2="N" k="239" />
+    <hkern u1="&#xc1;" u2="M" k="233" />
+    <hkern u1="&#xc1;" u2="K" k="-130" />
+    <hkern u1="&#xc1;" u2="J" k="-285" />
+    <hkern u1="&#xc1;" u2="I" k="69" />
+    <hkern u1="&#xc1;" u2="H" k="-46" />
+    <hkern u1="&#xc1;" u2="G" k="-79" />
+    <hkern u1="&#xc1;" u2="F" k="-91" />
+    <hkern u1="&#xc1;" u2="E" k="-22" />
+    <hkern u1="&#xc1;" u2="D" k="42" />
+    <hkern u1="&#xc1;" u2="C" k="-110" />
+    <hkern u1="&#xc1;" u2="A" k="-68" />
+    <hkern u1="&#xc1;" u2="&#x3f;" k="306" />
+    <hkern u1="&#xc1;" u2="&#x3b;" k="163" />
+    <hkern u1="&#xc1;" u2="&#x3a;" k="178" />
+    <hkern u1="&#xc1;" u2="&#x39;" k="-25" />
+    <hkern u1="&#xc1;" u2="&#x38;" k="241" />
+    <hkern u1="&#xc1;" u2="&#x37;" k="56" />
+    <hkern u1="&#xc1;" u2="&#x36;" k="-65" />
+    <hkern u1="&#xc1;" u2="&#x35;" k="-47" />
+    <hkern u1="&#xc1;" u2="&#x33;" k="-42" />
+    <hkern u1="&#xc1;" u2="&#x32;" k="-20" />
+    <hkern u1="&#xc1;" u2="&#x31;" k="36" />
+    <hkern u1="&#xc1;" u2="&#x30;" k="-98" />
+    <hkern u1="&#xc1;" u2="&#x2e;" k="152" />
+    <hkern u1="&#xc1;" u2="&#x2d;" k="-61" />
+    <hkern u1="&#xc1;" u2="&#x2c;" k="150" />
+    <hkern u1="&#xc1;" u2="&#x29;" k="111" />
+    <hkern u1="&#xc1;" u2="&#x28;" k="-40" />
+    <hkern u1="&#xc1;" u2="&#x26;" k="51" />
+    <hkern u1="&#xc1;" u2="&#x24;" k="29" />
+    <hkern u1="&#xc1;" u2="&#x23;" k="342" />
+    <hkern u1="&#xc1;" u2="&#x21;" k="44" />
+    <hkern u1="&#xc1;" g2=".notdef" k="-56" />
+    <hkern u1="&#xd0;" u2="&#xd0;" k="-103" />
+    <hkern u1="&#xd0;" u2="&#xc1;" k="107" />
+    <hkern u1="&#xd0;" u2="&#x2021;" k="46" />
+    <hkern u1="&#xd0;" u2="&#x203a;" k="-64" />
+    <hkern u1="&#xd0;" u2="&#x2019;" k="-92" />
+    <hkern u1="&#xd0;" u2="&#x2014;" k="-64" />
+    <hkern u1="&#xd0;" u2="&#x2013;" k="-87" />
+    <hkern u1="&#xd0;" u2="&#x153;" k="-83" />
+    <hkern u1="&#xd0;" u2="&#xc0;" k="284" />
+    <hkern u1="&#xd0;" u2="&#xa2;" k="-104" />
+    <hkern u1="&#xd0;" u2="&#xd1;" k="-147" />
+    <hkern u1="&#xd0;" u2="&#xc9;" k="838" />
+    <hkern u1="&#xd0;" u2="&#x7e;" k="577" />
+    <hkern u1="&#xd0;" u2="z" k="255" />
+    <hkern u1="&#xd0;" u2="y" k="-74" />
+    <hkern u1="&#xd0;" u2="x" k="61" />
+    <hkern u1="&#xd0;" u2="w" k="-103" />
+    <hkern u1="&#xd0;" u2="v" k="-97" />
+    <hkern u1="&#xd0;" u2="u" k="-83" />
+    <hkern u1="&#xd0;" u2="t" k="-109" />
+    <hkern u1="&#xd0;" u2="s" k="-138" />
+    <hkern u1="&#xd0;" u2="r" k="-102" />
+    <hkern u1="&#xd0;" u2="p" k="-81" />
+    <hkern u1="&#xd0;" u2="o" k="-64" />
+    <hkern u1="&#xd0;" u2="n" k="-87" />
+    <hkern u1="&#xd0;" u2="m" k="-167" />
+    <hkern u1="&#xd0;" u2="l" k="-101" />
+    <hkern u1="&#xd0;" u2="k" k="-135" />
+    <hkern u1="&#xd0;" u2="j" k="60" />
+    <hkern u1="&#xd0;" u2="i" k="-92" />
+    <hkern u1="&#xd0;" u2="h" k="-100" />
+    <hkern u1="&#xd0;" u2="f" k="-67" />
+    <hkern u1="&#xd0;" u2="e" k="-49" />
+    <hkern u1="&#xd0;" u2="d" k="47" />
+    <hkern u1="&#xd0;" u2="c" k="-52" />
+    <hkern u1="&#xd0;" u2="b" k="-135" />
+    <hkern u1="&#xd0;" u2="a" k="46" />
+    <hkern u1="&#xd0;" u2="`" k="474" />
+    <hkern u1="&#xd0;" u2="Z" k="151" />
+    <hkern u1="&#xd0;" u2="Y" k="36" />
+    <hkern u1="&#xd0;" u2="X" k="54" />
+    <hkern u1="&#xd0;" u2="W" k="184" />
+    <hkern u1="&#xd0;" u2="V" k="251" />
+    <hkern u1="&#xd0;" u2="T" k="243" />
+    <hkern u1="&#xd0;" u2="S" k="-71" />
+    <hkern u1="&#xd0;" u2="R" k="62" />
+    <hkern u1="&#xd0;" u2="Q" k="-157" />
+    <hkern u1="&#xd0;" u2="O" k="-157" />
+    <hkern u1="&#xd0;" u2="N" k="121" />
+    <hkern u1="&#xd0;" u2="M" k="112" />
+    <hkern u1="&#xd0;" u2="L" k="63" />
+    <hkern u1="&#xd0;" u2="K" k="-179" />
+    <hkern u1="&#xd0;" u2="J" k="366" />
+    <hkern u1="&#xd0;" u2="I" k="112" />
+    <hkern u1="&#xd0;" u2="H" k="-97" />
+    <hkern u1="&#xd0;" u2="G" k="-155" />
+    <hkern u1="&#xd0;" u2="F" k="-135" />
+    <hkern u1="&#xd0;" u2="E" k="-94" />
+    <hkern u1="&#xd0;" u2="C" k="-149" />
+    <hkern u1="&#xd0;" u2="B" k="-41" />
+    <hkern u1="&#xd0;" u2="A" k="50" />
+    <hkern u1="&#xd0;" u2="&#x40;" k="-72" />
+    <hkern u1="&#xd0;" u2="&#x3f;" k="144" />
+    <hkern u1="&#xd0;" u2="&#x3b;" k="192" />
+    <hkern u1="&#xd0;" u2="&#x3a;" k="85" />
+    <hkern u1="&#xd0;" u2="&#x39;" k="-122" />
+    <hkern u1="&#xd0;" u2="&#x38;" k="85" />
+    <hkern u1="&#xd0;" u2="&#x37;" k="89" />
+    <hkern u1="&#xd0;" u2="&#x36;" k="-101" />
+    <hkern u1="&#xd0;" u2="&#x35;" k="-165" />
+    <hkern u1="&#xd0;" u2="&#x34;" k="-110" />
+    <hkern u1="&#xd0;" u2="&#x33;" k="97" />
+    <hkern u1="&#xd0;" u2="&#x32;" k="269" />
+    <hkern u1="&#xd0;" u2="&#x30;" k="-155" />
+    <hkern u1="&#xd0;" u2="&#x2f;" k="148" />
+    <hkern u1="&#xd0;" u2="&#x2e;" k="279" />
+    <hkern u1="&#xd0;" u2="&#x2d;" k="-79" />
+    <hkern u1="&#xd0;" u2="&#x2c;" k="348" />
+    <hkern u1="&#xd0;" u2="&#x29;" k="214" />
+    <hkern u1="&#xd0;" u2="&#x28;" k="-92" />
+    <hkern u1="&#xd0;" u2="&#x26;" k="66" />
+    <hkern u1="&#xd0;" u2="&#x25;" k="148" />
+    <hkern u1="&#xd0;" u2="&#x24;" k="-107" />
+    <hkern u1="&#xd0;" g2=".notdef" k="-49" />
+  </font>
+</defs></svg>
diff --git a/fonts/Angelina.ttf b/fonts/Angelina.ttf
new file mode 100644
index 0000000..fe880ab
Binary files /dev/null and b/fonts/Angelina.ttf differ
diff --git a/fonts/Angelina.woff b/fonts/Angelina.woff
new file mode 100644
index 0000000..ad88fd4
Binary files /dev/null and b/fonts/Angelina.woff differ
diff --git a/fonts/codropsicons/codropsicons.eot b/fonts/codropsicons/codropsicons.eot
new file mode 100644
index 0000000..f46c7f4
Binary files /dev/null and b/fonts/codropsicons/codropsicons.eot differ
diff --git a/fonts/codropsicons/codropsicons.svg b/fonts/codropsicons/codropsicons.svg
new file mode 100644
index 0000000..d202d21
--- /dev/null
+++ b/fonts/codropsicons/codropsicons.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>
+This is a custom SVG font generated by IcoMoon.
+<iconset grid="14"></iconset>
+</metadata>
+<defs>
+<font id="codropsicons" horiz-adv-x="448" >
+<font-face units-per-em="448" ascent="384" descent="-64" />
+<missing-glyph horiz-adv-x="448" />
+<glyph unicode="&#xe001;" d="M 221.657,359.485 ,m0.00,0.00,c 0.00,0.00 -132.984-182.838 -132.205-286.236 0.515-68.522 61.089-123.688 135.314-123.218 74.202,0.479 133.943,56.421 133.428,124.943 C 357.414,178.368 221.657,359.485 221.657,359.485 z"  />
+<glyph unicode="&#xe004;" d="M 384.00,160.00l0.00-32.00 q0.00-13.25 -8.125-22.625t-21.125-9.375l-176.00,0.00 l 73.25-73.50q 9.50-9.00 9.50-22.50t-9.50-22.50l-18.75-19.00q-9.25-9.25 -22.50-9.25q-13.00,0.00 -22.75,9.25l-162.75,163.00q-9.25,9.25 -9.25,22.50q0.00,13.00 9.25,22.75l 162.75,162.50q 9.50,9.50 22.75,9.50q 13.00,0.00 22.50-9.50l 18.75-18.50q 9.50-9.50 9.50-22.75t-9.50-22.75l-73.25-73.25l 176.00,0.00 q 13.00,0.00 21.125-9.375 t 8.125-22.625z" horiz-adv-x="384"  />
+<glyph unicode="&#xe002;" d="M 407.273-23.273c0.00,0.00-325.818,0.00-366.545,0.00s-40.727,40.727-40.727,40.727l0.00,142.545 l 101.818,183.273l 244.364,0.00 l 101.818-183.273c0.00,0.00,0.00-101.818,0.00-142.545S 407.273-23.273, 407.273-23.273z M 325.818,302.545L 122.182,302.545 
+	l-71.273-142.545L 142.545,160.00 c0.00,0.00, 40.727,0.00, 40.727-40.727l0.00-20.364 l 81.455,0.00 l0.00,20.364 c0.00,0.00,0.00,40.727, 40.727,40.727l 91.636,0.00 L 325.818,302.545z M 407.273,119.273l-96.911,0.00 C 307.532,113.917, 305.455,107.503, 305.455,98.909c0.00-40.727-40.727-40.727-40.727-40.727L 183.273,58.182 c0.00,0.00-40.727,0.00-40.727,40.727
+	c0.00,8.593-2.077,15.008-4.908,20.364L 40.727,119.273 l0.00-101.818 l 366.545,0.00 L 407.273,119.273 z M 132.364,221.091l 183.273,0.00 L 325.818,200.727L 122.182,200.727 L 132.364,221.091z M 152.727,261.818l 142.545,0.00 L 305.455,241.455L 142.545,241.455 L 152.727,261.818z"  />
+<glyph unicode="&#xe000;" d="M 368.00,144.00q0.00-13.50 -9.25-22.75l-162.75-162.75q-9.75-9.25 -22.75-9.25q-12.75,0.00 -22.50,9.25l-18.75,18.75q-9.50,9.50 -9.50,22.75t 9.50,22.75l 73.25,73.25l-176.00,0.00 q-13.00,0.00 -21.125,9.375t-8.125,22.625l0.00,32.00 q0.00,13.25 8.125,22.625t 21.125,9.375l 176.00,0.00 l-73.25,73.50q-9.50,9.00 -9.50,22.50t 9.50,22.50l 18.75,18.75q 9.50,9.50 22.50,9.50q 13.25,0.00 22.75-9.50l 162.75-162.75q 9.25-8.75 9.25-22.50z" horiz-adv-x="384"  />
+<glyph unicode="&#xe003;" d="M 224.00-64.00C 100.291-64.00,0.00,36.291,0.00,160.00S 100.291,384.00, 224.00,384.00s 224.00-100.291, 224.00-224.00S 347.709-64.00, 224.00-64.00z
+	 M 224.00,343.273c-101.228,0.00-183.273-82.045-183.273-183.273s 82.045-183.273, 183.273-183.273s 183.273,82.045, 183.273,183.273S 325.228,343.273, 224.00,343.273z M 244.364,122.164C 244.364,111.005, 244.364,98.909, 244.364,98.909l-40.727,0.00 c0.00,0.00,0.00,29.466,0.00,40.727
+	s 9.123,20.364, 20.364,20.364l0.00,0.00c 22.481,0.00, 40.727,18.246, 40.727,40.727s-18.246,40.727-40.727,40.727S 183.273,223.209, 183.273,200.727c0.00-7.453, 2.138-14.356, 5.641-20.364L 145.437,180.364 C 143.727,186.90, 142.545,193.661, 142.545,200.727
+	c0.00,44.983, 36.471,81.455, 81.455,81.455s 81.455-36.471, 81.455-81.455C 305.455,162.831, 279.45,131.247, 244.364,122.164z M 244.364,37.818l-40.727,0.00 l0.00,40.727 l 40.727,0.00 L 244.364,37.818 z"  />
+<glyph unicode="&#x20;" horiz-adv-x="224" />
+<glyph class="hidden" unicode="&#xf000;" d="M0,384L 448 -64L0 -64 z" horiz-adv-x="0" />
+</font></defs></svg>
\ No newline at end of file
diff --git a/fonts/codropsicons/codropsicons.ttf b/fonts/codropsicons/codropsicons.ttf
new file mode 100644
index 0000000..72bed1f
Binary files /dev/null and b/fonts/codropsicons/codropsicons.ttf differ
diff --git a/fonts/codropsicons/codropsicons.woff b/fonts/codropsicons/codropsicons.woff
new file mode 100644
index 0000000..1003218
Binary files /dev/null and b/fonts/codropsicons/codropsicons.woff differ
diff --git a/fonts/codropsicons/license.txt b/fonts/codropsicons/license.txt
new file mode 100644
index 0000000..88a5cbc
--- /dev/null
+++ b/fonts/codropsicons/license.txt
@@ -0,0 +1,6 @@
+Icon Set:	Font Awesome -- http://fortawesome.github.com/Font-Awesome/
+License:	SIL -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL
+
+
+Icon Set:	Eco Ico -- http://dribbble.com/shots/665585-Eco-Ico
+License:	CC0 -- http://creativecommons.org/publicdomain/zero/1.0/
\ No newline at end of file
diff --git a/fonts/glyphicons-halflings-regular.eot b/fonts/glyphicons-halflings-regular.eot
new file mode 100644
index 0000000..4a4ca86
Binary files /dev/null and b/fonts/glyphicons-halflings-regular.eot differ
diff --git a/fonts/glyphicons-halflings-regular.svg b/fonts/glyphicons-halflings-regular.svg
new file mode 100644
index 0000000..e3e2dc7
--- /dev/null
+++ b/fonts/glyphicons-halflings-regular.svg
@@ -0,0 +1,229 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
+<font-face units-per-em="1200" ascent="960" descent="-240" />
+<missing-glyph horiz-adv-x="500" />
+<glyph />
+<glyph />
+<glyph unicode="&#xd;" />
+<glyph unicode=" " />
+<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
+<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
+<glyph unicode="&#xa0;" />
+<glyph unicode="&#x2000;" horiz-adv-x="652" />
+<glyph unicode="&#x2001;" horiz-adv-x="1304" />
+<glyph unicode="&#x2002;" horiz-adv-x="652" />
+<glyph unicode="&#x2003;" horiz-adv-x="1304" />
+<glyph unicode="&#x2004;" horiz-adv-x="434" />
+<glyph unicode="&#x2005;" horiz-adv-x="326" />
+<glyph unicode="&#x2006;" horiz-adv-x="217" />
+<glyph unicode="&#x2007;" horiz-adv-x="217" />
+<glyph unicode="&#x2008;" horiz-adv-x="163" />
+<glyph unicode="&#x2009;" horiz-adv-x="260" />
+<glyph unicode="&#x200a;" horiz-adv-x="72" />
+<glyph unicode="&#x202f;" horiz-adv-x="260" />
+<glyph unicode="&#x205f;" horiz-adv-x="326" />
+<glyph unicode="&#x20ac;" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
+<glyph unicode="&#x2212;" d="M200 400h900v300h-900v-300z" />
+<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
+<glyph unicode="&#x2601;" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
+<glyph unicode="&#x2709;" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
+<glyph unicode="&#x270f;" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
+<glyph unicode="&#xe001;" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
+<glyph unicode="&#xe002;" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
+<glyph unicode="&#xe003;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
+<glyph unicode="&#xe005;" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
+<glyph unicode="&#xe006;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
+<glyph unicode="&#xe007;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
+<glyph unicode="&#xe008;" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
+<glyph unicode="&#xe009;" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
+<glyph unicode="&#xe010;" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
+<glyph unicode="&#xe011;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
+<glyph unicode="&#xe012;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
+<glyph unicode="&#xe013;" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
+<glyph unicode="&#xe014;" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
+<glyph unicode="&#xe015;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
+<glyph unicode="&#xe016;" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
+<glyph unicode="&#xe017;" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
+<glyph unicode="&#xe018;" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
+<glyph unicode="&#xe019;" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
+<glyph unicode="&#xe020;" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
+<glyph unicode="&#xe021;" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
+<glyph unicode="&#xe022;" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
+<glyph unicode="&#xe023;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" />
+<glyph unicode="&#xe024;" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
+<glyph unicode="&#xe025;" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
+<glyph unicode="&#xe026;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
+<glyph unicode="&#xe027;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
+<glyph unicode="&#xe028;" d="M0 25v475l200 700h800l199 -700l1 -475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
+<glyph unicode="&#xe029;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
+<glyph unicode="&#xe030;" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
+<glyph unicode="&#xe031;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
+<glyph unicode="&#xe032;" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
+<glyph unicode="&#xe033;" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
+<glyph unicode="&#xe034;" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
+<glyph unicode="&#xe035;" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
+<glyph unicode="&#xe036;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
+<glyph unicode="&#xe037;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
+<glyph unicode="&#xe038;" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
+<glyph unicode="&#xe039;" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
+<glyph unicode="&#xe040;" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
+<glyph unicode="&#xe041;" d="M0 700l1 475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
+<glyph unicode="&#xe042;" d="M1 700l1 475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
+<glyph unicode="&#xe043;" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
+<glyph unicode="&#xe044;" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
+<glyph unicode="&#xe045;" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
+<glyph unicode="&#xe046;" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
+<glyph unicode="&#xe047;" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
+<glyph unicode="&#xe048;" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v71l471 -1q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
+<glyph unicode="&#xe049;" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
+<glyph unicode="&#xe050;" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
+<glyph unicode="&#xe051;" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
+<glyph unicode="&#xe052;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
+<glyph unicode="&#xe053;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
+<glyph unicode="&#xe054;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
+<glyph unicode="&#xe055;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
+<glyph unicode="&#xe056;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
+<glyph unicode="&#xe057;" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
+<glyph unicode="&#xe058;" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
+<glyph unicode="&#xe059;" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
+<glyph unicode="&#xe060;" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
+<glyph unicode="&#xe062;" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
+<glyph unicode="&#xe063;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
+<glyph unicode="&#xe064;" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 139t-64 210zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
+<glyph unicode="&#xe065;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
+<glyph unicode="&#xe066;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
+<glyph unicode="&#xe067;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q61 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l567 567l-137 137l-430 -431l-146 147z" />
+<glyph unicode="&#xe068;" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
+<glyph unicode="&#xe069;" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
+<glyph unicode="&#xe070;" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
+<glyph unicode="&#xe071;" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
+<glyph unicode="&#xe072;" d="M200 0l900 550l-900 550v-1100z" />
+<glyph unicode="&#xe073;" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
+<glyph unicode="&#xe074;" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
+<glyph unicode="&#xe075;" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
+<glyph unicode="&#xe076;" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
+<glyph unicode="&#xe077;" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
+<glyph unicode="&#xe078;" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
+<glyph unicode="&#xe079;" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
+<glyph unicode="&#xe080;" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
+<glyph unicode="&#xe081;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
+<glyph unicode="&#xe082;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h600v200h-600v-200z" />
+<glyph unicode="&#xe083;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141 z" />
+<glyph unicode="&#xe084;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
+<glyph unicode="&#xe085;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM364 700h143q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5 q19 0 30 -10t11 -26q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-50 0 -90.5 -12t-75 -38.5t-53.5 -74.5t-19 -114zM500 300h200v100h-200 v-100z" />
+<glyph unicode="&#xe086;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" />
+<glyph unicode="&#xe087;" d="M0 500v200h195q31 125 98.5 199.5t206.5 100.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200v-206 q149 48 201 206h-201v200h200q-25 74 -75.5 127t-124.5 77v-204h-200v203q-75 -23 -130 -77t-79 -126h209v-200h-210z" />
+<glyph unicode="&#xe088;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
+<glyph unicode="&#xe089;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
+<glyph unicode="&#xe090;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
+<glyph unicode="&#xe091;" d="M0 547l600 453v-300h600v-300h-600v-301z" />
+<glyph unicode="&#xe092;" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
+<glyph unicode="&#xe093;" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
+<glyph unicode="&#xe094;" d="M104 600h296v600h300v-600h298l-449 -600z" />
+<glyph unicode="&#xe095;" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
+<glyph unicode="&#xe096;" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
+<glyph unicode="&#xe097;" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
+<glyph unicode="&#xe101;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5h-207q-21 0 -33 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
+<glyph unicode="&#xe102;" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111q1 1 1 6.5t-1.5 15t-3.5 17.5l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6 h-111v-100zM100 0h400v400h-400v-400zM200 900q-3 0 14 48t36 96l18 47l213 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
+<glyph unicode="&#xe103;" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
+<glyph unicode="&#xe104;" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
+<glyph unicode="&#xe105;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
+<glyph unicode="&#xe106;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
+<glyph unicode="&#xe107;" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 34 -48 36.5t-48 -29.5l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
+<glyph unicode="&#xe108;" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -20 -13 -28.5t-32 0.5l-94 78h-222l-94 -78q-19 -9 -32 -0.5t-13 28.5 v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
+<glyph unicode="&#xe109;" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
+<glyph unicode="&#xe110;" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
+<glyph unicode="&#xe111;" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
+<glyph unicode="&#xe112;" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
+<glyph unicode="&#xe113;" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" />
+<glyph unicode="&#xe114;" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" />
+<glyph unicode="&#xe115;" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" />
+<glyph unicode="&#xe116;" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
+<glyph unicode="&#xe117;" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
+<glyph unicode="&#xe118;" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
+<glyph unicode="&#xe119;" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
+<glyph unicode="&#xe120;" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
+<glyph unicode="&#xe121;" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
+<glyph unicode="&#xe122;" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM100 500v250v8v8v7t0.5 7t1.5 5.5t2 5t3 4t4.5 3.5t6 1.5t7.5 0.5h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35 q-55 337 -55 351zM1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
+<glyph unicode="&#xe123;" d="M74 350q0 21 13.5 35.5t33.5 14.5h18l117 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5q-18 -36 -18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-8 -3 -23 -8.5 t-65 -20t-103 -25t-132.5 -19.5t-158.5 -9q-125 0 -245.5 20.5t-178.5 40.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
+<glyph unicode="&#xe124;" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
+<glyph unicode="&#xe125;" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q124 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 213l100 212h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" />
+<glyph unicode="&#xe126;" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q124 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" />
+<glyph unicode="&#xe127;" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
+<glyph unicode="&#xe128;" d="M-101 651q0 72 54 110t139 38l302 -1l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 17 -10.5t26.5 -26t16.5 -36.5v-526q0 -13 -86 -93.5t-94 -80.5h-341q-16 0 -29.5 20t-19.5 41l-130 339h-107q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l107 89v502l-343 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM1000 201v600h200v-600h-200z" />
+<glyph unicode="&#xe129;" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6.5v7.5v6.5v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" />
+<glyph unicode="&#xe130;" d="M2 585q-16 -31 6 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85q0 -51 -0.5 -153.5t-0.5 -148.5q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM77 565l236 339h503 l89 -100v-294l-340 -130q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
+<glyph unicode="&#xe131;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM298 701l2 -201h300l-2 -194l402 294l-402 298v-197h-300z" />
+<glyph unicode="&#xe132;" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l402 -294l-2 194h300l2 201h-300v197z" />
+<glyph unicode="&#xe133;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" />
+<glyph unicode="&#xe134;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" />
+<glyph unicode="&#xe135;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60 q12 0 23 -5.5t23 -15t20 -13.5q24 -12 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q104 -3 221 112q30 29 47 47t34.5 49t20.5 62q-14 9 -37 9.5t-36 7.5q-14 7 -49 15t-52 19q-9 0 -39.5 -0.5 t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5 q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 39 2 44q31 -13 58 -14.5t39 3.5l11 4q7 36 -16.5 53.5t-64.5 28.5t-56 23q-19 -3 -37 0 q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -45.5 0.5t-45.5 -2.5q-21 -7 -52 -26.5t-34 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5zM518 916q3 12 16 30t16 25q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -24 17 -66.5t17 -43.5 q-9 2 -31 5t-36 5t-32 8t-30 14zM692 1003h1h-1z" />
+<glyph unicode="&#xe136;" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
+<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
+<glyph unicode="&#xe138;" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
+<glyph unicode="&#xe139;" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
+<glyph unicode="&#xe140;" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
+<glyph unicode="&#xe141;" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM514 609q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-14 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" />
+<glyph unicode="&#xe142;" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -78.5 -16.5t-67.5 -51.5l-389 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23 q38 0 53 -36q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60 l517 511q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" />
+<glyph unicode="&#xe143;" d="M80 784q0 131 98.5 229.5t230.5 98.5q143 0 241 -129q103 129 246 129q129 0 226 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100q-71 70 -104.5 105.5t-77 89.5t-61 99 t-17.5 91zM250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-105 48.5q-74 0 -132 -83l-118 -171l-114 174q-51 80 -123 80q-60 0 -109.5 -49.5t-49.5 -118.5z" />
+<glyph unicode="&#xe144;" d="M57 353q0 -95 66 -159l141 -142q68 -66 159 -66q93 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-8 9 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141q7 -7 19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -17q47 -49 77 -100l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
+<glyph unicode="&#xe145;" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
+<glyph unicode="&#xe146;" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
+<glyph unicode="&#xe148;" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335q-6 1 -15.5 4t-11.5 3q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5 v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5 zM700 237q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
+<glyph unicode="&#xe149;" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -28 16.5 -69.5t28 -62.5t41.5 -72h241v-100h-197q8 -50 -2.5 -115 t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q33 1 103 -16t103 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221z" />
+<glyph unicode="&#xe150;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
+<glyph unicode="&#xe151;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
+<glyph unicode="&#xe152;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
+<glyph unicode="&#xe153;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
+<glyph unicode="&#xe154;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
+<glyph unicode="&#xe155;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
+<glyph unicode="&#xe156;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
+<glyph unicode="&#xe157;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
+<glyph unicode="&#xe158;" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
+<glyph unicode="&#xe159;" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
+<glyph unicode="&#xe160;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
+<glyph unicode="&#xe161;" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
+<glyph unicode="&#xe162;" d="M217 519q8 -19 31 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8h9q14 0 26 15q11 13 274.5 321.5t264.5 308.5q14 19 5 36q-8 17 -31 17l-301 -1q1 4 78 219.5t79 227.5q2 15 -5 27l-9 9h-9q-15 0 -25 -16q-4 -6 -98 -111.5t-228.5 -257t-209.5 -237.5q-16 -19 -6 -41 z" />
+<glyph unicode="&#xe163;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
+<glyph unicode="&#xe164;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
+<glyph unicode="&#xe165;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
+<glyph unicode="&#xe166;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
+<glyph unicode="&#xe167;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
+<glyph unicode="&#xe168;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
+<glyph unicode="&#xe169;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 400l697 1l3 699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" />
+<glyph unicode="&#xe170;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l249 -237l-1 697zM900 150h100v50h-100v-50z" />
+<glyph unicode="&#xe171;" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
+<glyph unicode="&#xe172;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
+<glyph unicode="&#xe173;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
+<glyph unicode="&#xe174;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" />
+<glyph unicode="&#xe175;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" />
+<glyph unicode="&#xe176;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
+<glyph unicode="&#xe177;" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
+<glyph unicode="&#xe178;" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
+<glyph unicode="&#xe179;" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -116q-25 -17 -43.5 -51.5t-18.5 -65.5v-359z" />
+<glyph unicode="&#xe180;" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
+<glyph unicode="&#xe181;" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
+<glyph unicode="&#xe182;" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q17 18 13.5 41t-22.5 37l-192 136q-19 14 -45 12t-42 -19l-118 -118q-142 101 -268 227t-227 268l118 118q17 17 20 41.5t-11 44.5 l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" />
+<glyph unicode="&#xe183;" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-20 0 -35 14.5t-15 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" />
+<glyph unicode="&#xe184;" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
+<glyph unicode="&#xe185;" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
+<glyph unicode="&#xe186;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
+<glyph unicode="&#xe187;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
+<glyph unicode="&#xe188;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" />
+<glyph unicode="&#xe189;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" />
+<glyph unicode="&#xe190;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" />
+<glyph unicode="&#xe191;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
+<glyph unicode="&#xe192;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
+<glyph unicode="&#xe193;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
+<glyph unicode="&#xe194;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
+<glyph unicode="&#xe195;" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
+<glyph unicode="&#xe197;" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300h200 l-300 -300z" />
+<glyph unicode="&#xe198;" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104.5t60.5 178.5q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" />
+<glyph unicode="&#xe199;" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
+<glyph unicode="&#xe200;" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -11.5t1 -11.5q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/fonts/glyphicons-halflings-regular.ttf b/fonts/glyphicons-halflings-regular.ttf
new file mode 100644
index 0000000..67fa00b
Binary files /dev/null and b/fonts/glyphicons-halflings-regular.ttf differ
diff --git a/fonts/glyphicons-halflings-regular.woff b/fonts/glyphicons-halflings-regular.woff
new file mode 100644
index 0000000..8c54182
Binary files /dev/null and b/fonts/glyphicons-halflings-regular.woff differ
diff --git a/fonts/linecons/linecons.eot b/fonts/linecons/linecons.eot
new file mode 100644
index 0000000..ba0b99e
Binary files /dev/null and b/fonts/linecons/linecons.eot differ
diff --git a/fonts/linecons/linecons.fcp b/fonts/linecons/linecons.fcp
new file mode 100644
index 0000000..28896a1
Binary files /dev/null and b/fonts/linecons/linecons.fcp differ
diff --git a/fonts/linecons/linecons.svg b/fonts/linecons/linecons.svg
new file mode 100644
index 0000000..d70113f
--- /dev/null
+++ b/fonts/linecons/linecons.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>Generated by IcoMoon</metadata>
+<defs>
+<font id="linecons" horiz-adv-x="512">
+<font-face units-per-em="512" ascent="480" descent="-32" />
+<missing-glyph horiz-adv-x="512" />
+<glyph unicode="&#x20;" d="" horiz-adv-x="256" />
+<glyph unicode="&#xe600;" d="M320 479.92c-106.032 0-192-85.968-192-192 0-32.416 8.112-62.928 22.32-89.728l-133.504-133.472 0.112-0.096c-10.432-10.256-16.928-24.464-16.928-40.256 0-31.184 25.28-56.464 56.464-56.464 15.76 0 29.984 6.496 40.24 16.944l-0.032 0.032 133.456 133.44c26.816-14.256 57.376-22.4 89.872-22.4 106.032 0 192 85.968 192 192s-85.968 192-192 192zM76.72 4.848c-5.152-5.344-12.288-8.688-20.256-8.688-15.6 0-28.24 12.624-28.24 28.224 0 7.968 3.36 15.088 8.688 20.256l-0.144 0.128 129.056 129.056c11.28-15.216 24.72-28.656 39.904-39.968l-129.008-129.008zM320 127.904c-88.352 0-160 71.664-160 160 0 88.352 71.648 160 160 160 88.336 0 160-71.648 160-160 0-88.336-71.664-160-160-160zM320 399.92c4.4 0 8-3.584 8-8s-3.6-8-8-8c-53.024 0-96-42.992-96-96 0-4.416-3.584-8-8-8s-8 3.584-8 8c0 61.856 50.128 112 112 112z" />
+<glyph unicode="&#xe601;" d="M486.256 277.12l-49.024 9.824c-2.464 7.088-5.376 13.968-8.592 20.624l27.776 41.664c8.464 12.688 6.784 29.6-4 40.368l-30.784 30.784c-6.192 6.192-14.368 9.376-22.656 9.376-6.128 0-12.32-1.76-17.712-5.376l-41.664-27.76c-6.688 3.232-13.568 6.112-20.656 8.576l-9.824 49.040c-2.976 14.976-16.128 25.728-31.376 25.728h-43.52c-15.248 0-28.384-10.768-31.376-25.728l-9.824-49.040c-7.088-2.464-13.968-5.36-20.624-8.576l-41.648 27.76c-5.424 3.616-11.6 5.376-17.744 5.376-8.272 0-16.448-3.184-22.64-9.376l-30.768-30.784c-10.784-10.784-12.464-27.68-4-40.368l27.76-41.664c-3.232-6.672-6.112-13.552-8.576-20.64l-49.056-9.808c-14.96-2.992-25.728-16.128-25.728-31.376v-43.52c0-15.248 10.768-28.4 25.728-31.376l49.040-9.84c2.464-7.088 5.36-13.968 8.576-20.624l-27.744-41.664c-8.464-12.688-6.784-29.6 4-40.368l30.784-30.784c6.192-6.192 14.368-9.376 22.64-9.376 6.144 0 12.336 1.776 17.728 5.376l41.664 27.776c6.672-3.248 13.552-6.128 20.64-8.592l9.808-49.024c2.992-14.976 16.128-25.744 31.376-25.744h43.52c15.248 0 28.4 10.784 31.376 25.744l9.84 49.024c7.088 2.464 13.968 5.376 20.624 8.592l41.664-27.776c5.408-3.6 11.6-5.376 17.712-5.376 8.288 0 16.464 3.184 22.656 9.376l30.784 30.784c10.784 10.784 12.464 27.68 4 40.368l-27.776 41.664c3.248 6.688 6.128 13.568 8.592 20.656l49.024 9.808c14.96 2.96 25.744 16.128 25.744 31.376v43.52c0 15.248-10.784 28.384-25.744 31.376zM430.944 192.4c-11.12-2.224-20.224-10.16-23.936-20.88-2.064-5.904-4.464-11.632-7.152-17.184-4.976-10.224-4.128-22.288 2.16-31.712l27.776-41.664-30.784-30.784-41.664 27.776c-5.344 3.568-11.536 5.376-17.744 5.376-4.752 0-9.536-1.056-13.936-3.184-5.568-2.688-11.28-5.12-17.216-7.184-10.688-3.712-18.624-12.816-20.848-23.936l-9.84-49.056h-43.52l-9.808 49.056c-2.224 11.12-10.16 20.224-20.864 23.936-5.904 2.064-11.648 4.464-17.2 7.152-4.416 2.16-9.184 3.216-13.952 3.216-6.224 0-12.4-1.808-17.744-5.376l-41.664-27.776-30.784 30.784 27.76 41.664c6.288 9.44 7.104 21.504 2.192 31.68-2.688 5.568-5.104 11.28-7.168 17.216-3.712 10.688-12.832 18.624-23.936 20.848l-49.040 9.84-0.032 43.536 49.056 9.808c11.104 2.224 20.224 10.16 23.936 20.864 2.064 5.904 4.448 11.648 7.152 17.2 4.96 10.208 4.128 22.272-2.176 31.696l-27.744 41.664 30.768 30.784 41.664-27.76c5.344-3.568 11.536-5.376 17.744-5.376 4.752 0 9.52 1.056 13.936 3.184 5.552 2.688 11.28 5.104 17.2 7.168 10.704 3.712 18.64 12.832 20.864 23.936l9.824 49.040 43.52 0.016 9.808-49.056c2.224-11.104 10.16-20.224 20.88-23.936 5.904-2.064 11.632-4.448 17.184-7.152 4.432-2.144 9.184-3.2 13.968-3.2 6.224 0 12.4 1.808 17.744 5.376l41.664 27.76 30.784-30.784-27.776-41.664c-6.288-9.44-7.088-21.488-2.192-31.68 2.688-5.552 5.12-11.28 7.184-17.2 3.712-10.704 12.816-18.64 23.936-20.864l49.024-9.824 0.048-43.52-49.056-9.824zM256 335.984c-61.84 0-112-50.16-112-112 0-61.856 50.16-112 112-112s112 50.16 112 112c0 61.84-50.16 112-112 112zM256 125.968c-54.112 0-98 43.904-98 98 0 54.112 43.888 98 98 98 54.096 0 98-43.888 98-98 0-54.096-43.904-98-98-98zM256 287.984c-35.36 0-64-28.64-64-64 0-35.344 28.64-64 64-64 35.344 0 64 28.656 64 64s-28.656 64-64 64zM256 175.968c-26.496 0-48 21.504-48 48s21.504 48 48 48 48-21.504 48-48c0-26.496-21.504-48-48-48z" />
+<glyph unicode="&#xe602;" d="M256 480c-97.216 0-176-78.784-176-176 0-64.496 59.008-132.848 80.496-192.88 32.048-89.52 28.496-143.12 95.504-143.12 68 0 63.44 53.344 95.504 142.752 21.552 60.16 80.496 129.248 80.496 193.248 0 97.216-78.816 176-176 176zM297.472 45.184l-79.328-9.904c-2.832 8.192-5.872 17.776-9.568 30.288-0.048 0.16-0.112 0.336-0.144 0.496l99.008 12.368c-1.408-4.72-2.912-9.68-4.224-14.128-2.096-7.184-3.968-13.424-5.744-19.12zM203.776 81.472c-2.912 9.632-6.192 19.776-9.84 30.528h124.256c-1.968-5.744-3.936-11.504-5.632-16.944l-108.784-13.584zM256 0c-16.208 0-23.664 1.872-31.952 20l67.808 8.496c-9.824-26.464-16.976-28.496-35.856-28.496zM330.752 144h-149.328c-7.968 17.28-17.536 34.56-26.976 51.472-20.88 37.36-42.448 76-42.448 108.528 0 79.408 64.592 144 144 144s144-64.592 144-144c0-32.288-21.6-71.136-42.496-108.72-9.344-16.848-18.848-34.096-26.752-51.28zM256 400c4.4 0 8-3.584 8-8s-3.584-8-8-8c-44.112 0-80-35.888-80-80 0-4.416-3.584-8-8-8s-8 3.584-8 8c0 52.944 43.056 96 96 96z" />
+<glyph unicode="&#xe603;" d="M448 400h-384c-35.344 0-64-28.672-64-64v-208c0-35.344 28.656-64 64-64h384c35.344 0 64 28.656 64 64v208c0 35.328-28.656 64-64 64zM32 316l111.984-84-111.984-84v168zM480 128c0-17.664-14.368-32-32-32h-384c-17.648 0-32 14.336-32 32l125.312 94 69.888-52.432c8.528-6.368 18.656-9.6 28.8-9.6 10.128 0 20.256 3.216 28.784 9.6l69.904 52.432 125.312-94zM480 148l-112 84 112 84v-168zM275.184 182.368c-5.584-4.192-12.208-6.4-19.184-6.4s-13.616 2.224-19.2 6.4l-204.8 153.632c0 17.648 14.352 32 32 32h384c17.632 0 32-14.352 32-32l-204.816-153.632z" />
+<glyph unicode="&#xe604;" d="M504.688 477.44c-2.656 1.712-5.68 2.56-8.688 2.56-3.088 0-6.192-0.88-8.88-2.688l-480-320c-4.944-3.28-7.664-9.056-7.024-14.976 0.608-5.904 4.448-11.008 9.968-13.184l125.184-50.096 58.864-103.008c2.816-4.944 8.048-8 13.712-8.064 0.064 0 0.112 0 0.176 0 5.616 0 10.832 2.976 13.712 7.776l33.232 55.408 155.12-62.032c1.904-0.768 3.904-1.136 5.936-1.136 2.72 0 5.408 0.688 7.84 2.064 4.224 2.368 7.12 6.528 7.936 11.312l80 480c1.040 6.288-1.744 12.592-7.088 16.064zM50.176 147.568l370.8 247.216-269.6-288.592c-1.424 0.848-2.688 1.968-4.256 2.592l-96.944 38.784zM163.024 94.944c-0.032 0.064-0.080 0.096-0.112 0.16l303.088 324.4-258.384-402.592-44.592 78.032zM403.472 6.256l-136.656 54.656c-3.248 1.28-6.624 1.712-9.968 1.904l210.432 326.208-63.808-382.768z" />
+<glyph unicode="&#xe605;" d="M400 480c-32.848 0-58.656-22.56-77.184-57.376l-0.336 0.192c-26.912-52.688-66.976-86.816-110.864-86.816h-147.616c-35.888 0-64-35.152-64-80 0-44.88 28.112-80 64-80 17.648-0.064 31.92-14.336 31.92-32v-144c0-17.68 14.336-32 32-32h64c17.664 0 32 14.32 32 32v16c0 16-16 23.152-16 32v112c0 0.368 0.256 0.624 0.288 0.992 0.16 2.288 0.784 4.4 1.792 6.32 0.288 0.528 0.592 0.944 0.944 1.408 1.28 1.904 2.896 3.472 4.864 4.688 0.096 0.064 0.128 0.16 0.224 0.224 0.064 0 0.112 0.064 0.176 0.064 1.28 0.72 2.816 0.88 4.256 1.28 40.384-4.288 76.944-36.88 102.032-85.968l0.4 0.192c18.544-34.704 44.288-57.2 77.104-57.2 73.536 0 112 112.688 112 224s-38.464 224-112 224zM320 256c0 16.592 0.976 32.624 2.624 48h45.376c17.664 0 32-21.504 32-48 0-26.528-14.336-48-32-48h-45.376c-1.648 15.376-2.624 31.376-2.624 48zM32 256c0 26.496 14.336 48 32 48h112.224c-9.92-11.664-16.224-28.592-16.224-48 0-19.44 6.304-36.368 16.224-48h-112.224c-17.664 0-32 21.472-32 48zM191.92 0h-64v144c0 11.664-3.12 22.56-8.592 32h11.168v-0.192h48.128c-1.712-4.976-2.704-10.256-2.704-15.808v-112c0-15.408 8.608-25.664 13.744-31.776 0.704-0.848 1.536-1.712 2.256-2.656v-13.568zM211.616 207.808h-3.616v0.192c-17.664 0-32 21.472-32 48 0 26.496 14.336 48 32 48h3.616c30.176 0 58.432 11.872 83.296 32.288-4.576-25.76-6.912-53.040-6.912-80.288 0-27.344 2.336-54.72 6.944-80.496-24.88 20.432-53.152 32.304-83.328 32.304zM400 64c-32.288 0-60 45.936-72.656 112h40.656c35.872 0 64 35.12 64 80 0 44.848-28.128 80-64 80h-40.656c12.656 66.032 40.368 112 72.656 112 44.192 0 80-85.968 80-192s-35.808-192-80-192z" />
+<glyph unicode="&#xe606;" d="M469.344 432h-69.344v32c0 8.848-7.152 16-16 16s-16-7.152-16-16v-32h-96v32c0 8.848-7.168 16-16 16s-16-7.152-16-16v-32h-96v32c0 8.848-7.168 16-16 16s-16-7.152-16-16v-32h-69.328c-23.568 0-42.672-19.088-42.672-42.656v-378.672c0-23.568 19.104-42.672 42.672-42.672h426.672c23.568 0 42.656 19.104 42.656 42.672v378.672c0 23.568-19.088 42.656-42.656 42.656zM480 10.672c0-5.888-4.784-10.672-10.656-10.672h-426.672c-5.888 0-10.672 4.784-10.672 10.672v378.672c0 5.872 4.784 10.656 10.672 10.656h69.328v-32c0-8.848 7.168-16 16-16s16 7.152 16 16v32h96v-32c0-8.848 7.168-16 16-16s16 7.152 16 16v32h96v-32c0-8.848 7.152-16 16-16s16 7.152 16 16v32h69.344c5.872 0 10.656-4.784 10.656-10.656v-378.672zM112 288h64v-48h-64zM112 208h64v-48h-64zM112 128h64v-48h-64zM224 128h64v-48h-64zM224 208h64v-48h-64zM224 288h64v-48h-64zM336 128h64v-48h-64zM336 208h64v-48h-64zM336 288h64v-48h-64z" />
+</font></defs></svg>
\ No newline at end of file
diff --git a/fonts/linecons/linecons.ttf b/fonts/linecons/linecons.ttf
new file mode 100644
index 0000000..3c14f98
Binary files /dev/null and b/fonts/linecons/linecons.ttf differ
diff --git a/fonts/linecons/linecons.woff b/fonts/linecons/linecons.woff
new file mode 100644
index 0000000..ff77806
Binary files /dev/null and b/fonts/linecons/linecons.woff differ
diff --git a/img/Home81.jpg b/img/Home81.jpg
new file mode 100644
index 0000000..16232fc
Binary files /dev/null and b/img/Home81.jpg differ
diff --git a/img/WorldBracelet.png b/img/WorldBracelet.png
new file mode 100644
index 0000000..7c72525
Binary files /dev/null and b/img/WorldBracelet.png differ
diff --git a/img/avion.png b/img/avion.png
new file mode 100644
index 0000000..b5f44f5
Binary files /dev/null and b/img/avion.png differ
diff --git a/img/beno.png b/img/beno.png
new file mode 100644
index 0000000..76e3301
Binary files /dev/null and b/img/beno.png differ
diff --git a/img/bg-footer.jpg b/img/bg-footer.jpg
new file mode 100644
index 0000000..23716dd
Binary files /dev/null and b/img/bg-footer.jpg differ
diff --git a/img/bg-lightbox.png b/img/bg-lightbox.png
new file mode 100644
index 0000000..64e0a47
Binary files /dev/null and b/img/bg-lightbox.png differ
diff --git a/img/bg-timeline.png b/img/bg-timeline.png
new file mode 100644
index 0000000..11503b8
Binary files /dev/null and b/img/bg-timeline.png differ
diff --git a/img/btn-play.png b/img/btn-play.png
new file mode 100644
index 0000000..d4c7894
Binary files /dev/null and b/img/btn-play.png differ
diff --git a/img/btn-playHover.png b/img/btn-playHover.png
new file mode 100644
index 0000000..dc7d1af
Binary files /dev/null and b/img/btn-playHover.png differ
diff --git a/img/chame.png b/img/chame.png
new file mode 100644
index 0000000..f9d5b60
Binary files /dev/null and b/img/chame.png differ
diff --git a/img/close.png b/img/close.png
new file mode 100644
index 0000000..5989b33
Binary files /dev/null and b/img/close.png differ
diff --git a/img/close2.png b/img/close2.png
new file mode 100644
index 0000000..cee3816
Binary files /dev/null and b/img/close2.png differ
diff --git a/img/designlickA.png b/img/designlickA.png
new file mode 100644
index 0000000..6d9d8cb
Binary files /dev/null and b/img/designlickA.png differ
diff --git a/img/designlickAF.png b/img/designlickAF.png
new file mode 100644
index 0000000..c7cfc4b
Binary files /dev/null and b/img/designlickAF.png differ
diff --git a/img/designlickB2.png b/img/designlickB2.png
new file mode 100644
index 0000000..42cee52
Binary files /dev/null and b/img/designlickB2.png differ
diff --git a/img/designlickBFF.png b/img/designlickBFF.png
new file mode 100644
index 0000000..a2d5ae0
Binary files /dev/null and b/img/designlickBFF.png differ
diff --git a/img/designlickC.png b/img/designlickC.png
new file mode 100644
index 0000000..3287757
Binary files /dev/null and b/img/designlickC.png differ
diff --git a/img/designlickCF.png b/img/designlickCF.png
new file mode 100644
index 0000000..8ef2ee5
Binary files /dev/null and b/img/designlickCF.png differ
diff --git a/img/designlickD.png b/img/designlickD.png
new file mode 100644
index 0000000..a7f3c3e
Binary files /dev/null and b/img/designlickD.png differ
diff --git a/img/designlickDF.png b/img/designlickDF.png
new file mode 100644
index 0000000..c28a2a2
Binary files /dev/null and b/img/designlickDF.png differ
diff --git a/img/dot.png b/img/dot.png
new file mode 100644
index 0000000..3b82ec1
Binary files /dev/null and b/img/dot.png differ
diff --git a/img/ellipse.png b/img/ellipse.png
new file mode 100644
index 0000000..9242cc8
Binary files /dev/null and b/img/ellipse.png differ
diff --git a/img/facebookz (2).png b/img/facebookz (2).png
new file mode 100644
index 0000000..839c07e
Binary files /dev/null and b/img/facebookz (2).png differ
diff --git a/img/fancybox_loading.gif b/img/fancybox_loading.gif
new file mode 100644
index 0000000..a03a40c
Binary files /dev/null and b/img/fancybox_loading.gif differ
diff --git a/img/fancybox_loading@2x.gif b/img/fancybox_loading@2x.gif
new file mode 100644
index 0000000..9205aeb
Binary files /dev/null and b/img/fancybox_loading@2x.gif differ
diff --git a/img/fancybox_overlay.png b/img/fancybox_overlay.png
new file mode 100644
index 0000000..601a78d
Binary files /dev/null and b/img/fancybox_overlay.png differ
diff --git a/img/icon-add.png b/img/icon-add.png
new file mode 100644
index 0000000..8e278e2
Binary files /dev/null and b/img/icon-add.png differ
diff --git a/img/icon-faq.png b/img/icon-faq.png
new file mode 100644
index 0000000..7135dd1
Binary files /dev/null and b/img/icon-faq.png differ
diff --git a/img/icon-light.png b/img/icon-light.png
new file mode 100644
index 0000000..ea81807
Binary files /dev/null and b/img/icon-light.png differ
diff --git a/img/icon-light2.gif b/img/icon-light2.gif
new file mode 100644
index 0000000..b2cf364
Binary files /dev/null and b/img/icon-light2.gif differ
diff --git a/img/icon-mail.png b/img/icon-mail.png
new file mode 100644
index 0000000..d218f9c
Binary files /dev/null and b/img/icon-mail.png differ
diff --git a/img/left-arrow.png b/img/left-arrow.png
new file mode 100644
index 0000000..76efa7d
Binary files /dev/null and b/img/left-arrow.png differ
diff --git a/img/line.png b/img/line.png
new file mode 100644
index 0000000..59bceae
Binary files /dev/null and b/img/line.png differ
diff --git a/img/logo-footer.png b/img/logo-footer.png
new file mode 100644
index 0000000..291e120
Binary files /dev/null and b/img/logo-footer.png differ
diff --git a/img/logofooter.png b/img/logofooter.png
new file mode 100644
index 0000000..6db727c
Binary files /dev/null and b/img/logofooter.png differ
diff --git a/img/lost.jpg b/img/lost.jpg
new file mode 100644
index 0000000..fc40fb0
Binary files /dev/null and b/img/lost.jpg differ
diff --git a/img/lost2.jpg b/img/lost2.jpg
new file mode 100644
index 0000000..8833d32
Binary files /dev/null and b/img/lost2.jpg differ
diff --git a/img/numb-step.png b/img/numb-step.png
new file mode 100644
index 0000000..037ff5c
Binary files /dev/null and b/img/numb-step.png differ
diff --git a/img/paypal-ribbon_en.png b/img/paypal-ribbon_en.png
new file mode 100644
index 0000000..1eb4c8e
Binary files /dev/null and b/img/paypal-ribbon_en.png differ
diff --git a/img/paypal-ribbon_fr.png b/img/paypal-ribbon_fr.png
new file mode 100644
index 0000000..515f301
Binary files /dev/null and b/img/paypal-ribbon_fr.png differ
diff --git a/img/point.png b/img/point.png
new file mode 100644
index 0000000..915d179
Binary files /dev/null and b/img/point.png differ
diff --git a/img/right-arrow.png b/img/right-arrow.png
new file mode 100644
index 0000000..56156ab
Binary files /dev/null and b/img/right-arrow.png differ
diff --git a/img/scroll-bg.png b/img/scroll-bg.png
new file mode 100644
index 0000000..2580d53
Binary files /dev/null and b/img/scroll-bg.png differ
diff --git a/img/scroll.gif b/img/scroll.gif
new file mode 100644
index 0000000..9271dbe
Binary files /dev/null and b/img/scroll.gif differ
diff --git a/img/tab1-thumb.png b/img/tab1-thumb.png
new file mode 100644
index 0000000..6dd373a
Binary files /dev/null and b/img/tab1-thumb.png differ
diff --git a/img/tab2-thumb.png b/img/tab2-thumb.png
new file mode 100644
index 0000000..931bb99
Binary files /dev/null and b/img/tab2-thumb.png differ
diff --git a/img/terre.ico b/img/terre.ico
new file mode 100644
index 0000000..acdc493
Binary files /dev/null and b/img/terre.ico differ
diff --git a/index.php b/index.php
new file mode 100644
index 0000000..13b7f31
--- /dev/null
+++ b/index.php
@@ -0,0 +1,159 @@
+<?php require("w/0fonctions.php");
+?>
+<?php
+require("w/1head.php");
+?>
+<script type="text/javascript">
+<?php 
+include("lib/creerBdd.php");
+global $id;
+$reponse = $bdd->query('SELECT img_link FROM article ORDER BY article_uid DESC');
+  // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
+$images = array();
+echo 'window.images = [' ;
+$compteur=1;
+while ($donnees = $reponse->fetch())
+{
+ $compteur++;
+ echo '"'.htmlspecialchars($donnees['img_link']).'",';
+}
+echo "];";
+$reponse->closeCursor();
+?>
+</script>
+</head>
+<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
+  <?php 
+  require("w/2lightbox.php");
+  require("w/3intro.php");
+
+#  PAGE 1/2  ===========================================================================-->
+  require("w/4headerScroller.php");
+  require("w/5notification.php");
+  ?>
+
+  <div class="mobile-content">
+    <div class="flexslider">
+      <ul class="slides">
+        <?php 
+               // DestinationClock();
+        ?>
+      </ul>
+    </div>
+  </div>
+  <div class='timeline' style="">
+    <div class='timeline-bg timeline-bg1 show'></div>
+    <div class='timeline-controller'>
+      <div class='mode-icon mode-icon1 show'>
+       <?php 
+       include("lib/creerBdd.php");
+       global $id;
+       $reponse = $bdd->query('SELECT img_link FROM article WHERE article_uid = '.$compteur);
+    // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
+       
+       while ($donnees = $reponse->fetch() ){
+        echo '<img class="centreImgTime" src="'.htmlspecialchars($donnees['img_link']).'">';
+        
+      }
+      $reponse->closeCursor();
+      ?>
+    </div>
+  </div>
+
+  <div class='inside'>
+    <div class='clocks'>
+      <div class='time'>
+        <span class='hours'>1</span>
+      </div>
+    </div>
+
+    <div class='modes' id="dest">
+     <?php 
+     include("lib/creerBdd.php");
+     global $id;
+     $nom = ($lang==="fr") ? "nom" : "name" ;
+     $voirlarticle = ($lang==="fr") ? 'Voir l\'article' : 'See the article' ;
+     $reponse = $bdd->query('SELECT article_uid,'.$nom.' FROM article ORDER BY article_uid DESC LIMIT 3;');
+                  // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
+     
+     while ($donnees = $reponse->fetch() ){
+      $au=$compteur + 1 - htmlspecialchars($donnees['article_uid']);
+      
+      echo '<p class="mode mode'.$au.'" data-bg="'.$au.'">
+      <br/>        <span class="titreArticle">     '.htmlspecialchars($donnees[$nom]).'      </span>
+      <br/> <br/> <a class="btn btn-lg btn-primary"  href="article.php?id='.htmlspecialchars($donnees['article_uid']).'"> <span style="display:block; font-size: 30px; font-weight: normal;font-family: inherit;"> '.$voirlarticle.'</span> </a>
+      </p>';
+    }
+    $reponse->closeCursor();
+    ?>
+  </div>
+</div>
+</div>
+<div id="lesArticles"></div>
+<div class="carousel">
+  <div class="ourArticles" >
+    <a href="articles.php"  class="discover btn btn-xs btn-primary" role="button" title="<?php echo ALTDAOA; ?>">
+      <h1 class="paddingZero"> <?php echo DAOA; ?></h1>
+    </a>
+  </div>
+  <div class="flex-slider carousel">
+    <ul class="slides">
+      <?php
+      include("lib/creerBdd.php");
+      $reponse = $bdd->query('SELECT nom, name,article_uid,img_link FROM article ORDER BY article_uid DESC');
+      while ($donnees = $reponse->fetch())
+      {
+       $nome = ($lang==='fr') ? 'nom' : 'name' ;
+       ImgCarroussel(htmlspecialchars($donnees[$nome]),htmlspecialchars($donnees['article_uid']),'article', htmlspecialchars($donnees['img_link']));
+     }
+     $reponse->closeCursor();
+     ?>
+   </ul>
+ </div>
+</div>
+
+<div class="carousel" >
+  <div class="ourArticles">
+    <a href="challenges.php"  class="discover btn btn-xs btn-primary" role="button" title="<?php echo ALTDAOC; ?>">
+      <h1> <?php echo DAOC; ?> </h1>
+    </a>
+  </div>
+  <div class="flex-slider carousel">
+    <ul class="slides">
+     <?php 
+     include("lib/creerBdd.php");
+     $reponse = $bdd->query('SELECT nom, name,challenge_uid,img_link FROM challenge ORDER BY challenge_uid DESC');
+     while ($donnees = $reponse->fetch())
+     {
+       $nome = ($lang==='fr') ? 'nom' : 'name' ;
+       ImgCarroussel(htmlspecialchars($donnees[$nome]),htmlspecialchars($donnees['challenge_uid']),'challenge', htmlspecialchars($donnees['img_link']));
+     }
+     $reponse->closeCursor();
+     ?>
+   </ul>
+ </div>
+</div>
+<div id="caracteristiques"></div><!--INDISPENSABLE : WHY?-->
+<div class="galery" id="gallery">
+  <div class="inside">
+    <div class="slider">
+      <div class="flexslider">
+        <ul class="slides">
+          <li><img alt="Pedra Da Gavea, Rio de Janeiro, Brazil" src="https://www.dropbox.com/s/hvif42n3l17rgog/H1.jpg?dl=1" /></li>
+          <li><img alt="Aguas Calientes, Tupiza Tours, Bolivia" src="https://www.dropbox.com/s/xlwjnz50oj6igc3/H2.jpg?dl=1" /></li>
+          <li><img alt="Salar de Uyuni, Bolivia" src="https://www.dropbox.com/s/w5yhhma435scqqm/H3.jpg?dl=1" /></li>
+          <li><img alt="Death Road, La Paz, Bolivia" src="https://www.dropbox.com/s/f9d3taiq7692c5t/H4.jpg?dl=1" /></li>
+          <li><img alt="Machu Picchu, Cuzco, Peru" src="https://www.dropbox.com/s/jiv0yfhr1svilbq/H5.jpg?dl=1" /></li>
+          <li><img alt="CaÃ±on del Colca, Cabanaconde, Peru" src="https://www.dropbox.com/s/o25hln4wil9kwat/H6.jpg?dl=1" /></li>
+          <li><img alt="Kuelap, Peru" src="https://www.dropbox.com/s/jrn4g6ql75u13z3/H7.jpg?dl=1" /></li>
+          <li><img alt="Rotoroa lake, Nelson Lakes Park, New Zealand" src="https://www.dropbox.com/s/q8h0ofbx1gf20lu/H8.jpg?dl=1" /></li>
+          <li><img alt="Cascade Saddle, New Zealand" src="https://www.dropbox.com/s/fhd7gt6l42vdc6j/H9.jpg?dl=1" /></li>
+          <li><img alt="Mount Cook, New Zealand" src="https://www.dropbox.com/s/odqibwa2rk9ly61/H10.jpg?dl=1" /></li>
+        </ul>
+      </div>
+    </div>
+  </div>
+</div>
+
+<?php require("w/8footer.php");?>
+<?php require("w/9end.php");?>
diff --git a/js/M0.js b/js/M0.js
new file mode 100644
index 0000000..25234ea
--- /dev/null
+++ b/js/M0.js
@@ -0,0 +1,2 @@
+(function($){$.organicTabs=function(el,options){var base=this;base.$el=$(el);base.$nav=base.$el.find(".nav");base.init=function(){base.options=$.extend({},$.organicTabs.defaultOptions,options);$(".hide").css({"position":"relative","top":0,"left":0,"display":"none"});base.$nav.delegate("li > a","click",function(){var curList=base.$el.find("a.current").attr("href").substring(1),$newList=$(this),listID=$newList.attr("href").substring(1),$allListWrap=base.$el.find(".list-wrap"),curListHeight=$allListWrap.height();$allListWrap.height(curListHeight);if((listID!=curList)&&(base.$el.find(":animated").length==0)){base.$el.find("#"+curList).fadeOut(base.options.speed,function(){base.$el.find("#"+listID).fadeIn(base.options.speed);var newHeight=base.$el.find("#"+listID).height();$allListWrap.animate({height:newHeight});base.$el.find(".nav li a").removeClass("current");$newList.addClass("current");});}
+return false;});};base.init();};$.organicTabs.defaultOptions={"speed":300};$.fn.organicTabs=function(options){return this.each(function(){(new $.organicTabs(this,options));});};})(jQuery);
\ No newline at end of file
diff --git a/js/b5.js b/js/b5.js
new file mode 100644
index 0000000..0ae807e
--- /dev/null
+++ b/js/b5.js
@@ -0,0 +1,1980 @@
+(function ($) {
+	"use strict";
+
+	//Shortcut for fancyBox object
+	var F = $.fancybox,
+		format = function( url, rez, params ) {
+			params = params || '';
+
+			if ( $.type( params ) === "object" ) {
+				params = $.param(params, true);
+			}
+
+			$.each(rez, function(key, value) {
+				url = url.replace( '$' + key, value || '' );
+			});
+
+			if (params.length) {
+				url += ( url.indexOf('?') > 0 ? '&' : '?' ) + params;
+			}
+
+			return url;
+		};
+
+	//Add helper object
+	F.helpers.media = {
+		defaults : {
+			youtube : {
+				matcher : /(youtube\.com|youtu\.be|youtube-nocookie\.com)\/(watch\?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*)).*/i,
+				params  : {
+					autoplay    : 1,
+					autohide    : 1,
+					fs          : 1,
+					rel         : 0,
+					hd          : 1,
+					wmode       : 'opaque',
+					enablejsapi : 1
+				},
+				type : 'iframe',
+				url  : '//www.youtube.com/embed/$3'
+			},
+			vimeo : {
+				matcher : /(?:vimeo(?:pro)?.com)\/(?:[^\d]+)?(\d+)(?:.*)/,
+				params  : {
+					autoplay      : 1,
+					hd            : 1,
+					show_title    : 1,
+					show_byline   : 1,
+					show_portrait : 0,
+					fullscreen    : 1
+				},
+				type : 'iframe',
+				url  : '//player.vimeo.com/video/$1'
+			},
+			metacafe : {
+				matcher : /metacafe.com\/(?:watch|fplayer)\/([\w\-]{1,10})/,
+				params  : {
+					autoPlay : 'yes'
+				},
+				type : 'swf',
+				url  : function( rez, params, obj ) {
+					obj.swf.flashVars = 'playerVars=' + $.param( params, true );
+
+					return '//www.metacafe.com/fplayer/' + rez[1] + '/.swf';
+				}
+			},
+			dailymotion : {
+				matcher : /dailymotion.com\/video\/(.*)\/?(.*)/,
+				params  : {
+					additionalInfos : 0,
+					autoStart : 1
+				},
+				type : 'swf',
+				url  : '//www.dailymotion.com/swf/video/$1'
+			},
+			twitvid : {
+				matcher : /twitvid\.com\/([a-zA-Z0-9_\-\?\=]+)/i,
+				params  : {
+					autoplay : 0
+				},
+				type : 'iframe',
+				url  : '//www.twitvid.com/embed.php?guid=$1'
+			},
+			twitpic : {
+				matcher : /twitpic\.com\/(?!(?:place|photos|events)\/)([a-zA-Z0-9\?\=\-]+)/i,
+				type : 'image',
+				url  : '//twitpic.com/show/full/$1/'
+			},
+			instagram : {
+				matcher : /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
+				type : 'image',
+				url  : '//$1/p/$2/media/?size=l'
+			},
+			google_maps : {
+				matcher : /maps\.google\.([a-z]{2,3}(\.[a-z]{2})?)\/(\?ll=|maps\?)(.*)/i,
+				type : 'iframe',
+				url  : function( rez ) {
+					return '//maps.google.' + rez[1] + '/' + rez[3] + '' + rez[4] + '&output=' + (rez[4].indexOf('layer=c') > 0 ? 'svembed' : 'embed');
+				}
+			}
+		},
+
+		beforeLoad : function(opts, obj) {
+			var url   = obj.href || '',
+				type  = false,
+				what,
+				item,
+				rez,
+				params;
+
+			for (what in opts) {
+				if (opts.hasOwnProperty(what)) {
+					item = opts[ what ];
+					rez  = url.match( item.matcher );
+
+					if (rez) {
+						type   = item.type;
+						params = $.extend(true, {}, item.params, obj[ what ] || ($.isPlainObject(opts[ what ]) ? opts[ what ].params : null));
+
+						url = $.type( item.url ) === "function" ? item.url.call( this, rez, params, obj ) : format( item.url, rez, params );
+
+						break;
+					}
+				}
+			}
+
+			if (type) {
+				obj.href = url;
+				obj.type = type;
+
+				obj.autoHeight = false;
+			}
+		}
+	};
+
+}(jQuery));
+;(function($) {
+
+    $.organicTabs = function(el, options) {
+    
+        var base = this;
+        base.$el = $(el);
+        base.$nav = base.$el.find(".nav");
+                
+        base.init = function() {
+        
+            base.options = $.extend({},$.organicTabs.defaultOptions, options);
+            
+            // Accessible hiding fix
+            $(".hide").css({
+                "position": "relative",
+                "top": 0,
+                "left": 0,
+                "display": "none"
+            }); 
+            
+            base.$nav.delegate("li > a", "click", function() {
+            
+                // Figure out current list via CSS class
+                var curList = base.$el.find("a.current").attr("href").substring(1),
+                
+                // List moving to
+                    $newList = $(this),
+                    
+                // Figure out ID of new list
+                    listID = $newList.attr("href").substring(1),
+                
+                // Set outer wrapper height to (static) height of current inner list
+                    $allListWrap = base.$el.find(".list-wrap"),
+                    curListHeight = $allListWrap.height();
+                $allListWrap.height(curListHeight);
+                                        
+                if ((listID != curList) && ( base.$el.find(":animated").length == 0)) {
+                                            
+                    // Fade out current list
+                    base.$el.find("#"+curList).fadeOut(base.options.speed, function() {
+                        
+                        // Fade in new list on callback
+                        base.$el.find("#"+listID).fadeIn(base.options.speed);
+                        
+                        // Adjust outer wrapper to fit new list snuggly
+                        var newHeight = base.$el.find("#"+listID).height();
+                        $allListWrap.animate({
+                            height: newHeight
+                        });
+                        
+                        // Remove highlighting - Add to just-clicked tab
+                        base.$el.find(".nav li a").removeClass("current");
+                        $newList.addClass("current");
+                            
+                    });
+                    
+                }   
+                
+                // Don't behave like a regular link
+                // Stop propegation and bubbling
+                return false;
+            });
+            
+        };
+        base.init();
+    };
+    
+    $.organicTabs.defaultOptions = {
+        "speed": 300
+    };
+    
+    $.fn.organicTabs = function(options) {
+        return this.each(function() {
+            (new $.organicTabs(this, options));
+        });
+    };
+    
+})(jQuery);
+;/* Modernizr 2.6.2 (Custom Build) | MIT & BSD
+ * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
+ */
+;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d<e;d++)u[c[d]]=c[d]in k;return u.list&&(u.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),u}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)k.setAttribute("type",f=a[d]),e=k.type!=="text",e&&(k.value=l,k.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&k.style.WebkitAppearance!==c?(g.appendChild(k),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(k,null).WebkitAppearance!=="textfield"&&k.offsetHeight!==0,g.removeChild(k)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=k.checkValidity&&k.checkValidity()===!1:e=k.value!=l)),t[a[d]]=!!e;return t}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k=b.createElement("input"),l=":)",m={}.toString,n=" -webkit- -moz- -o- -ms- ".split(" "),o="Webkit Moz O ms",p=o.split(" "),q=o.toLowerCase().split(" "),r={svg:"http://www.w3.org/2000/svg"},s={},t={},u={},v=[],w=v.slice,x,y=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["&#173;",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,f,g="_html5shiv",h=0,i={},j;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
+
+;/* Modernizr 2.0.6 (Custom Build) | MIT & BSD */
+;window.Modernizr=function(a,b,c){function D(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+o.join(c+" ")+c).split(" ");return C(d,b)}function C(a,b){for(var d in a)if(k[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function B(a,b){return!!~(""+a).indexOf(b)}function A(a,b){return typeof a===b}function z(a,b){return y(n.join(a+";")+(b||""))}function y(a){k.cssText=a}var d="2.0.6",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l,m=Object.prototype.toString,n=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),o="Webkit Moz O ms Khtml".split(" "),p={},q={},r={},s=[],t=function(a,c,d,e){var f,h,j,k=b.createElement("div");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:i+(d+1),k.appendChild(j);f=["&shy;","<style>",a,"</style>"].join(""),k.id=i,k.innerHTML+=f,g.appendChild(k),h=c(k,a),k.parentNode.removeChild(k);return!!h},u=function(b){if(a.matchMedia)return matchMedia(b).matches;var c;t("@media "+b+" { #"+i+" { position: absolute; } }",function(b){c=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position=="absolute"});return c},v,w={}.hasOwnProperty,x;!A(w,c)&&!A(w.call,c)?x=function(a,b){return w.call(a,b)}:x=function(a,b){return b in a&&A(a.constructor.prototype[b],c)},p.rgba=function(){y("background-color:rgba(150,255,150,.5)");return B(k.backgroundColor,"rgba")},p.boxshadow=function(){return D("boxShadow")},p.csstransitions=function(){return D("transitionProperty")};for(var E in p)x(p,E)&&(v=E.toLowerCase(),e[v]=p[E](),s.push((e[v]?"":"no-")+v));e.addTest=function(a,b){if(typeof a=="object")for(var d in a)x(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return;b=typeof b=="boolean"?b:!!b(),g.className+=" "+(b?"":"no-")+a,e[a]=b}return e},y(""),j=l=null,a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1}()&&function(a,b){function s(a){var b=-1;while(++b<g)a.createElement(f[b])}a.iepp=a.iepp||{};var d=a.iepp,e=d.html5elements||"abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",f=e.split("|"),g=f.length,h=new RegExp("(^|\\s)("+e+")","gi"),i=new RegExp("<(/*)("+e+")","gi"),j=/^\s*[\{\}]\s*$/,k=new RegExp("(^|[^\\n]*?\\s)("+e+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),l=b.createDocumentFragment(),m=b.documentElement,n=m.firstChild,o=b.createElement("body"),p=b.createElement("style"),q=/print|all/,r;d.getCSS=function(a,b){if(a+""===c)return"";var e=-1,f=a.length,g,h=[];while(++e<f){g=a[e];if(g.disabled)continue;b=g.media||b,q.test(b)&&h.push(d.getCSS(g.imports,b),g.cssText),b="all"}return h.join("")},d.parseCSS=function(a){var b=[],c;while((c=k.exec(a))!=null)b.push(((j.exec(c[1])?"\n":c[1])+c[2]+c[3]).replace(h,"$1.iepp_$2")+c[4]);return b.join("\n")},d.writeHTML=function(){var a=-1;r=r||b.body;while(++a<g){var c=b.getElementsByTagName(f[a]),d=c.length,e=-1;while(++e<d)c[e].className.indexOf("iepp_")<0&&(c[e].className+=" iepp_"+f[a])}l.appendChild(r),m.appendChild(o),o.className=r.className,o.id=r.id,o.innerHTML=r.innerHTML.replace(i,"<$1font")},d._beforePrint=function(){p.styleSheet.cssText=d.parseCSS(d.getCSS(b.styleSheets,"all")),d.writeHTML()},d.restoreHTML=function(){o.innerHTML="",m.removeChild(o),m.appendChild(r)},d._afterPrint=function(){d.restoreHTML(),p.styleSheet.cssText=""},s(b),s(l);d.disablePP||(n.insertBefore(p,n.firstChild),p.media="print",p.className="iepp-printshim",a.attachEvent("onbeforeprint",d._beforePrint),a.attachEvent("onafterprint",d._afterPrint))}(a,b),e._version=d,e._prefixes=n,e._domPrefixes=o,e.mq=u,e.testProp=function(a){return C([a])},e.testAllProps=D,e.testStyles=t,g.className=g.className.replace(/\bno-js\b/,"")+(f?" js "+s.join(" "):"");return e}(this,this.document),function(a,b){function u(){r(!0)}a.respond={},respond.update=function(){},respond.mediaQueriesSupported=b;if(!b){var c=a.document,d=c.documentElement,e=[],f=[],g=[],h={},i=30,j=c.getElementsByTagName("head")[0]||d,k=j.getElementsByTagName("link"),l=[],m=function(){var b=k,c=b.length,d=0,e,f,g,i;for(;d<c;d++)e=b[d],f=e.href,g=e.media,i=e.rel&&e.rel.toLowerCase()==="stylesheet",!!f&&i&&!h[f]&&(!/^([a-zA-Z]+?:(\/\/)?(www\.)?)/.test(f)||f.replace(RegExp.$1,"").split("/")[0]===a.location.host?l.push({href:f,media:g}):h[f]=!0);n()},n=function(){if(l.length){var a=l.shift();s(a.href,function(b){o(b,a.href,a.media),h[a.href]=!0,n()})}},o=function(a,b,c){var d=a.match(/@media[^\{]+\{([^\{\}]+\{[^\}\{]+\})+/gi),g=d&&d.length||0,b=b.substring(0,b.lastIndexOf("/")),h=function(a){return a.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+b+"$2$3")},i=!g&&c,j=0,k,l,m,n,o;b.length&&(b+="/"),i&&(g=1);for(;j<g;j++){k=0,i?(l=c,f.push(h(a))):(l=d[j].match(/@media ([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1,f.push(RegExp.$2&&h(RegExp.$2))),n=l.split(","),o=n.length;for(;k<o;k++)m=n[k],e.push({media:m.match(/(only\s+)?([a-zA-Z]+)(\sand)?/)&&RegExp.$2,rules:f.length-1,minw:m.match(/\(min\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1),maxw:m.match(/\(max\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1)})}r()},p,q,r=function(a){var b="clientWidth",h=d[b],l=c.compatMode==="CSS1Compat"&&h||c.body[b]||h,m={},n=c.createDocumentFragment(),o=k[k.length-1],s=(new Date).getTime();if(a&&p&&s-p<i)clearTimeout(q),q=setTimeout(r,i);else{p=s;for(var t in e){var u=e[t];if(!u.minw&&!u.maxw||(!u.minw||u.minw&&l>=u.minw)&&(!u.maxw||u.maxw&&l<=u.maxw))m[u.media]||(m[u.media]=[]),m[u.media].push(f[u.rules])}for(var t in g)g[t]&&g[t].parentNode===j&&j.removeChild(g[t]);for(var t in m){var v=c.createElement("style"),w=m[t].join("\n");v.type="text/css",v.media=t,v.styleSheet?v.styleSheet.cssText=w:v.appendChild(c.createTextNode(w)),n.appendChild(v),g.push(v)}j.insertBefore(n,o.nextSibling)}},s=function(a,b){var c=t();if(!!c){c.open("GET",a,!0),c.onreadystatechange=function(){c.readyState==4&&(c.status==200||c.status==304)&&b(c.responseText)};if(c.readyState==4)return;c.send()}},t=function(){var a=!1,b=[function(){return new ActiveXObject("Microsoft.XMLHTTP")},function(){return new XMLHttpRequest}],c=b.length;while(c--){try{a=b[c]()}catch(d){continue}break}return function(){return a}}();m(),respond.update=m,a.addEventListener?a.addEventListener("resize",u,!1):a.attachEvent&&a.attachEvent("onresize",u)}}(this,Modernizr.mq("only all")),function(a,b,c){function k(a){return!a||a=="loaded"||a=="complete"}function j(){var a=1,b=-1;while(p.length- ++b)if(p[b].s&&!(a=p[b].r))break;a&&g()}function i(a){var c=b.createElement("script"),d;c.src=a.s,c.onreadystatechange=c.onload=function(){!d&&k(c.readyState)&&(d=1,j(),c.onload=c.onreadystatechange=null)},m(function(){d||(d=1,j())},H.errorTimeout),a.e?c.onload():n.parentNode.insertBefore(c,n)}function h(a){var c=b.createElement("link"),d;c.href=a.s,c.rel="stylesheet",c.type="text/css";if(!a.e&&(w||r)){var e=function(a){m(function(){if(!d)try{a.sheet.cssRules.length?(d=1,j()):e(a)}catch(b){b.code==1e3||b.message=="security"||b.message=="denied"?(d=1,m(function(){j()},0)):e(a)}},0)};e(c)}else c.onload=function(){d||(d=1,m(function(){j()},0))},a.e&&c.onload();m(function(){d||(d=1,j())},H.errorTimeout),!a.e&&n.parentNode.insertBefore(c,n)}function g(){var a=p.shift();q=1,a?a.t?m(function(){a.t=="c"?h(a):i(a)},0):(a(),j()):q=0}function f(a,c,d,e,f,h){function i(){!o&&k(l.readyState)&&(r.r=o=1,!q&&j(),l.onload=l.onreadystatechange=null,m(function(){u.removeChild(l)},0))}var l=b.createElement(a),o=0,r={t:d,s:c,e:h};l.src=l.data=c,!s&&(l.style.display="none"),l.width=l.height="0",a!="object"&&(l.type=d),l.onload=l.onreadystatechange=i,a=="img"?l.onerror=i:a=="script"&&(l.onerror=function(){r.e=r.r=1,g()}),p.splice(e,0,r),u.insertBefore(l,s?null:n),m(function(){o||(u.removeChild(l),r.r=r.e=o=1,j())},H.errorTimeout)}function e(a,b,c){var d=b=="c"?z:y;q=0,b=b||"j",C(a)?f(d,a,b,this.i++,l,c):(p.splice(this.i++,0,a),p.length==1&&g());return this}function d(){var a=H;a.loader={load:e,i:0};return a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=r&&!s,u=s?l:n.parentNode,v=a.opera&&o.call(a.opera)=="[object Opera]",w="webkitAppearance"in l.style,x=w&&"async"in b.createElement("script"),y=r?"object":v||x?"img":"script",z=w?"img":y,A=Array.isArray||function(a){return o.call(a)=="[object Array]"},B=function(a){return Object(a)===a},C=function(a){return typeof a=="string"},D=function(a){return o.call(a)=="[object Function]"},E=[],F={},G,H;H=function(a){function f(a){var b=a.split("!"),c=E.length,d=b.pop(),e=b.length,f={url:d,origUrl:d,prefixes:b},g,h;for(h=0;h<e;h++)g=F[b[h]],g&&(f=g(f));for(h=0;h<c;h++)f=E[h](f);return f}function e(a,b,e,g,h){var i=f(a),j=i.autoCallback;if(!i.bypass){b&&(b=D(b)?b:b[a]||b[g]||b[a.split("/").pop().split("?")[0]]);if(i.instead)return i.instead(a,b,e,g,h);e.load(i.url,i.forceCSS||!i.forceJS&&/css$/.test(i.url)?"c":c,i.noexec),(D(b)||D(j))&&e.load(function(){d(),b&&b(i.origUrl,h,g),j&&j(i.origUrl,h,g)})}}function b(a,b){function c(a){if(C(a))e(a,h,b,0,d);else if(B(a))for(i in a)a.hasOwnProperty(i)&&e(a[i],h,b,i,d)}var d=!!a.test,f=d?a.yep:a.nope,g=a.load||a.both,h=a.callback,i;c(f),c(g),a.complete&&b.load(a.complete)}var g,h,i=this.yepnope.loader;if(C(a))e(a,0,i,0);else if(A(a))for(g=0;g<a.length;g++)h=a[g],C(h)?e(h,0,i,0):A(h)?H(h):B(h)&&b(h,i);else B(a)&&b(a,i)},H.addPrefix=function(a,b){F[a]=b},H.addFilter=function(a){E.push(a)},H.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",G=function(){b.removeEventListener("DOMContentLoaded",G,0),b.readyState="complete"},0)),a.yepnope=d()}(this,this.document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
+;/*
+ * jQuery FlexSlider v2.2.0
+ * Copyright 2012 WooThemes
+ * Contributing Author: Tyler Smith
+ */
+;
+(function ($) {
+
+  //FlexSlider: Object Instance
+  $.flexslider = function(el, options) {
+    var slider = $(el);
+
+    // making variables public
+    slider.vars = $.extend({}, $.flexslider.defaults, options);
+
+    var namespace = slider.vars.namespace,
+        msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
+        touch = (( "ontouchstart" in window ) || msGesture || window.DocumentTouch && document instanceof DocumentTouch) && slider.vars.touch,
+        // depricating this idea, as devices are being released with both of these events
+        //eventType = (touch) ? "touchend" : "click",
+        eventType = "click touchend MSPointerUp",
+        watchedEvent = "",
+        watchedEventClearTimer,
+        vertical = slider.vars.direction === "vertical",
+        reverse = slider.vars.reverse,
+        carousel = (slider.vars.itemWidth > 0),
+        fade = slider.vars.animation === "fade",
+        asNav = slider.vars.asNavFor !== "",
+        methods = {},
+        focused = true;
+
+    // Store a reference to the slider object
+    $.data(el, "flexslider", slider);
+
+    // Private slider methods
+    methods = {
+      init: function() {
+        slider.animating = false;
+        // Get current slide and make sure it is a number
+        slider.currentSlide = parseInt( ( slider.vars.startAt ? slider.vars.startAt : 0) );
+        if ( isNaN( slider.currentSlide ) ) slider.currentSlide = 0;
+        slider.animatingTo = slider.currentSlide;
+        slider.atEnd = (slider.currentSlide === 0 || slider.currentSlide === slider.last);
+        slider.containerSelector = slider.vars.selector.substr(0,slider.vars.selector.search(' '));
+        slider.slides = $(slider.vars.selector, slider);
+        slider.container = $(slider.containerSelector, slider);
+        slider.count = slider.slides.length;
+        // SYNC:
+        slider.syncExists = $(slider.vars.sync).length > 0;
+        // SLIDE:
+        if (slider.vars.animation === "slide") slider.vars.animation = "swing";
+        slider.prop = (vertical) ? "top" : "marginLeft";
+        slider.args = {};
+        // SLIDESHOW:
+        slider.manualPause = false;
+        slider.stopped = false;
+        //PAUSE WHEN INVISIBLE
+        slider.started = false;
+        slider.startTimeout = null;
+        // TOUCH/USECSS:
+        slider.transitions = !slider.vars.video && !fade && slider.vars.useCSS && (function() {
+          var obj = document.createElement('div'),
+              props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
+          for (var i in props) {
+            if ( obj.style[ props[i] ] !== undefined ) {
+              slider.pfx = props[i].replace('Perspective','').toLowerCase();
+              slider.prop = "-" + slider.pfx + "-transform";
+              return true;
+            }
+          }
+          return false;
+        }());
+        // CONTROLSCONTAINER:
+        if (slider.vars.controlsContainer !== "") slider.controlsContainer = $(slider.vars.controlsContainer).length > 0 && $(slider.vars.controlsContainer);
+        // MANUAL:
+        if (slider.vars.manualControls !== "") slider.manualControls = $(slider.vars.manualControls).length > 0 && $(slider.vars.manualControls);
+
+        // RANDOMIZE:
+        if (slider.vars.randomize) {
+          slider.slides.sort(function() { return (Math.round(Math.random())-0.5); });
+          slider.container.empty().append(slider.slides);
+        }
+
+        slider.doMath();
+
+        // INIT
+        slider.setup("init");
+
+        // CONTROLNAV:
+        if (slider.vars.controlNav) methods.controlNav.setup();
+
+        // DIRECTIONNAV:
+        if (slider.vars.directionNav) methods.directionNav.setup();
+
+        // KEYBOARD:
+        if (slider.vars.keyboard && ($(slider.containerSelector).length === 1 || slider.vars.multipleKeyboard)) {
+          $(document).bind('keyup', function(event) {
+            var keycode = event.keyCode;
+            if (!slider.animating && (keycode === 39 || keycode === 37)) {
+              var target = (keycode === 39) ? slider.getTarget('next') :
+                           (keycode === 37) ? slider.getTarget('prev') : false;
+              slider.flexAnimate(target, slider.vars.pauseOnAction);
+            }
+          });
+        }
+        // MOUSEWHEEL:
+        if (slider.vars.mousewheel) {
+          slider.bind('mousewheel', function(event, delta, deltaX, deltaY) {
+            event.preventDefault();
+            var target = (delta < 0) ? slider.getTarget('next') : slider.getTarget('prev');
+            slider.flexAnimate(target, slider.vars.pauseOnAction);
+          });
+        }
+
+        // PAUSEPLAY
+        if (slider.vars.pausePlay) methods.pausePlay.setup();
+
+        //PAUSE WHEN INVISIBLE
+        if (slider.vars.slideshow && slider.vars.pauseInvisible) methods.pauseInvisible.init();
+
+        // SLIDSESHOW
+        if (slider.vars.slideshow) {
+          if (slider.vars.pauseOnHover) {
+            slider.hover(function() {
+              if (!slider.manualPlay && !slider.manualPause) slider.pause();
+            }, function() {
+              if (!slider.manualPause && !slider.manualPlay && !slider.stopped) slider.play();
+            });
+          }
+          // initialize animation
+          //If we're visible, or we don't use PageVisibility API
+          if(!slider.vars.pauseInvisible || !methods.pauseInvisible.isHidden()) {
+            (slider.vars.initDelay > 0) ? slider.startTimeout = setTimeout(slider.play, slider.vars.initDelay) : slider.play();
+          }
+        }
+
+        // ASNAV:
+        if (asNav) methods.asNav.setup();
+
+        // TOUCH
+        if (touch && slider.vars.touch) methods.touch();
+
+        // FADE&&SMOOTHHEIGHT || SLIDE:
+        if (!fade || (fade && slider.vars.smoothHeight)) $(window).bind("resize orientationchange focus", methods.resize);
+
+        slider.find("img").attr("draggable", "false");
+
+        // API: start() Callback
+        setTimeout(function(){
+          slider.vars.start(slider);
+        }, 200);
+      },
+      asNav: {
+        setup: function() {
+          slider.asNav = true;
+          slider.animatingTo = Math.floor(slider.currentSlide/slider.move);
+          slider.currentItem = slider.currentSlide;
+          slider.slides.removeClass(namespace + "active-slide").eq(slider.currentItem).addClass(namespace + "active-slide");
+          if(!msGesture){
+              slider.slides.click(function(e){
+                e.preventDefault();
+                var $slide = $(this),
+                    target = $slide.index();
+                var posFromLeft = $slide.offset().left - $(slider).scrollLeft(); // Find position of slide relative to left of slider container
+                if( posFromLeft <= 0 && $slide.hasClass( namespace + 'active-slide' ) ) {
+                  slider.flexAnimate(slider.getTarget("prev"), true);
+                } else if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass(namespace + "active-slide")) {
+                  slider.direction = (slider.currentItem < target) ? "next" : "prev";
+                  slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);
+                }
+              });
+          }else{
+              el._slider = slider;
+              slider.slides.each(function (){
+                  var that = this;
+                  that._gesture = new MSGesture();
+                  that._gesture.target = that;
+                  that.addEventListener("MSPointerDown", function (e){
+                      e.preventDefault();
+                      if(e.currentTarget._gesture)
+                          e.currentTarget._gesture.addPointer(e.pointerId);
+                  }, false);
+                  that.addEventListener("MSGestureTap", function (e){
+                      e.preventDefault();
+                      var $slide = $(this),
+                          target = $slide.index();
+                      if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass('active')) {
+                          slider.direction = (slider.currentItem < target) ? "next" : "prev";
+                          slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);
+                      }
+                  });
+              });
+          }
+        }
+      },
+      controlNav: {
+        setup: function() {
+          if (!slider.manualControls) {
+            methods.controlNav.setupPaging();
+          } else { // MANUALCONTROLS:
+            methods.controlNav.setupManual();
+          }
+        },
+        setupPaging: function() {
+          var type = (slider.vars.controlNav === "thumbnails") ? 'control-thumbs' : 'control-paging',
+              j = 1,
+              item,
+              slide;
+
+          slider.controlNavScaffold = $('<ol class="'+ namespace + 'control-nav ' + namespace + type + '"></ol>');
+
+          if (slider.pagingCount > 1) {
+            for (var i = 0; i < slider.pagingCount; i++) {
+              slide = slider.slides.eq(i);
+              item = (slider.vars.controlNav === "thumbnails") ? '<img src="' + slide.attr( 'data-thumb' ) + '"/>' : '<a>' + j + '</a>';
+              if ( 'thumbnails' === slider.vars.controlNav && true === slider.vars.thumbCaptions ) {
+                var captn = slide.attr( 'data-thumbcaption' );
+                if ( '' != captn && undefined != captn ) item += '<span class="' + namespace + 'caption">' + captn + '</span>';
+              }
+              slider.controlNavScaffold.append('<li>' + item + '</li>');
+              j++;
+            }
+          }
+
+          // CONTROLSCONTAINER:
+          (slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold) : slider.append(slider.controlNavScaffold);
+          methods.controlNav.set();
+
+          methods.controlNav.active();
+
+          slider.controlNavScaffold.delegate('a, img', eventType, function(event) {
+            event.preventDefault();
+
+            if (watchedEvent === "" || watchedEvent === event.type) {
+              var $this = $(this),
+                  target = slider.controlNav.index($this);
+
+              if (!$this.hasClass(namespace + 'active')) {
+                slider.direction = (target > slider.currentSlide) ? "next" : "prev";
+                slider.flexAnimate(target, slider.vars.pauseOnAction);
+              }
+            }
+
+            // setup flags to prevent event duplication
+            if (watchedEvent === "") {
+              watchedEvent = event.type;
+            }
+            methods.setToClearWatchedEvent();
+
+          });
+        },
+        setupManual: function() {
+          slider.controlNav = slider.manualControls;
+          methods.controlNav.active();
+
+          slider.controlNav.bind(eventType, function(event) {
+            event.preventDefault();
+
+            if (watchedEvent === "" || watchedEvent === event.type) {
+              var $this = $(this),
+                  target = slider.controlNav.index($this);
+
+              if (!$this.hasClass(namespace + 'active')) {
+                (target > slider.currentSlide) ? slider.direction = "next" : slider.direction = "prev";
+                slider.flexAnimate(target, slider.vars.pauseOnAction);
+              }
+            }
+
+            // setup flags to prevent event duplication
+            if (watchedEvent === "") {
+              watchedEvent = event.type;
+            }
+            methods.setToClearWatchedEvent();
+          });
+        },
+        set: function() {
+          var selector = (slider.vars.controlNav === "thumbnails") ? 'img' : 'a';
+          slider.controlNav = $('.' + namespace + 'control-nav li ' + selector, (slider.controlsContainer) ? slider.controlsContainer : slider);
+        },
+        active: function() {
+          slider.controlNav.removeClass(namespace + "active").eq(slider.animatingTo).addClass(namespace + "active");
+        },
+        update: function(action, pos) {
+          if (slider.pagingCount > 1 && action === "add") {
+            slider.controlNavScaffold.append($('<li><a>' + slider.count + '</a></li>'));
+          } else if (slider.pagingCount === 1) {
+            slider.controlNavScaffold.find('li').remove();
+          } else {
+            slider.controlNav.eq(pos).closest('li').remove();
+          }
+          methods.controlNav.set();
+          (slider.pagingCount > 1 && slider.pagingCount !== slider.controlNav.length) ? slider.update(pos, action) : methods.controlNav.active();
+        }
+      },
+      directionNav: {
+        setup: function() {
+          var directionNavScaffold = $('<ul class="' + namespace + 'direction-nav"><li><a class="' + namespace + 'prev" href="#">' + slider.vars.prevText + '</a></li><li><a class="' + namespace + 'next" href="#">' + slider.vars.nextText + '</a></li></ul>');
+
+          // CONTROLSCONTAINER:
+          if (slider.controlsContainer) {
+            $(slider.controlsContainer).append(directionNavScaffold);
+            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider.controlsContainer);
+          } else {
+            slider.append(directionNavScaffold);
+            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider);
+          }
+
+          methods.directionNav.update();
+
+          slider.directionNav.bind(eventType, function(event) {
+            event.preventDefault();
+            var target;
+
+            if (watchedEvent === "" || watchedEvent === event.type) {
+              target = ($(this).hasClass(namespace + 'next')) ? slider.getTarget('next') : slider.getTarget('prev');
+              slider.flexAnimate(target, slider.vars.pauseOnAction);
+            }
+
+            // setup flags to prevent event duplication
+            if (watchedEvent === "") {
+              watchedEvent = event.type;
+            }
+            methods.setToClearWatchedEvent();
+          });
+        },
+        update: function() {
+          var disabledClass = namespace + 'disabled';
+          if (slider.pagingCount === 1) {
+            slider.directionNav.addClass(disabledClass).attr('tabindex', '-1');
+          } else if (!slider.vars.animationLoop) {
+            if (slider.animatingTo === 0) {
+              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "prev").addClass(disabledClass).attr('tabindex', '-1');
+            } else if (slider.animatingTo === slider.last) {
+              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "next").addClass(disabledClass).attr('tabindex', '-1');
+            } else {
+              slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');
+            }
+          } else {
+            slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');
+          }
+        }
+      },
+      pausePlay: {
+        setup: function() {
+          var pausePlayScaffold = $('<div class="' + namespace + 'pauseplay"><a></a></div>');
+
+          // CONTROLSCONTAINER:
+          if (slider.controlsContainer) {
+            slider.controlsContainer.append(pausePlayScaffold);
+            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider.controlsContainer);
+          } else {
+            slider.append(pausePlayScaffold);
+            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider);
+          }
+
+          methods.pausePlay.update((slider.vars.slideshow) ? namespace + 'pause' : namespace + 'play');
+
+          slider.pausePlay.bind(eventType, function(event) {
+            event.preventDefault();
+
+            if (watchedEvent === "" || watchedEvent === event.type) {
+              if ($(this).hasClass(namespace + 'pause')) {
+                slider.manualPause = true;
+                slider.manualPlay = false;
+                slider.pause();
+              } else {
+                slider.manualPause = false;
+                slider.manualPlay = true;
+                slider.play();
+              }
+            }
+
+            // setup flags to prevent event duplication
+            if (watchedEvent === "") {
+              watchedEvent = event.type;
+            }
+            methods.setToClearWatchedEvent();
+          });
+        },
+        update: function(state) {
+          (state === "play") ? slider.pausePlay.removeClass(namespace + 'pause').addClass(namespace + 'play').html(slider.vars.playText) : slider.pausePlay.removeClass(namespace + 'play').addClass(namespace + 'pause').html(slider.vars.pauseText);
+        }
+      },
+      touch: function() {
+        var startX,
+          startY,
+          offset,
+          cwidth,
+          dx,
+          startT,
+          scrolling = false,
+          localX = 0,
+          localY = 0,
+          accDx = 0;
+
+        if(!msGesture){
+            el.addEventListener('touchstart', onTouchStart, false);
+
+            function onTouchStart(e) {
+              if (slider.animating) {
+                e.preventDefault();
+              } else if ( ( window.navigator.msPointerEnabled ) || e.touches.length === 1 ) {
+                slider.pause();
+                // CAROUSEL:
+                cwidth = (vertical) ? slider.h : slider. w;
+                startT = Number(new Date());
+                // CAROUSEL:
+
+                // Local vars for X and Y points.
+                localX = e.touches[0].pageX;
+                localY = e.touches[0].pageY;
+
+                offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :
+                         (carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
+                         (carousel && slider.currentSlide === slider.last) ? slider.limit :
+                         (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :
+                         (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
+                startX = (vertical) ? localY : localX;
+                startY = (vertical) ? localX : localY;
+
+                el.addEventListener('touchmove', onTouchMove, false);
+                el.addEventListener('touchend', onTouchEnd, false);
+              }
+            }
+
+            function onTouchMove(e) {
+              // Local vars for X and Y points.
+
+              localX = e.touches[0].pageX;
+              localY = e.touches[0].pageY;
+
+              dx = (vertical) ? startX - localY : startX - localX;
+              scrolling = (vertical) ? (Math.abs(dx) < Math.abs(localX - startY)) : (Math.abs(dx) < Math.abs(localY - startY));
+
+              var fxms = 500;
+
+              if ( ! scrolling || Number( new Date() ) - startT > fxms ) {
+                e.preventDefault();
+                if (!fade && slider.transitions) {
+                  if (!slider.vars.animationLoop) {
+                    dx = dx/((slider.currentSlide === 0 && dx < 0 || slider.currentSlide === slider.last && dx > 0) ? (Math.abs(dx)/cwidth+2) : 1);
+                  }
+                  slider.setProps(offset + dx, "setTouch");
+                }
+              }
+            }
+
+            function onTouchEnd(e) {
+              // finish the touch by undoing the touch session
+              el.removeEventListener('touchmove', onTouchMove, false);
+
+              if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {
+                var updateDx = (reverse) ? -dx : dx,
+                    target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');
+
+                if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {
+                  slider.flexAnimate(target, slider.vars.pauseOnAction);
+                } else {
+                  if (!fade) slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true);
+                }
+              }
+              el.removeEventListener('touchend', onTouchEnd, false);
+
+              startX = null;
+              startY = null;
+              dx = null;
+              offset = null;
+            }
+        }else{
+            el.style.msTouchAction = "none";
+            el._gesture = new MSGesture();
+            el._gesture.target = el;
+            el.addEventListener("MSPointerDown", onMSPointerDown, false);
+            el._slider = slider;
+            el.addEventListener("MSGestureChange", onMSGestureChange, false);
+            el.addEventListener("MSGestureEnd", onMSGestureEnd, false);
+
+            function onMSPointerDown(e){
+                e.stopPropagation();
+                if (slider.animating) {
+                    e.preventDefault();
+                }else{
+                    slider.pause();
+                    el._gesture.addPointer(e.pointerId);
+                    accDx = 0;
+                    cwidth = (vertical) ? slider.h : slider. w;
+                    startT = Number(new Date());
+                    // CAROUSEL:
+
+                    offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :
+                        (carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
+                            (carousel && slider.currentSlide === slider.last) ? slider.limit :
+                                (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :
+                                    (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
+                }
+            }
+
+            function onMSGestureChange(e) {
+                e.stopPropagation();
+                var slider = e.target._slider;
+                if(!slider){
+                    return;
+                }
+                var transX = -e.translationX,
+                    transY = -e.translationY;
+
+                //Accumulate translations.
+                accDx = accDx + ((vertical) ? transY : transX);
+                dx = accDx;
+                scrolling = (vertical) ? (Math.abs(accDx) < Math.abs(-transX)) : (Math.abs(accDx) < Math.abs(-transY));
+
+                if(e.detail === e.MSGESTURE_FLAG_INERTIA){
+                    setImmediate(function (){
+                        el._gesture.stop();
+                    });
+
+                    return;
+                }
+
+                if (!scrolling || Number(new Date()) - startT > 500) {
+                    e.preventDefault();
+                    if (!fade && slider.transitions) {
+                        if (!slider.vars.animationLoop) {
+                            dx = accDx / ((slider.currentSlide === 0 && accDx < 0 || slider.currentSlide === slider.last && accDx > 0) ? (Math.abs(accDx) / cwidth + 2) : 1);
+                        }
+                        slider.setProps(offset + dx, "setTouch");
+                    }
+                }
+            }
+
+            function onMSGestureEnd(e) {
+                e.stopPropagation();
+                var slider = e.target._slider;
+                if(!slider){
+                    return;
+                }
+                if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {
+                    var updateDx = (reverse) ? -dx : dx,
+                        target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');
+
+                    if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {
+                        slider.flexAnimate(target, slider.vars.pauseOnAction);
+                    } else {
+                        if (!fade) slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true);
+                    }
+                }
+
+                startX = null;
+                startY = null;
+                dx = null;
+                offset = null;
+                accDx = 0;
+            }
+        }
+      },
+      resize: function() {
+        if (!slider.animating && slider.is(':visible')) {
+          if (!carousel) slider.doMath();
+
+          if (fade) {
+            // SMOOTH HEIGHT:
+            methods.smoothHeight();
+          } else if (carousel) { //CAROUSEL:
+            slider.slides.width(slider.computedW);
+            slider.update(slider.pagingCount);
+            slider.setProps();
+          }
+          else if (vertical) { //VERTICAL:
+            slider.viewport.height(slider.h);
+            slider.setProps(slider.h, "setTotal");
+          } else {
+            // SMOOTH HEIGHT:
+            if (slider.vars.smoothHeight) methods.smoothHeight();
+            slider.newSlides.width(slider.computedW);
+            slider.setProps(slider.computedW, "setTotal");
+          }
+        }
+      },
+      smoothHeight: function(dur) {
+        if (!vertical || fade) {
+          var $obj = (fade) ? slider : slider.viewport;
+          (dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).height()}, dur) : $obj.height(slider.slides.eq(slider.animatingTo).height());
+        }
+      },
+      sync: function(action) {
+        var $obj = $(slider.vars.sync).data("flexslider"),
+            target = slider.animatingTo;
+
+        switch (action) {
+          case "animate": $obj.flexAnimate(target, slider.vars.pauseOnAction, false, true); break;
+          case "play": if (!$obj.playing && !$obj.asNav) { $obj.play(); } break;
+          case "pause": $obj.pause(); break;
+        }
+      },
+      pauseInvisible: {
+        visProp: null,
+        init: function() {
+          var prefixes = ['webkit','moz','ms','o'];
+
+          if ('hidden' in document) return 'hidden';
+          for (var i = 0; i < prefixes.length; i++) {
+            if ((prefixes[i] + 'Hidden') in document) 
+            methods.pauseInvisible.visProp = prefixes[i] + 'Hidden';
+          }
+          if (methods.pauseInvisible.visProp) {
+            var evtname = methods.pauseInvisible.visProp.replace(/[H|h]idden/,'') + 'visibilitychange';
+            document.addEventListener(evtname, function() {
+              if (methods.pauseInvisible.isHidden()) {
+                if(slider.startTimeout) clearTimeout(slider.startTimeout); //If clock is ticking, stop timer and prevent from starting while invisible
+                else slider.pause(); //Or just pause
+              }
+              else {
+                if(slider.started) slider.play(); //Initiated before, just play
+                else (slider.vars.initDelay > 0) ? setTimeout(slider.play, slider.vars.initDelay) : slider.play(); //Didn't init before: simply init or wait for it
+              }
+            });
+          }       
+        },
+        isHidden: function() {
+          return document[methods.pauseInvisible.visProp] || false;
+        }
+      },
+      setToClearWatchedEvent: function() {
+        clearTimeout(watchedEventClearTimer);
+        watchedEventClearTimer = setTimeout(function() {
+          watchedEvent = "";
+        }, 3000);
+      }
+    }
+
+    // public methods
+    slider.flexAnimate = function(target, pause, override, withSync, fromNav) {
+      if (!slider.vars.animationLoop && target !== slider.currentSlide) {
+        slider.direction = (target > slider.currentSlide) ? "next" : "prev";
+      }
+
+      if (asNav && slider.pagingCount === 1) slider.direction = (slider.currentItem < target) ? "next" : "prev";
+
+      if (!slider.animating && (slider.canAdvance(target, fromNav) || override) && slider.is(":visible")) {
+        if (asNav && withSync) {
+          var master = $(slider.vars.asNavFor).data('flexslider');
+          slider.atEnd = target === 0 || target === slider.count - 1;
+          master.flexAnimate(target, true, false, true, fromNav);
+          slider.direction = (slider.currentItem < target) ? "next" : "prev";
+          master.direction = slider.direction;
+
+          if (Math.ceil((target + 1)/slider.visible) - 1 !== slider.currentSlide && target !== 0) {
+            slider.currentItem = target;
+            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
+            target = Math.floor(target/slider.visible);
+          } else {
+            slider.currentItem = target;
+            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
+            return false;
+          }
+        }
+
+        slider.animating = true;
+        slider.animatingTo = target;
+
+        // SLIDESHOW:
+        if (pause) slider.pause();
+
+        // API: before() animation Callback
+        slider.vars.before(slider);
+
+        // SYNC:
+        if (slider.syncExists && !fromNav) methods.sync("animate");
+
+        // CONTROLNAV
+        if (slider.vars.controlNav) methods.controlNav.active();
+
+        // !CAROUSEL:
+        // CANDIDATE: slide active class (for add/remove slide)
+        if (!carousel) slider.slides.removeClass(namespace + 'active-slide').eq(target).addClass(namespace + 'active-slide');
+
+        // INFINITE LOOP:
+        // CANDIDATE: atEnd
+        slider.atEnd = target === 0 || target === slider.last;
+
+        // DIRECTIONNAV:
+        if (slider.vars.directionNav) methods.directionNav.update();
+
+        if (target === slider.last) {
+          // API: end() of cycle Callback
+          slider.vars.end(slider);
+          // SLIDESHOW && !INFINITE LOOP:
+          if (!slider.vars.animationLoop) slider.pause();
+        }
+
+        // SLIDE:
+        if (!fade) {
+          var dimension = (vertical) ? slider.slides.filter(':first').height() : slider.computedW,
+              margin, slideString, calcNext;
+
+          // INFINITE LOOP / REVERSE:
+          if (carousel) {
+            //margin = (slider.vars.itemWidth > slider.w) ? slider.vars.itemMargin * 2 : slider.vars.itemMargin;
+            margin = slider.vars.itemMargin;
+            calcNext = ((slider.itemW + margin) * slider.move) * slider.animatingTo;
+            slideString = (calcNext > slider.limit && slider.visible !== 1) ? slider.limit : calcNext;
+          } else if (slider.currentSlide === 0 && target === slider.count - 1 && slider.vars.animationLoop && slider.direction !== "next") {
+            slideString = (reverse) ? (slider.count + slider.cloneOffset) * dimension : 0;
+          } else if (slider.currentSlide === slider.last && target === 0 && slider.vars.animationLoop && slider.direction !== "prev") {
+            slideString = (reverse) ? 0 : (slider.count + 1) * dimension;
+          } else {
+            slideString = (reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension : (target + slider.cloneOffset) * dimension;
+          }
+          slider.setProps(slideString, "", slider.vars.animationSpeed);
+          if (slider.transitions) {
+            if (!slider.vars.animationLoop || !slider.atEnd) {
+              slider.animating = false;
+              slider.currentSlide = slider.animatingTo;
+            }
+            slider.container.unbind("webkitTransitionEnd transitionend");
+            slider.container.bind("webkitTransitionEnd transitionend", function() {
+              slider.wrapup(dimension);
+            });
+          } else {
+            slider.container.animate(slider.args, slider.vars.animationSpeed, slider.vars.easing, function(){
+              slider.wrapup(dimension);
+            });
+          }
+        } else { // FADE:
+          if (!touch) {
+            //slider.slides.eq(slider.currentSlide).fadeOut(slider.vars.animationSpeed, slider.vars.easing);
+            //slider.slides.eq(target).fadeIn(slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);
+
+            slider.slides.eq(slider.currentSlide).css({"zIndex": 1}).animate({"opacity": 0}, slider.vars.animationSpeed, slider.vars.easing);
+            slider.slides.eq(target).css({"zIndex": 2}).animate({"opacity": 1}, slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);
+
+          } else {
+            slider.slides.eq(slider.currentSlide).css({ "opacity": 0, "zIndex": 1 });
+            slider.slides.eq(target).css({ "opacity": 1, "zIndex": 2 });
+            slider.wrapup(dimension);
+          }
+        }
+        // SMOOTH HEIGHT:
+        if (slider.vars.smoothHeight) methods.smoothHeight(slider.vars.animationSpeed);
+      }
+    }
+    slider.wrapup = function(dimension) {
+      // SLIDE:
+      if (!fade && !carousel) {
+        if (slider.currentSlide === 0 && slider.animatingTo === slider.last && slider.vars.animationLoop) {
+          slider.setProps(dimension, "jumpEnd");
+        } else if (slider.currentSlide === slider.last && slider.animatingTo === 0 && slider.vars.animationLoop) {
+          slider.setProps(dimension, "jumpStart");
+        }
+      }
+      slider.animating = false;
+      slider.currentSlide = slider.animatingTo;
+      // API: after() animation Callback
+      slider.vars.after(slider);
+    }
+
+    // SLIDESHOW:
+    slider.animateSlides = function() {
+      if (!slider.animating && focused ) slider.flexAnimate(slider.getTarget("next"));
+    }
+    // SLIDESHOW:
+    slider.pause = function() {
+      clearInterval(slider.animatedSlides);
+      slider.animatedSlides = null;
+      slider.playing = false;
+      // PAUSEPLAY:
+      if (slider.vars.pausePlay) methods.pausePlay.update("play");
+      // SYNC:
+      if (slider.syncExists) methods.sync("pause");
+    }
+    // SLIDESHOW:
+    slider.play = function() {
+      if (slider.playing) clearInterval(slider.animatedSlides);
+      slider.animatedSlides = slider.animatedSlides || setInterval(slider.animateSlides, slider.vars.slideshowSpeed);
+      slider.started = slider.playing = true;
+      // PAUSEPLAY:
+      if (slider.vars.pausePlay) methods.pausePlay.update("pause");
+      // SYNC:
+      if (slider.syncExists) methods.sync("play");
+    }
+    // STOP:
+    slider.stop = function () {
+      slider.pause();
+      slider.stopped = true;
+    }
+    slider.canAdvance = function(target, fromNav) {
+      // ASNAV:
+      var last = (asNav) ? slider.pagingCount - 1 : slider.last;
+      return (fromNav) ? true :
+             (asNav && slider.currentItem === slider.count - 1 && target === 0 && slider.direction === "prev") ? true :
+             (asNav && slider.currentItem === 0 && target === slider.pagingCount - 1 && slider.direction !== "next") ? false :
+             (target === slider.currentSlide && !asNav) ? false :
+             (slider.vars.animationLoop) ? true :
+             (slider.atEnd && slider.currentSlide === 0 && target === last && slider.direction !== "next") ? false :
+             (slider.atEnd && slider.currentSlide === last && target === 0 && slider.direction === "next") ? false :
+             true;
+    }
+    slider.getTarget = function(dir) {
+      slider.direction = dir;
+      if (dir === "next") {
+        return (slider.currentSlide === slider.last) ? 0 : slider.currentSlide + 1;
+      } else {
+        return (slider.currentSlide === 0) ? slider.last : slider.currentSlide - 1;
+      }
+    }
+
+    // SLIDE:
+    slider.setProps = function(pos, special, dur) {
+      var target = (function() {
+        var posCheck = (pos) ? pos : ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo,
+            posCalc = (function() {
+              if (carousel) {
+                return (special === "setTouch") ? pos :
+                       (reverse && slider.animatingTo === slider.last) ? 0 :
+                       (reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
+                       (slider.animatingTo === slider.last) ? slider.limit : posCheck;
+              } else {
+                switch (special) {
+                  case "setTotal": return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos : (slider.currentSlide + slider.cloneOffset) * pos;
+                  case "setTouch": return (reverse) ? pos : pos;
+                  case "jumpEnd": return (reverse) ? pos : slider.count * pos;
+                  case "jumpStart": return (reverse) ? slider.count * pos : pos;
+                  default: return pos;
+                }
+              }
+            }());
+
+            return (posCalc * -1) + "px";
+          }());
+
+      if (slider.transitions) {
+        target = (vertical) ? "translate3d(0," + target + ",0)" : "translate3d(" + target + ",0,0)";
+        dur = (dur !== undefined) ? (dur/1000) + "s" : "0s";
+        slider.container.css("-" + slider.pfx + "-transition-duration", dur);
+      }
+
+      slider.args[slider.prop] = target;
+      if (slider.transitions || dur === undefined) slider.container.css(slider.args);
+    }
+
+    slider.setup = function(type) {
+      // SLIDE:
+      if (!fade) {
+        var sliderOffset, arr;
+
+        if (type === "init") {
+          slider.viewport = $('<div class="' + namespace + 'viewport"></div>').css({"overflow": "hidden", "position": "relative"}).appendTo(slider).append(slider.container);
+          // INFINITE LOOP:
+          slider.cloneCount = 0;
+          slider.cloneOffset = 0;
+          // REVERSE:
+          if (reverse) {
+            arr = $.makeArray(slider.slides).reverse();
+            slider.slides = $(arr);
+            slider.container.empty().append(slider.slides);
+          }
+        }
+        // INFINITE LOOP && !CAROUSEL:
+        if (slider.vars.animationLoop && !carousel) {
+          slider.cloneCount = 2;
+          slider.cloneOffset = 1;
+          // clear out old clones
+          if (type !== "init") slider.container.find('.clone').remove();
+          slider.container.append(slider.slides.first().clone().addClass('clone').attr('aria-hidden', 'true')).prepend(slider.slides.last().clone().addClass('clone').attr('aria-hidden', 'true'));
+        }
+        slider.newSlides = $(slider.vars.selector, slider);
+
+        sliderOffset = (reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset : slider.currentSlide + slider.cloneOffset;
+        // VERTICAL:
+        if (vertical && !carousel) {
+          slider.container.height((slider.count + slider.cloneCount) * 200 + "%").css("position", "absolute").width("100%");
+          setTimeout(function(){
+            slider.newSlides.css({"display": "block"});
+            slider.doMath();
+            slider.viewport.height(slider.h);
+            slider.setProps(sliderOffset * slider.h, "init");
+          }, (type === "init") ? 100 : 0);
+        } else {
+          slider.container.width((slider.count + slider.cloneCount) * 200 + "%");
+          slider.setProps(sliderOffset * slider.computedW, "init");
+          setTimeout(function(){
+            slider.doMath();
+            slider.newSlides.css({"width": slider.computedW, "float": "left", "display": "block"});
+            // SMOOTH HEIGHT:
+            if (slider.vars.smoothHeight) methods.smoothHeight();
+          }, (type === "init") ? 100 : 0);
+        }
+      } else { // FADE:
+        slider.slides.css({"width": "100%", "float": "left", "marginRight": "-100%", "position": "relative"});
+        if (type === "init") {
+          if (!touch) {
+            //slider.slides.eq(slider.currentSlide).fadeIn(slider.vars.animationSpeed, slider.vars.easing);
+            slider.slides.css({ "opacity": 0, "display": "block", "zIndex": 1 }).eq(slider.currentSlide).css({"zIndex": 2}).animate({"opacity": 1},slider.vars.animationSpeed,slider.vars.easing);
+          } else {
+            slider.slides.css({ "opacity": 0, "display": "block", "webkitTransition": "opacity " + slider.vars.animationSpeed / 1000 + "s ease", "zIndex": 1 }).eq(slider.currentSlide).css({ "opacity": 1, "zIndex": 2});
+          }
+        }
+        // SMOOTH HEIGHT:
+        if (slider.vars.smoothHeight) methods.smoothHeight();
+      }
+      // !CAROUSEL:
+      // CANDIDATE: active slide
+      if (!carousel) slider.slides.removeClass(namespace + "active-slide").eq(slider.currentSlide).addClass(namespace + "active-slide");
+    }
+
+
+    slider.doMath = function() {
+      var slide = slider.slides.first(),
+          slideMargin = slider.vars.itemMargin,
+          minItems = slider.vars.minItems,
+          maxItems = slider.vars.maxItems;
+
+      slider.w = (slider.viewport===undefined) ? slider.width() : slider.viewport.width();
+      slider.h = slide.height();
+      slider.boxPadding = slide.outerWidth() - slide.width();
+
+      // CAROUSEL:
+      if (carousel) {
+        slider.itemT = slider.vars.itemWidth + slideMargin;
+        slider.minW = (minItems) ? minItems * slider.itemT : slider.w;
+        slider.maxW = (maxItems) ? (maxItems * slider.itemT) - slideMargin : slider.w;
+        slider.itemW = (slider.minW > slider.w) ? (slider.w - (slideMargin * (minItems - 1)))/minItems :
+                       (slider.maxW < slider.w) ? (slider.w - (slideMargin * (maxItems - 1)))/maxItems :
+                       (slider.vars.itemWidth > slider.w) ? slider.w : slider.vars.itemWidth;
+
+        slider.visible = Math.floor(slider.w/(slider.itemW));
+        slider.move = (slider.vars.move > 0 && slider.vars.move < slider.visible ) ? slider.vars.move : slider.visible;
+        slider.pagingCount = Math.ceil(((slider.count - slider.visible)/slider.move) + 1);
+        slider.last =  slider.pagingCount - 1;
+        slider.limit = (slider.pagingCount === 1) ? 0 :
+                       (slider.vars.itemWidth > slider.w) ? (slider.itemW * (slider.count - 1)) + (slideMargin * (slider.count - 1)) : ((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;
+      } else {
+        slider.itemW = slider.w;
+        slider.pagingCount = slider.count;
+        slider.last = slider.count - 1;
+      }
+      slider.computedW = slider.itemW - slider.boxPadding;
+    //  Utils.MsgBox(slider.computedW);
+    }
+
+
+    slider.update = function(pos, action) {
+      slider.doMath();
+
+      // update currentSlide and slider.animatingTo if necessary
+      if (!carousel) {
+        if (pos < slider.currentSlide) {
+          slider.currentSlide += 1;
+        } else if (pos <= slider.currentSlide && pos !== 0) {
+          slider.currentSlide -= 1;
+        }
+        slider.animatingTo = slider.currentSlide;
+      }
+
+      // update controlNav
+      if (slider.vars.controlNav && !slider.manualControls) {
+        if ((action === "add" && !carousel) || slider.pagingCount > slider.controlNav.length) {
+          methods.controlNav.update("add");
+        } else if ((action === "remove" && !carousel) || slider.pagingCount < slider.controlNav.length) {
+          if (carousel && slider.currentSlide > slider.last) {
+            slider.currentSlide -= 1;
+            slider.animatingTo -= 1;
+          }
+          methods.controlNav.update("remove", slider.last);
+        }
+      }
+      // update directionNav
+      if (slider.vars.directionNav) methods.directionNav.update();
+
+    }
+
+    slider.addSlide = function(obj, pos) {
+      var $obj = $(obj);
+
+      slider.count += 1;
+      slider.last = slider.count - 1;
+
+      // append new slide
+      if (vertical && reverse) {
+        (pos !== undefined) ? slider.slides.eq(slider.count - pos).after($obj) : slider.container.prepend($obj);
+      } else {
+        (pos !== undefined) ? slider.slides.eq(pos).before($obj) : slider.container.append($obj);
+      }
+
+      // update currentSlide, animatingTo, controlNav, and directionNav
+      slider.update(pos, "add");
+
+      // update slider.slides
+      slider.slides = $(slider.vars.selector + ':not(.clone)', slider);
+      // re-setup the slider to accomdate new slide
+      slider.setup();
+
+      //FlexSlider: added() Callback
+      slider.vars.added(slider);
+    }
+    slider.removeSlide = function(obj) {
+      var pos = (isNaN(obj)) ? slider.slides.index($(obj)) : obj;
+
+      // update count
+      slider.count -= 1;
+      slider.last = slider.count - 1;
+
+      // remove slide
+      if (isNaN(obj)) {
+        $(obj, slider.slides).remove();
+      } else {
+        (vertical && reverse) ? slider.slides.eq(slider.last).remove() : slider.slides.eq(obj).remove();
+      }
+
+      // update currentSlide, animatingTo, controlNav, and directionNav
+      slider.doMath();
+      slider.update(pos, "remove");
+
+      // update slider.slides
+      slider.slides = $(slider.vars.selector + ':not(.clone)', slider);
+      // re-setup the slider to accomdate new slide
+      slider.setup();
+
+      // FlexSlider: removed() Callback
+      slider.vars.removed(slider);
+    }
+
+    //FlexSlider: Initialize
+    methods.init();
+  }
+
+  // Ensure the slider isn't focussed if the window loses focus.
+  $( window ).blur( function ( e ) {
+    focused = false;
+  }).focus( function ( e ) {
+    focused = true;
+  });
+
+  //FlexSlider: Default Settings
+  $.flexslider.defaults = {
+    namespace: "flex-",             //{NEW} String: Prefix string attached to the class of every element generated by the plugin
+    selector: ".slides > li",       //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril
+    animation: "fade",              //String: Select your animation type, "fade" or "slide"
+    easing: "swing",                //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!
+    direction: "horizontal",        //String: Select the sliding direction, "horizontal" or "vertical"
+    reverse: false,                 //{NEW} Boolean: Reverse the animation direction
+    animationLoop: true,            //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
+    smoothHeight: false,            //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode
+    startAt: 0,                     //Integer: The slide that the slider should start on. Array notation (0 = first slide)
+    slideshow: true,                //Boolean: Animate slider automatically
+    slideshowSpeed: 7000,           //Integer: Set the speed of the slideshow cycling, in milliseconds
+    animationSpeed: 600,            //Integer: Set the speed of animations, in milliseconds
+    initDelay: 0,                   //{NEW} Integer: Set an initialization delay, in milliseconds
+    randomize: false,               //Boolean: Randomize slide order
+    thumbCaptions: false,           //Boolean: Whether or not to put captions on thumbnails when using the "thumbnails" controlNav.
+
+    // Usability features
+    pauseOnAction: true,            //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
+    pauseOnHover: false,            //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
+    pauseInvisible: true,   		//{NEW} Boolean: Pause the slideshow when tab is invisible, resume when visible. Provides better UX, lower CPU usage.
+    useCSS: true,                   //{NEW} Boolean: Slider will use CSS3 transitions if available
+    touch: true,                    //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
+    video: false,                   //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches
+
+    // Primary Controls
+    controlNav: true,               //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage
+    directionNav: true,             //Boolean: Create navigation for previous/next navigation? (true/false)
+    prevText: "Previous",           //String: Set the text for the "previous" directionNav item
+    nextText: "Next",               //String: Set the text for the "next" directionNav item
+
+    // Secondary Navigation
+    keyboard: true,                 //Boolean: Allow slider navigating via keyboard left/right keys
+    multipleKeyboard: false,        //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.
+    mousewheel: false,              //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel
+    pausePlay: false,               //Boolean: Create pause/play dynamic element
+    pauseText: "Pause",             //String: Set the text for the "pause" pausePlay item
+    playText: "Play",               //String: Set the text for the "play" pausePlay item
+
+    // Special properties
+    controlsContainer: "",          //{UPDATED} jQuery Object/Selector: Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be $(".flexslider-container"). Property is ignored if given element is not found.
+    manualControls: "",             //{UPDATED} jQuery Object/Selector: Declare custom control navigation. Examples would be $(".flex-control-nav li") or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
+    sync: "",                       //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.
+    asNavFor: "",                   //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider
+
+    // Carousel Options
+    itemWidth: 0,                   //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.
+    itemMargin: 0,                  //{NEW} Integer: Margin between carousel items.
+    minItems: 1,                    //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.
+    maxItems: 0,                    //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.
+    move: 0,                        //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.
+    allowOneSlide: true,           //{NEW} Boolean: Whether or not to allow a slider comprised of a single slide
+
+    // Callback API
+    start: function(){},            //Callback: function(slider) - Fires when the slider loads the first slide
+    before: function(){},           //Callback: function(slider) - Fires asynchronously with each slider animation
+    after: function(){},            //Callback: function(slider) - Fires after each slider animation completes
+    end: function(){},              //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
+    added: function(){},            //{NEW} Callback: function(slider) - Fires after a slide is added
+    removed: function(){}           //{NEW} Callback: function(slider) - Fires after a slide is removed
+  }
+
+
+  //FlexSlider: Plugin Function
+  $.fn.flexslider = function(options) {
+    if (options === undefined) options = {};
+
+    if (typeof options === "object") {
+      return this.each(function() {
+        var $this = $(this),
+            selector = (options.selector) ? options.selector : ".slides > li",
+            $slides = $this.find(selector);
+
+      if ( ( $slides.length === 1 && options.allowOneSlide === true ) || $slides.length === 0 ) {
+          $slides.fadeIn(400);
+          if (options.start) options.start($this);
+        } else if ($this.data('flexslider') === undefined) {
+          new $.flexslider(this, options);
+        }
+      });
+    } else {
+      // Helper strings to quickly perform functions on the slider
+      var $slider = $(this).data('flexslider');
+      switch (options) {
+        case "play": $slider.play(); break;
+        case "pause": $slider.pause(); break;
+        case "stop": $slider.stop(); break;
+        case "next": $slider.flexAnimate($slider.getTarget("next"), true); break;
+        case "prev":
+        case "previous": $slider.flexAnimate($slider.getTarget("prev"), true); break;
+        default: if (typeof options === "number") $slider.flexAnimate(options, true);
+      }
+    }
+  }
+})(jQuery);
+
+;/**
+ * SyntaxHighlighter
+ * http://alexgorbatchev.com/SyntaxHighlighter
+ *
+ * SyntaxHighlighter is donationware. If you are using it, please donate.
+ * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
+ *
+ * @version
+ * 3.0.83 (July 02 2010)
+ * 
+ * @copyright
+ * Copyright (C) 2004-2010 Alex Gorbatchev.
+ *
+ * @license
+ * Dual licensed under the MIT and GPL licenses.
+ */
+eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a<f.L;a++)I(f[a]===e)H a;H-1}M=6(f,e){K a=[],b=M.1B,c=0,d,h;I(M.1R(f)){I(e!==1d)1S 3m("2a\'t 5r 5I 5F 5B 5C 15 5E 5p");H r(f)}I(v)1S 2U("2a\'t W 3l M 59 5m 5g 5x 5i");e=e||"";O(d={2N:11,19:[],2K:6(g){H e.1i(g)>-1},3d:6(g){e+=g}};c<f.L;)I(h=B(f,c,b,d)){a.U(h.3k);c+=h.1C[0].L||1}Y I(h=n.X.W(z[b],f.1a(c))){a.U(h[0]);c+=h[0].L}Y{h=f.3a(c);I(h==="[")b=M.2I;Y I(h==="]")b=M.1B;a.U(h);c++}a=15(a.1K(""),n.Q.W(e,w,""));a.1w={1m:f,19:d.2N?d.19:N};H a};M.3v="1.5.0";M.2I=1;M.1B=2;K C=/\\$(?:(\\d\\d?|[$&`\'])|{([$\\w]+)})/g,w=/[^5h]+|([\\s\\S])(?=[\\s\\S]*\\1)/g,A=/^(?:[?*+]|{\\d+(?:,\\d*)?})\\??/,v=11,u=[],n={X:15.Z.X,1A:15.Z.1A,1C:1r.Z.1C,Q:1r.Z.Q,1e:1r.Z.1e},x=n.X.W(/()??/,"")[1]===1d,D=6(){K f=/^/g;n.1A.W(f,"");H!f.12}(),y=6(){K f=/x/g;n.Q.W("x",f,"");H!f.12}(),E=15.Z.3n!==1d,z={};z[M.2I]=/^(?:\\\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\\29-26-f]{2}|u[\\29-26-f]{4}|c[A-3o-z]|[\\s\\S]))/;z[M.1B]=/^(?:\\\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\\d*|x[\\29-26-f]{2}|u[\\29-26-f]{4}|c[A-3o-z]|[\\s\\S])|\\(\\?[:=!]|[?*+]\\?|{\\d+(?:,\\d*)?}\\??)/;M.1h=6(f,e,a,b){u.U({2q:r(f,"g"+(E?"y":"")),2b:e,3r:a||M.1B,2p:b||N})};M.2n=6(f,e){K a=f+"/"+(e||"");H M.2n[a]||(M.2n[a]=M(f,e))};M.3c=6(f){H r(f,"g")};M.5l=6(f){H f.Q(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,"\\\\$&")};M.5e=6(f,e,a,b){e=r(e,"g"+(b&&E?"y":""));e.12=a=a||0;f=e.X(f);H b?f&&f.P===a?f:N:f};M.3q=6(){M.1h=6(){1S 2U("2a\'t 55 1h 54 3q")}};M.1R=6(f){H 53.Z.1q.W(f)==="[2m 15]"};M.3p=6(f,e,a,b){O(K c=r(e,"g"),d=-1,h;h=c.X(f);){a.W(b,h,++d,f,c);c.12===h.P&&c.12++}I(e.1J)e.12=0};M.57=6(f,e){H 6 a(b,c){K d=e[c].1I?e[c]:{1I:e[c]},h=r(d.1I,"g"),g=[],i;O(i=0;i<b.L;i++)M.3p(b[i],h,6(k){g.U(d.3j?k[d.3j]||"":k[0])});H c===e.L-1||!g.L?g:a(g,c+1)}([f],0)};15.Z.1p=6(f,e){H J.X(e[0])};15.Z.W=6(f,e){H J.X(e)};15.Z.X=6(f){K e=n.X.1p(J,14),a;I(e){I(!x&&e.L>1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;b<e.L;b++)I(a=J.1w.19[b-1])e[a]=e[b];!D&&J.1J&&!e[0].L&&J.12>e.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;d<b.L;d++)I(b[d])14[0][b[d]]=14[d+1]}I(a&&f.1J)f.12=14[14.L-2]+14[0].L;H e.1p(N,14)});Y{c=J+"";c=n.Q.W(c,f,6(){K d=14;H n.Q.W(e,C,6(h,g,i){I(g)5b(g){24"$":H"$";24"&":H d[0];24"`":H d[d.L-1].1a(0,d[d.L-2]);24"\'":H d[d.L-1].1a(d[d.L-2]+d[0].L);5a:i="";g=+g;I(!g)H h;O(;g>d.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P<a.L&&3b.Z.U.1p(b,d.1a(1));h=d[0].L;c=f.12;I(b.L>=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a<d.L&&i==N;a++)i=p(d[a],b,c);H i}6 C(a,b){K c={},d;O(d 2g a)c[d]=a[d];O(d 2g b)c[d]=b[d];H c}6 w(a,b,c,d){6 h(g){g=g||1P.5y;I(!g.1F){g.1F=g.52;g.3N=6(){J.5w=11}}c.W(d||1P,g)}a.3g?a.3g("4U"+b,h):a.4y(b,h,11)}6 A(a,b){K c=e.1Y.2j,d=N;I(c==N){c={};O(K h 2g e.1U){K g=e.1U[h];d=g.4x;I(d!=N){g.1V=h.4w();O(g=0;g<d.L;g++)c[d[g]]=h}}e.1Y.2j=c}d=e.1U[c[a]];d==N&&b!=11&&1P.1X(e.13.1x.1X+(e.13.1x.3E+a));H d}6 v(a,b){O(K c=a.1e("\\n"),d=0;d<c.L;d++)c[d]=b(c[d],d);H c.1K("\\n")}6 u(a,b){I(a==N||a.L==0||a=="\\n")H a;a=a.Q(/</g,"&1y;");a=a.Q(/ {2,}/g,6(c){O(K d="",h=0;h<c.L-1;h++)d+=e.13.1W;H d+" "});I(b!=N)a=v(a,6(c){I(c.L==0)H"";K d="";c=c.Q(/^(&2s;| )+/,6(h){d=h;H""});I(c.L==0)H d;H d+\'<17 1g="\'+b+\'">\'+c+"</17>"});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+="                    ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.P<b.P)H-1;Y I(a.P>b.P)H 1;Y I(a.L<b.L)H-1;Y I(a.L>b.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'<a 2h="\'+c+\'">\'+c+"</a>"+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<a.L;c++)a[c].3s=="20"&&b.U(a[c]);H b}6 f(a){a=a.1F;K b=p(a,".20",R);a=p(a,".3O",R);K c=1E.4i("3t");I(!(!a||!b||p(a,"3t"))){B(b.1c);r(b,"1m");O(K d=a.3G,h=[],g=0;g<d.L;g++)h.U(d[g].4z||d[g].4A);h=h.1K("\\r");c.39(1E.4D(h));a.39(c);c.2C();c.4C();w(c,"4u",6(){c.2G.4E(c);b.1l=b.1l.Q("1m","")})}}I(1j 3F!="1d"&&1j M=="1d")M=3F("M").M;K e={2v:{"1g-27":"","2i-1s":1,"2z-1s-2t":11,1M:N,1t:N,"42-45":R,"43-22":4,1u:R,16:R,"3V-17":R,2l:11,"41-40":R,2k:11,"1z-1k":11},13:{1W:"&2s;",2M:R,46:11,44:11,34:"4n",1x:{21:"4o 1m",2P:"?",1X:"1v\\n\\n",3E:"4r\'t 4t 1D O: ",4g:"4m 4B\'t 51 O 1z-1k 4F: ",37:\'<!4T 1z 4S "-//4V//3H 4W 1.0 4Z//4Y" "1Z://2y.3L.3K/4X/3I/3H/3I-4P.4J"><1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v</1t></3J><3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;"><T 1L="2O-3D:3C;3w-32:1.6z;"><T 1L="25-22:6A-6E;">1v</T><T 1L="25-22:.6C;3w-6B:6R;"><T>3v 3.0.76 (72 73 3x)</T><T><a 2h="1Z://3u.2w/1v" 1F="38" 1L="2f:#3y">1Z://3u.2w/1v</a></T><T>70 17 6U 71.</T><T>6T 6X-3x 6Y 6D.</T></T><T>6t 61 60 J 1k, 5Z <a 2h="6u://2y.62.2w/63-66/65?64=5X-5W&5P=5O" 1L="2f:#3y">5R</a> 5V <2R/>5U 5T 5S!</T></T></3B></1z>\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'<T 1g="16">\',d=e.16.2x,h=d.2X,g=0;g<h.L;g++)c+=(d[h[g]].1H||b)(a,h[g]);c+="</T>";H c},2o:6(a,b,c){H\'<2W><a 2h="#" 1g="6e 6h\'+b+" "+b+\'">\'+c+"</a></2W>"},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h<c.L;h++)d.U(c[h]);c=d}c=c;d=[];I(e.13.2M)c=c.1O(z());I(c.L===0)H d;O(h=0;h<c.L;h++){O(K g=c[h],i=a,k=c[h].1l,j=3W 0,l={},m=1f M("^\\\\[(?<2V>(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g<c.L;g++){b=c[g];K i=b.1F,k=b.1n,j=k.1D,l;I(j!=N){I(k["1z-1k"]=="R"||e.2v["1z-1k"]==R){d=1f e.4l(j);j="4O"}Y I(d=A(j))d=1f d;Y 6H;l=i.3X;I(h.2M){l=l;K m=x(l),s=11;I(m.1i("<![6G[")==0){m=m.4h(9);s=R}K o=m.L;I(m.1i("]]\\>")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;m<j.L;m++)j[m].P+=l}K c=A(a),d,h=1f e.1U.5Y,g=J,i="2F 1H 2Q".1e(" ");I(c!=N){d=1f c;O(K k=0;k<i.L;k++)(6(){K j=i[k];g[j]=6(){H h[j].1p(h,14)}})();d.28==N?1P.1X(e.13.1x.1X+(e.13.1x.4g+a)):h.2J.U({1I:d.28.17,2D:6(j){O(K l=j.17,m=[],s=d.2J,o=j.P+j.18.L,F=d.28,q,G=0;G<s.L;G++){q=y(l,s[G]);b(q,o);m=m.1O(q)}I(F.18!=N&&j.18!=N){q=y(j.18,F.18);b(q,j.P);m=m.1O(q)}I(F.1b!=N&&j.1b!=N){q=y(j.1b,F.1b);b(q,j.P+j[0].5Q(j.1b));m=m.1O(q)}O(j=0;j<m.L;j++)m[j].1V=c.1V;H m}})}};e.4j=6(){};e.4j.Z={V:6(a,b){K c=J.1n[a];c=c==N?b:c;K d={"R":R,"11":11}[c];H d==N?c:d},3Y:6(a){H 1E.4i(a)},4c:6(a,b){K c=[];I(a!=N)O(K d=0;d<a.L;d++)I(1j a[d]=="2m")c=c.1O(y(b,a[d]));H J.4e(c.6b(D))},4e:6(a){O(K b=0;b<a.L;b++)I(a[b]!==N)O(K c=a[b],d=c.P+c.L,h=b+1;h<a.L&&a[b]!==N;h++){K g=a[h];I(g!==N)I(g.P>d)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P<d)a[h]=N}H a},4d:6(a){K b=[],c=2u(J.V("2i-1s"));v(a,6(d,h){b.U(h+c)});H b},3U:6(a){K b=J.V("1M",[]);I(1j b!="2m"&&b.U==N)b=[b];a:{a=a.1q();K c=3W 0;O(c=c=1Q.6c(c||0,0);c<b.L;c++)I(b[c]==a){b=c;1N a}b=-1}H b!=-1},2r:6(a,b,c){a=["1s","6i"+b,"P"+a,"6r"+(b%2==0?1:2).1q()];J.3U(b)&&a.U("67");b==0&&a.U("1N");H\'<T 1g="\'+a.1K(" ")+\'">\'+c+"</T>"},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i<d;i++){K k=b?b[i]:h+i,j;I(k==0)j=e.13.1W;Y{j=g;O(K l=k.1q();l.L<j;)l="0"+l;j=l}a=j;c+=J.2r(i,k,a)}H c},49:6(a,b){a=x(a);K c=a.1e("\\n");J.V("2z-1s-2t");K d=2u(J.V("2i-1s"));a="";O(K h=J.V("1D"),g=0;g<c.L;g++){K i=c[g],k=/^(&2s;|\\s)+/.X(i),j=N,l=b?b[g]:d+g;I(k!=N){j=k[0].1q();i=i.1o(j.L);j=j.Q(" ",e.13.1W)}i=x(i);I(i.L==0)i=e.13.1W;a+=J.2r(g,l,(j!=N?\'<17 1g="\'+h+\' 5N">\'+j+"</17>":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"</4a>":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i<b.L;i++){K k=b[i],j;I(!(k===N||k.L===0)){j=c(k);h+=u(a.1o(d,k.P-d),j+"48")+u(k.1T,j+k.23);d=k.P+k.L+(k.75||0)}}h+=u(a.1o(d),c()+"48");H h},1H:6(a){K b="",c=["20"],d;I(J.V("2k")==R)J.1n.16=J.1n.1u=11;1l="20";J.V("2l")==R&&c.U("47");I((1u=J.V("1u"))==11)c.U("6S");c.U(J.V("1g-27"));c.U(J.V("1D"));a=a.Q(/^[ ]*[\\n]+|[\\n]*[ ]*$/g,"").Q(/\\r/g," ");b=J.V("43-22");I(J.V("42-45")==R)a=n(a,b);Y{O(K h="",g=0;g<b;g++)h+=" ";a=a.Q(/\\t/g,h)}a=a;a:{b=a=a;h=/<2R\\s*\\/?>|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i<b.L&&g>0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i<b.L;i++)b[i]=b[i].1o(g);a=b.1K("\\n")}I(1u)d=J.4d(a);b=J.4c(J.2J,a);b=J.4b(a,b);b=J.49(b,d);I(J.V("41-40"))b=E(b);1j 2H!="1d"&&2H.3S&&2H.3S.1C(/5s/)&&c.U("5t");H b=\'<T 1c="\'+t(J.1c)+\'" 1g="\'+c.1K(" ")+\'">\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"</2d>":"")+\'<2d 1g="17"><T 1g="3O">\'+b+"</T></2d></3P></3T></3Z></T>"},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{}))
+
+;/**
+ * SyntaxHighlighter
+ * http://alexgorbatchev.com/SyntaxHighlighter
+ *
+ * SyntaxHighlighter is donationware. If you are using it, please donate.
+ * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
+ *
+ * @version
+ * 3.0.83 (July 02 2010)
+ * 
+ * @copyright
+ * Copyright (C) 2004-2010 Alex Gorbatchev.
+ *
+ * @license
+ * Dual licensed under the MIT and GPL licenses.
+ */
+;(function()
+{
+	// CommonJS
+	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
+
+	function Brush()
+	{
+		function process(match, regexInfo)
+		{
+			var constructor = SyntaxHighlighter.Match,
+				code = match[0],
+				tag = new XRegExp('(&lt;|<)[\\s\\/\\?]*(?<name>[:\\w-\\.]+)', 'xg').exec(code),
+				result = []
+				;
+		
+			if (match.attributes != null) 
+			{
+				var attributes,
+					regex = new XRegExp('(?<name> [\\w:\\-\\.]+)' +
+										'\\s*=\\s*' +
+										'(?<value> ".*?"|\'.*?\'|\\w+)',
+										'xg');
+
+				while ((attributes = regex.exec(code)) != null) 
+				{
+					result.push(new constructor(attributes.name, match.index + attributes.index, 'color1'));
+					result.push(new constructor(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string'));
+				}
+			}
+
+			if (tag != null)
+				result.push(
+					new constructor(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword')
+				);
+
+			return result;
+		}
+	
+		this.regexList = [
+			{ regex: new XRegExp('(\\&lt;|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\&gt;|>)', 'gm'),			css: 'color2' },	// <![ ... [ ... ]]>
+			{ regex: SyntaxHighlighter.regexLib.xmlComments,												css: 'comments' },	// <!-- ... -->
+			{ regex: new XRegExp('(&lt;|<)[\\s\\/\\?]*(\\w+)(?<attributes>.*?)[\\s\\/\\?]*(&gt;|>)', 'sg'), func: process }
+		];
+	};
+
+	Brush.prototype	= new SyntaxHighlighter.Highlighter();
+	Brush.aliases	= ['xml', 'xhtml', 'xslt', 'html'];
+
+	SyntaxHighlighter.brushes.Xml = Brush;
+
+	// CommonJS
+	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
+})();
+
+;/**
+ * SyntaxHighlighter
+ * http://alexgorbatchev.com/SyntaxHighlighter
+ *
+ * SyntaxHighlighter is donationware. If you are using it, please donate.
+ * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
+ *
+ * @version
+ * 3.0.83 (July 02 2010)
+ * 
+ * @copyright
+ * Copyright (C) 2004-2010 Alex Gorbatchev.
+ *
+ * @license
+ * Dual licensed under the MIT and GPL licenses.
+ */
+;(function()
+{
+	// CommonJS
+	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
+
+	function Brush()
+	{
+		var keywords =	'break case catch continue ' +
+						'default delete do else false  ' +
+						'for function if in instanceof ' +
+						'new null return super switch ' +
+						'this throw true try typeof var while with'
+						;
+
+		var r = SyntaxHighlighter.regexLib;
+		
+		this.regexList = [
+			{ regex: r.multiLineDoubleQuotedString,					css: 'string' },			// double quoted strings
+			{ regex: r.multiLineSingleQuotedString,					css: 'string' },			// single quoted strings
+			{ regex: r.singleLineCComments,							css: 'comments' },			// one line comments
+			{ regex: r.multiLineCComments,							css: 'comments' },			// multiline comments
+			{ regex: /\s*#.*/gm,									css: 'preprocessor' },		// preprocessor tags like #region and #endregion
+			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),	css: 'keyword' }			// keywords
+			];
+	
+		this.forHtmlScript(r.scriptScriptTags);
+	};
+
+	Brush.prototype	= new SyntaxHighlighter.Highlighter();
+	Brush.aliases	= ['js', 'jscript', 'javascript'];
+
+	SyntaxHighlighter.brushes.JScript = Brush;
+
+	// CommonJS
+	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
+})();
+
+;/*
+ * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
+ *
+ * Uses the built in easing capabilities added In jQuery 1.1
+ * to offer multiple easing options
+ *
+ * TERMS OF USE - jQuery Easing
+ * 
+ * Open source under the BSD License. 
+ * 
+ * Copyright Â© 2008 George McGinley Smith
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without modification, 
+ * are permitted provided that the following conditions are met:
+ * 
+ * Redistributions of source code must retain the above copyright notice, this list of 
+ * conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list 
+ * of conditions and the following disclaimer in the documentation and/or other materials 
+ * provided with the distribution.
+ * 
+ * Neither the name of the author nor the names of contributors may be used to endorse 
+ * or promote products derived from this software without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *
+*/
+
+// t: current time, b: begInnIng value, c: change In value, d: duration
+jQuery.easing['jswing'] = jQuery.easing['swing'];
+
+jQuery.extend( jQuery.easing,
+{
+	def: 'easeOutQuad',
+	swing: function (x, t, b, c, d) {
+		//alert(jQuery.easing.default);
+		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
+	},
+	easeInQuad: function (x, t, b, c, d) {
+		return c*(t/=d)*t + b;
+	},
+	easeOutQuad: function (x, t, b, c, d) {
+		return -c *(t/=d)*(t-2) + b;
+	},
+	easeInOutQuad: function (x, t, b, c, d) {
+		if ((t/=d/2) < 1) return c/2*t*t + b;
+		return -c/2 * ((--t)*(t-2) - 1) + b;
+	},
+	easeInCubic: function (x, t, b, c, d) {
+		return c*(t/=d)*t*t + b;
+	},
+	easeOutCubic: function (x, t, b, c, d) {
+		return c*((t=t/d-1)*t*t + 1) + b;
+	},
+	easeInOutCubic: function (x, t, b, c, d) {
+		if ((t/=d/2) < 1) return c/2*t*t*t + b;
+		return c/2*((t-=2)*t*t + 2) + b;
+	},
+	easeInQuart: function (x, t, b, c, d) {
+		return c*(t/=d)*t*t*t + b;
+	},
+	easeOutQuart: function (x, t, b, c, d) {
+		return -c * ((t=t/d-1)*t*t*t - 1) + b;
+	},
+	easeInOutQuart: function (x, t, b, c, d) {
+		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
+		return -c/2 * ((t-=2)*t*t*t - 2) + b;
+	},
+	easeInQuint: function (x, t, b, c, d) {
+		return c*(t/=d)*t*t*t*t + b;
+	},
+	easeOutQuint: function (x, t, b, c, d) {
+		return c*((t=t/d-1)*t*t*t*t + 1) + b;
+	},
+	easeInOutQuint: function (x, t, b, c, d) {
+		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
+		return c/2*((t-=2)*t*t*t*t + 2) + b;
+	},
+	easeInSine: function (x, t, b, c, d) {
+		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
+	},
+	easeOutSine: function (x, t, b, c, d) {
+		return c * Math.sin(t/d * (Math.PI/2)) + b;
+	},
+	easeInOutSine: function (x, t, b, c, d) {
+		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
+	},
+	easeInExpo: function (x, t, b, c, d) {
+		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
+	},
+	easeOutExpo: function (x, t, b, c, d) {
+		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
+	},
+	easeInOutExpo: function (x, t, b, c, d) {
+		if (t==0) return b;
+		if (t==d) return b+c;
+		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
+		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
+	},
+	easeInCirc: function (x, t, b, c, d) {
+		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
+	},
+	easeOutCirc: function (x, t, b, c, d) {
+		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
+	},
+	easeInOutCirc: function (x, t, b, c, d) {
+		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
+		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
+	},
+	easeInElastic: function (x, t, b, c, d) {
+		var s=1.70158;var p=0;var a=c;
+		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
+		if (a < Math.abs(c)) { a=c; var s=p/4; }
+		else var s = p/(2*Math.PI) * Math.asin (c/a);
+		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
+	},
+	easeOutElastic: function (x, t, b, c, d) {
+		var s=1.70158;var p=0;var a=c;
+		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
+		if (a < Math.abs(c)) { a=c; var s=p/4; }
+		else var s = p/(2*Math.PI) * Math.asin (c/a);
+		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
+	},
+	easeInOutElastic: function (x, t, b, c, d) {
+		var s=1.70158;var p=0;var a=c;
+		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
+		if (a < Math.abs(c)) { a=c; var s=p/4; }
+		else var s = p/(2*Math.PI) * Math.asin (c/a);
+		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
+		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
+	},
+	easeInBack: function (x, t, b, c, d, s) {
+		if (s == undefined) s = 1.70158;
+		return c*(t/=d)*t*((s+1)*t - s) + b;
+	},
+	easeOutBack: function (x, t, b, c, d, s) {
+		if (s == undefined) s = 1.70158;
+		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
+	},
+	easeInOutBack: function (x, t, b, c, d, s) {
+		if (s == undefined) s = 1.70158; 
+		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
+		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
+	},
+	easeInBounce: function (x, t, b, c, d) {
+		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
+	},
+	easeOutBounce: function (x, t, b, c, d) {
+		if ((t/=d) < (1/2.75)) {
+			return c*(7.5625*t*t) + b;
+		} else if (t < (2/2.75)) {
+			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
+		} else if (t < (2.5/2.75)) {
+			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
+		} else {
+			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
+		}
+	},
+	easeInOutBounce: function (x, t, b, c, d) {
+		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
+		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
+	}
+});
+
+/*
+ *
+ * TERMS OF USE - EASING EQUATIONS
+ * 
+ * Open source under the BSD License. 
+ * 
+ * Copyright Â© 2001 Robert Penner
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without modification, 
+ * are permitted provided that the following conditions are met:
+ * 
+ * Redistributions of source code must retain the above copyright notice, this list of 
+ * conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list 
+ * of conditions and the following disclaimer in the documentation and/or other materials 
+ * provided with the distribution.
+ * 
+ * Neither the name of the author nor the names of contributors may be used to endorse 
+ * or promote products derived from this software without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *
+ */
+;
+(function() {
+function e(a){throw a;}var g=void 0,i=!0,k=null,l=!1;function aa(a){return function(b){this[a]=b}}function n(a){return function(){return this[a]}}var q,r=this;function ba(){}
+function da(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
+else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function t(a){return a!==g}function ea(a){return"array"==da(a)}function fa(a){var b=da(a);return"array"==b||"object"==b&&"number"==typeof a.length}function u(a){return"string"==typeof a}function ga(a){return"function"==da(a)}function ha(a){var b=typeof a;return"object"==b&&a!=k||"function"==b}function ia(a){return a[ja]||(a[ja]=++ka)}var ja="closure_uid_"+Math.floor(2147483648*Math.random()).toString(36),ka=0;
+function la(a,b,c){return a.call.apply(a.bind,arguments)}function ma(a,b,c){a||e(Error());if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function x(a,b,c){x=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?la:ma;return x.apply(k,arguments)}
+function z(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=Array.prototype.slice.call(arguments);b.unshift.apply(b,c);return a.apply(this,b)}}var na=Date.now||function(){return+new Date};function oa(a){var b={},c;for(c in b)var d=(""+b[c]).replace(/\$/g,"$$$$"),a=a.replace(RegExp("\\{\\$"+c+"\\}","gi"),d);return a}
+function A(a,b){var c=a.split("."),d=r;!(c[0]in d)&&d.execScript&&d.execScript("var "+c[0]);for(var f;c.length&&(f=c.shift());)!c.length&&t(b)?d[f]=b:d=d[f]?d[f]:d[f]={}}function B(a,b){function c(){}c.prototype=b.prototype;a.d=b.prototype;a.prototype=new c;a.prototype.constructor=a}Function.prototype.bind=Function.prototype.bind||function(a,b){if(1<arguments.length){var c=Array.prototype.slice.call(arguments,1);c.unshift(this,a);return x.apply(k,c)}return x(this,a)};function pa(a,b){for(var c=1;c<arguments.length;c++)var d=String(arguments[c]).replace(/\$/g,"$$$$"),a=a.replace(/\%s/,d);return a}function qa(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")}function ra(a){if(!sa.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(ta,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(ua,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(va,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(wa,"&quot;"));return a}var ta=/&/g,ua=/</g,va=/>/g,wa=/\"/g,sa=/[&<>\"]/;
+function xa(a){return Array.prototype.join.call(arguments,"")}
+function ya(a,b){for(var c=0,d=qa(String(a)).split("."),f=qa(String(b)).split("."),h=Math.max(d.length,f.length),j=0;0==c&&j<h;j++){var m=d[j]||"",p=f[j]||"",s=RegExp("(\\d*)(\\D*)","g"),J=RegExp("(\\d*)(\\D*)","g");do{var y=s.exec(m)||["","",""],v=J.exec(p)||["","",""];if(0==y[0].length&&0==v[0].length)break;c=((0==y[1].length?0:parseInt(y[1],10))<(0==v[1].length?0:parseInt(v[1],10))?-1:(0==y[1].length?0:parseInt(y[1],10))>(0==v[1].length?0:parseInt(v[1],10))?1:0)||((0==y[2].length)<(0==v[2].length)?
+-1:(0==y[2].length)>(0==v[2].length)?1:0)||(y[2]<v[2]?-1:y[2]>v[2]?1:0)}while(0==c)}return c}function za(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})}function Aa(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()};var C=Array.prototype,Ba=C.indexOf?function(a,b,c){return C.indexOf.call(a,b,c)}:function(a,b,c){c=c==k?0:0>c?Math.max(0,a.length+c):c;if(u(a))return!u(b)||1!=b.length?-1:a.indexOf(b,c);for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},E=C.forEach?function(a,b,c){C.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,f=u(a)?a.split(""):a,h=0;h<d;h++)h in f&&b.call(c,f[h],h,a)},Ca=C.filter?function(a,b,c){return C.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,f=[],h=0,j=u(a)?a.split(""):
+a,m=0;m<d;m++)if(m in j){var p=j[m];b.call(c,p,m,a)&&(f[h++]=p)}return f};function Da(a,b){var c=Ba(a,b);0<=c&&C.splice.call(a,c,1)}function Ea(a){return C.concat.apply(C,arguments)}function Fa(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]}function Ga(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c],f;if(ea(d)||(f=fa(d))&&d.hasOwnProperty("callee"))a.push.apply(a,d);else if(f)for(var h=a.length,j=d.length,m=0;m<j;m++)a[h+m]=d[m];else a.push(d)}}
+function Ha(a,b,c,d){C.splice.apply(a,Ia(arguments,1))}function Ia(a,b,c){return 2>=arguments.length?C.slice.call(a,b):C.slice.call(a,b,c)};function F(a,b){this.x=t(a)?a:0;this.y=t(b)?b:0}F.prototype.za=function(){return new F(this.x,this.y)};F.prototype.toString=function(){return"("+this.x+", "+this.y+")"};function Ja(a,b){for(var c in a)b.call(g,a[c],c,a)}function Ka(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b}function La(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b}function Ma(a){for(var b in a)return l;return i}var Na="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
+function Oa(a,b){for(var c,d,f=1;f<arguments.length;f++){d=arguments[f];for(c in d)a[c]=d[c];for(var h=0;h<Na.length;h++)c=Na[h],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};function Pa(a){if("function"==typeof a.T)return a.T();if(u(a))return a.split("");if(fa(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return Ka(a)}function Qa(a,b,c){if("function"==typeof a.forEach)a.forEach(b,c);else if(fa(a)||u(a))E(a,b,c);else{var d;if("function"==typeof a.lb)d=a.lb();else if("function"!=typeof a.T)if(fa(a)||u(a)){d=[];for(var f=a.length,h=0;h<f;h++)d.push(h)}else d=La(a);else d=g;for(var f=Pa(a),h=f.length,j=0;j<h;j++)b.call(c,f[j],d&&d[j],a)}};function Ra(a,b){this.sa={};this.o=[];var c=arguments.length;if(1<c){c%2&&e(Error("Uneven number of arguments"));for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else if(a){a instanceof Ra?(c=a.lb(),d=a.T()):(c=La(a),d=Ka(a));for(var f=0;f<c.length;f++)this.set(c[f],d[f])}}q=Ra.prototype;q.i=0;q.jh=0;q.T=function(){Sa(this);for(var a=[],b=0;b<this.o.length;b++)a.push(this.sa[this.o[b]]);return a};q.lb=function(){Sa(this);return this.o.concat()};q.Ma=function(a){return Ta(this.sa,a)};
+q.remove=function(a){return Ta(this.sa,a)?(delete this.sa[a],this.i--,this.jh++,this.o.length>2*this.i&&Sa(this),i):l};function Sa(a){if(a.i!=a.o.length){for(var b=0,c=0;b<a.o.length;){var d=a.o[b];Ta(a.sa,d)&&(a.o[c++]=d);b++}a.o.length=c}if(a.i!=a.o.length){for(var f={},c=b=0;b<a.o.length;)d=a.o[b],Ta(f,d)||(a.o[c++]=d,f[d]=1),b++;a.o.length=c}}q.get=function(a,b){return Ta(this.sa,a)?this.sa[a]:b};q.set=function(a,b){Ta(this.sa,a)||(this.i++,this.o.push(a),this.jh++);this.sa[a]=b};q.za=function(){return new Ra(this)};
+function Ta(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var Ua,Va,Wa,Xa,Ya,Za,$a,ab;function bb(){return r.navigator?r.navigator.userAgent:k}function cb(){return r.navigator}Ya=Xa=Wa=Va=Ua=l;var db;if(db=bb()){var eb=cb();Ua=0==db.indexOf("Opera");Va=!Ua&&-1!=db.indexOf("MSIE");Xa=(Wa=!Ua&&-1!=db.indexOf("WebKit"))&&-1!=db.indexOf("Mobile");Ya=!Ua&&!Wa&&"Gecko"==eb.product}var fb=Ua,G=Va,H=Ya,I=Wa,gb=Xa,hb,ib=cb();hb=ib&&ib.platform||"";Za=-1!=hb.indexOf("Mac");$a=-1!=hb.indexOf("Win");ab=-1!=hb.indexOf("Linux");
+var jb=!!cb()&&-1!=(cb().appVersion||"").indexOf("X11"),kb;a:{var lb="",mb;if(fb&&r.opera)var nb=r.opera.version,lb="function"==typeof nb?nb():nb;else if(H?mb=/rv\:([^\);]+)(\)|;)/:G?mb=/MSIE\s+([^\);]+)(\)|;)/:I&&(mb=/WebKit\/(\S+)/),mb)var ob=mb.exec(bb()),lb=ob?ob[1]:"";if(G){var pb,qb=r.document;pb=qb?qb.documentMode:g;if(pb>parseFloat(lb)){kb=String(pb);break a}}kb=lb}var rb={};function K(a){return rb[a]||(rb[a]=0<=ya(kb,a))}var sb={};
+function tb(a){return sb[a]||(sb[a]=G&&!!document.documentMode&&document.documentMode>=a)};var ub=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");function vb(a){if(wb){wb=l;var b=r.location;if(b){var c=b.href;if(c&&(c=(c=vb(c)[3]||k)&&decodeURIComponent(c))&&c!=b.hostname)wb=i,e(Error())}}return a.match(ub)}var wb=I;function L(a,b){var c;if(a instanceof L)this.L=t(b)?b:a.L,xb(this,a.zb),c=a.rd,yb(this),this.rd=c,c=a.Ub,yb(this),this.Ub=c,zb(this,a.$c),c=a.Zc,yb(this),this.Zc=c,Ab(this,a.N.za()),c=a.kb,yb(this),this.kb=c;else if(a&&(c=vb(String(a)))){this.L=!!b;xb(this,c[1]||"",i);var d=c[2]||"";yb(this);this.rd=d?decodeURIComponent(d):"";d=c[3]||"";yb(this);this.Ub=d?decodeURIComponent(d):"";zb(this,c[4]);d=c[5]||"";yb(this);this.Zc=d?decodeURIComponent(d):"";Ab(this,c[6]||"",i);c=c[7]||"";yb(this);this.kb=c?
+decodeURIComponent(c):""}else this.L=!!b,this.N=new Bb(k,0,this.L)}q=L.prototype;q.zb="";q.rd="";q.Ub="";q.$c=k;q.Zc="";q.kb="";q.ri=l;q.L=l;
+q.toString=function(){var a=[],b=this.zb;b&&a.push(Cb(b,Db),":");if(b=this.Ub){a.push("//");var c=this.rd;c&&a.push(Cb(c,Db),"@");a.push(encodeURIComponent(String(b)));b=this.$c;b!=k&&a.push(":",String(b))}if(b=this.Zc)this.Ub&&"/"!=b.charAt(0)&&a.push("/"),a.push(Cb(b,"/"==b.charAt(0)?Eb:Fb));(b=this.N.toString())&&a.push("?",b);(b=this.kb)&&a.push("#",Cb(b,Gb));return a.join("")};q.za=function(){return new L(this)};
+function xb(a,b,c){yb(a);a.zb=c?b?decodeURIComponent(b):"":b;a.zb&&(a.zb=a.zb.replace(/:$/,""))}function zb(a,b){yb(a);b?(b=Number(b),(isNaN(b)||0>b)&&e(Error("Bad port number "+b)),a.$c=b):a.$c=k}function Ab(a,b,c){yb(a);b instanceof Bb?(a.N=b,a.N.Fe(a.L)):(c||(b=Cb(b,Hb)),a.N=new Bb(b,0,a.L))}function Ib(a){return a.kb}function yb(a){a.ri&&e(Error("Tried to modify a read-only Uri"))}q.Fe=function(a){this.L=a;this.N&&this.N.Fe(a);return this};
+function Cb(a,b){return u(a)?encodeURI(a).replace(b,Jb):k}function Jb(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)}var Db=/[#\/\?@]/g,Fb=/[\#\?:]/g,Eb=/[\#\?]/g,Hb=/[\#\?@]/g,Gb=/#/g;function Bb(a,b,c){this.K=a||k;this.L=!!c}
+function Kb(a){if(!a.n&&(a.n=new Ra,a.i=0,a.K))for(var b=a.K.split("&"),c=0;c<b.length;c++){var d=b[c].indexOf("="),f=k,h=k;0<=d?(f=b[c].substring(0,d),h=b[c].substring(d+1)):f=b[c];f=decodeURIComponent(f.replace(/\+/g," "));f=Lb(a,f);a.add(f,h?decodeURIComponent(h.replace(/\+/g," ")):"")}}q=Bb.prototype;q.n=k;q.i=k;q.add=function(a,b){Kb(this);this.K=k;var a=Lb(this,a),c=this.n.get(a);c||this.n.set(a,c=[]);c.push(b);this.i++;return this};
+q.remove=function(a){Kb(this);a=Lb(this,a);return this.n.Ma(a)?(this.K=k,this.i-=this.n.get(a).length,this.n.remove(a)):l};q.Ma=function(a){Kb(this);a=Lb(this,a);return this.n.Ma(a)};q.lb=function(){Kb(this);for(var a=this.n.T(),b=this.n.lb(),c=[],d=0;d<b.length;d++)for(var f=a[d],h=0;h<f.length;h++)c.push(b[d]);return c};q.T=function(a){Kb(this);var b=[];if(a)this.Ma(a)&&(b=Ea(b,this.n.get(Lb(this,a))));else for(var a=this.n.T(),c=0;c<a.length;c++)b=Ea(b,a[c]);return b};
+q.set=function(a,b){Kb(this);this.K=k;a=Lb(this,a);this.Ma(a)&&(this.i-=this.n.get(a).length);this.n.set(a,[b]);this.i++;return this};q.get=function(a,b){var c=a?this.T(a):[];return 0<c.length?String(c[0]):b};function Mb(a,b,c){a.remove(b);0<c.length&&(a.K=k,a.n.set(Lb(a,b),Fa(c)),a.i+=c.length)}
+q.toString=function(){if(this.K)return this.K;if(!this.n)return"";for(var a=[],b=this.n.lb(),c=0;c<b.length;c++)for(var d=b[c],f=encodeURIComponent(String(d)),d=this.T(d),h=0;h<d.length;h++){var j=f;""!==d[h]&&(j+="="+encodeURIComponent(String(d[h])));a.push(j)}return this.K=a.join("&")};q.za=function(){var a=new Bb;a.K=this.K;this.n&&(a.n=this.n.za());return a};function Lb(a,b){var c=String(b);a.L&&(c=c.toLowerCase());return c}
+q.Fe=function(a){a&&!this.L&&(Kb(this),this.K=k,Qa(this.n,function(a,c){var d=c.toLowerCase();c!=d&&(this.remove(c),Mb(this,d,a))},this));this.L=a};var M={},Nb=!G||tb(9),Ob=!H&&!G||G&&tb(9)||H&&K("1.9.1"),Pb=G&&!K("9"),Qb=G||fb||I;M.a={};M.a.set=function(a,b){a.className=b};M.a.get=function(a){a=a.className;return u(a)&&a.match(/\S+/g)||[]};M.a.add=function(a,b){var c=M.a.get(a),d=Ia(arguments,1),f=c.length+d.length;M.a.Ze(c,d);a.className=c.join(" ");return c.length==f};M.a.remove=function(a,b){var c=M.a.get(a),d=Ia(arguments,1),f=M.a.If(c,d);a.className=f.join(" ");return f.length==c.length-d.length};M.a.Ze=function(a,b){for(var c=0;c<b.length;c++)0<=Ba(a,b[c])||a.push(b[c])};
+M.a.If=function(a,b){return Ca(a,function(a){return!(0<=Ba(b,a))})};M.a.Ne=function(a,b,c){for(var d=M.a.get(a),f=l,h=0;h<d.length;h++)d[h]==b&&(Ha(d,h--,1),f=i);f&&(d.push(c),a.className=d.join(" "))};M.a.Yj=function(a,b,c){var d=M.a.get(a);u(b)?Da(d,b):ea(b)&&(d=M.a.If(d,b));u(c)&&!(0<=Ba(d,c))?d.push(c):ea(c)&&M.a.Ze(d,c);a.className=d.join(" ")};M.a.ia=function(a,b){var c=M.a.get(a);return 0<=Ba(c,b)};M.a.enable=function(a,b,c){c?M.a.add(a,b):M.a.remove(a,b)};
+M.a.toggle=function(a,b){var c=!M.a.ia(a,b);M.a.enable(a,b,c);return c};function N(a,b){this.width=a;this.height=b}q=N.prototype;q.za=function(){return new N(this.width,this.height)};q.toString=function(){return"("+this.width+" x "+this.height+")"};q.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};q.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};q.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};M.oh=l;M.Ve=l;M.qh=M.oh||M.Ve;M.e=function(a){return a?new Rb(M.u(a)):M.Fh||(M.Fh=new Rb)};M.r=function(){return document};M.b=function(a){return u(a)?document.getElementById(a):a};M.lh=M.b;M.h=function(a,b,c){return M.Xd(document,a,b,c)};M.k=function(a,b){var c=b||document;return M.Bd(c)?c.querySelectorAll("."+a):c.getElementsByClassName?c.getElementsByClassName(a):M.Xd(document,"*",a,b)};M.fa=function(a,b){var c=b||document,d=k;return(d=M.Bd(c)?c.querySelector("."+a):M.k(a,b)[0])||k};
+M.Bd=function(a){return!(!a.querySelectorAll||!a.querySelector)};M.Xd=function(a,b,c,d){a=d||a;b=b&&"*"!=b?b.toUpperCase():"";if(M.Bd(a)&&(b||c))return a.querySelectorAll(b+(c?"."+c:""));if(c&&a.getElementsByClassName){a=a.getElementsByClassName(c);if(b){for(var d={},f=0,h=0,j;j=a[h];h++)b==j.nodeName&&(d[f++]=j);d.length=f;return d}return a}a=a.getElementsByTagName(b||"*");if(c){d={};for(h=f=0;j=a[h];h++)b=j.className,"function"==typeof b.split&&0<=Ba(b.split(/\s+/),c)&&(d[f++]=j);d.length=f;return d}return a};
+M.mh=M.h;M.Ie=function(a,b){Ja(b,function(b,d){"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:d in M.We?a.setAttribute(M.We[d],b):0==d.lastIndexOf("aria-",0)||0==d.lastIndexOf("data-",0)?a.setAttribute(d,b):a[d]=b})};M.We={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"};
+M.ga=function(a){return M.Zf(a||window)};M.Zf=function(a){a=a.document;a=M.cc(a)?a.documentElement:a.body;return new N(a.clientWidth,a.clientHeight)};M.Sh=function(){return M.Jf(window)};M.Jf=function(a){var b=a.document,c=0;if(b){var a=M.Zf(a).height,c=b.body,d=b.documentElement;if(M.cc(b)&&d.scrollHeight)c=d.scrollHeight!=a?d.scrollHeight:d.offsetHeight;else{var b=d.scrollHeight,f=d.offsetHeight;d.clientHeight!=f&&(b=c.scrollHeight,f=c.offsetHeight);c=b>a?b>f?b:f:b<f?b:f}}return c};
+M.kk=function(a){return M.e((a||r||window).document).ea()};M.ea=function(){return M.Kf(document)};M.Kf=function(a){var b=M.Wd(a),a=M.Gc(a);return new F(a.pageXOffset||b.scrollLeft,a.pageYOffset||b.scrollTop)};M.Vd=function(){return M.Wd(document)};M.Wd=function(a){return!I&&M.cc(a)?a.documentElement:a.body};M.ha=function(a){return a?M.Gc(a):window};M.Gc=function(a){return a.parentWindow||a.defaultView};M.f=function(a,b,c){return M.pf(document,arguments)};
+M.pf=function(a,b){var c=b[0],d=b[1];if(!Nb&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',ra(d.name),'"');if(d.type){c.push(' type="',ra(d.type),'"');var f={};Oa(f,d);delete f.type;d=f}c.push(">");c=c.join("")}c=a.createElement(c);d&&(u(d)?c.className=d:ea(d)?M.a.add.apply(k,[c].concat(d)):M.Ie(c,d));2<b.length&&M.bf(a,c,b,2);return c};M.bf=function(a,b,c,d){function f(c){c&&b.appendChild(u(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var h=c[d];fa(h)&&!M.ke(h)?E(M.le(h)?Fa(h):h,f):f(h)}};
+M.nh=M.f;M.createElement=function(a){return document.createElement(a)};M.createTextNode=function(a){return document.createTextNode(a)};M.Dh=function(a,b,c){return M.qf(document,a,b,!!c)};M.qf=function(a,b,c,d){for(var f=["<tr>"],h=0;h<c;h++)f.push(d?"<td>&nbsp;</td>":"<td></td>");f.push("</tr>");f=f.join("");c=["<table>"];for(h=0;h<b;h++)c.push(f);c.push("</table>");a=a.createElement("DIV");a.innerHTML=c.join("");return a.removeChild(a.firstChild)};M.li=function(a){return M.bg(document,a)};
+M.bg=function(a,b){var c=a.createElement("div");G?(c.innerHTML="<br>"+b,c.removeChild(c.firstChild)):c.innerHTML=b;if(1==c.childNodes.length)return c.removeChild(c.firstChild);for(var d=a.createDocumentFragment();c.firstChild;)d.appendChild(c.firstChild);return d};M.Rh=function(){return M.Jc()?"CSS1Compat":"BackCompat"};M.Jc=function(){return M.cc(document)};M.cc=function(a){return M.qh?M.Ve:"CSS1Compat"==a.compatMode};M.canHaveChildren=function(a){if(1!=a.nodeType)return l;switch(a.tagName){case "APPLET":case "AREA":case "BASE":case "BR":case "COL":case "COMMAND":case "EMBED":case "FRAME":case "HR":case "IMG":case "INPUT":case "IFRAME":case "ISINDEX":case "KEYGEN":case "LINK":case "NOFRAMES":case "NOSCRIPT":case "META":case "OBJECT":case "PARAM":case "SCRIPT":case "SOURCE":case "STYLE":case "TRACK":case "WBR":return l}return i};
+M.appendChild=function(a,b){a.appendChild(b)};M.append=function(a,b){M.bf(M.u(a),a,arguments,1)};M.gc=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};M.Ic=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b)};M.he=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b.nextSibling)};M.eg=function(a,b,c){a.insertBefore(b,a.childNodes[c]||k)};M.removeNode=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):k};M.Ig=function(a,b){var c=b.parentNode;c&&c.replaceChild(a,b)};
+M.Cf=function(a){var b,c=a.parentNode;if(c&&11!=c.nodeType){if(a.removeNode)return a.removeNode(l);for(;b=a.firstChild;)c.insertBefore(b,a);return M.removeNode(a)}};M.Td=function(a){return Ob&&a.children!=g?a.children:Ca(a.childNodes,function(a){return 1==a.nodeType})};M.Cc=function(a){return a.firstElementChild!=g?a.firstElementChild:M.Fc(a.firstChild,i)};M.Of=function(a){return a.lastElementChild!=g?a.lastElementChild:M.Fc(a.lastChild,l)};
+M.Pf=function(a){return a.nextElementSibling!=g?a.nextElementSibling:M.Fc(a.nextSibling,i)};M.Wf=function(a){return a.previousElementSibling!=g?a.previousElementSibling:M.Fc(a.previousSibling,l)};M.Fc=function(a,b){for(;a&&1!=a.nodeType;)a=b?a.nextSibling:a.previousSibling;return a};M.Qf=function(a){if(!a)return k;if(a.firstChild)return a.firstChild;for(;a&&!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:k};
+M.Xf=function(a){if(!a)return k;if(!a.previousSibling)return a.parentNode;for(a=a.previousSibling;a&&a.lastChild;)a=a.lastChild;return a};M.ke=function(a){return ha(a)&&0<a.nodeType};M.je=function(a){return ha(a)&&1==a.nodeType};M.lg=function(a){return ha(a)&&a.window==a};M.Vf=function(a){if(Qb)return a.parentElement;a=a.parentNode;return M.je(a)?a:k};
+M.contains=function(a,b){if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};
+M.lf=function(a,b){if(a==b)return 0;if(a.compareDocumentPosition)return a.compareDocumentPosition(b)&2?1:-1;if((9==a.nodeType||9==b.nodeType)&&G&&!K(9)){if(9==a.nodeType)return-1;if(9==b.nodeType)return 1}if("sourceIndex"in a||a.parentNode&&"sourceIndex"in a.parentNode){var c=1==a.nodeType,d=1==b.nodeType;if(c&&d)return a.sourceIndex-b.sourceIndex;var f=a.parentNode,h=b.parentNode;return f==h?M.nf(a,b):!c&&M.contains(f,b)?-1*M.mf(a,b):!d&&M.contains(h,a)?M.mf(b,a):(c?a.sourceIndex:f.sourceIndex)-
+(d?b.sourceIndex:h.sourceIndex)}d=M.u(a);c=d.createRange();c.selectNode(a);c.collapse(i);d=d.createRange();d.selectNode(b);d.collapse(i);return c.compareBoundaryPoints(r.Range.START_TO_END,d)};M.mf=function(a,b){var c=a.parentNode;if(c==b)return-1;for(var d=b;d.parentNode!=c;)d=d.parentNode;return M.nf(d,a)};M.nf=function(a,b){for(var c=b;c=c.previousSibling;)if(c==a)return-1;return 1};
+M.yf=function(a){var b,c=arguments.length;if(c){if(1==c)return arguments[0]}else return k;var d=[],f=Infinity;for(b=0;b<c;b++){for(var h=[],j=arguments[b];j;)h.unshift(j),j=j.parentNode;d.push(h);f=Math.min(f,h.length)}h=k;for(b=0;b<f;b++){for(var j=d[0][b],m=1;m<c;m++)if(j!=d[m][b])return h;h=j}return h};M.u=function(a){return 9==a.nodeType?a:a.ownerDocument||a.document};M.Dc=function(a){return a.contentDocument||a.contentWindow.document};M.Mf=function(a){return a.contentWindow||M.Gc(M.Dc(a))};
+M.Pg=function(a,b){if("textContent"in a)a.textContent=b;else if(a.firstChild&&3==a.firstChild.nodeType){for(;a.lastChild!=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=b}else{M.gc(a);var c=M.u(a);a.appendChild(c.createTextNode(b))}};M.Uf=function(a){if("outerHTML"in a)return a.outerHTML;var b=M.u(a).createElement("div");b.appendChild(a.cloneNode(i));return b.innerHTML};M.zf=function(a,b){var c=[];return M.Qd(a,b,c,i)?c[0]:g};M.Af=function(a,b){var c=[];M.Qd(a,b,c,l);return c};
+M.Qd=function(a,b,c,d){if(a!=k)for(a=a.firstChild;a;){if(b(a)&&(c.push(a),d)||M.Qd(a,b,c,d))return i;a=a.nextSibling}return l};M.Xe={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1};M.oc={IMG:" ",BR:"\n"};M.ig=function(a){var b=a.getAttributeNode("tabindex");return b&&b.specified?(a=a.tabIndex,"number"==typeof a&&0<=a&&32768>a):l};M.gd=function(a,b){b?a.tabIndex=0:(a.tabIndex=-1,a.removeAttribute("tabIndex"))};
+M.mb=function(a){if(Pb&&"innerText"in a)a=a.innerText.replace(/(\r\n|\r|\n)/g,"\n");else{var b=[];M.ae(a,b,i);a=b.join("")}a=a.replace(/ \xAD /g," ").replace(/\xAD/g,"");a=a.replace(/\u200B/g,"");Pb||(a=a.replace(/ +/g," "));" "!=a&&(a=a.replace(/^\s*/,""));return a};M.lk=function(a){var b=[];M.ae(a,b,l);return b.join("")};
+M.ae=function(a,b,c){if(!(a.nodeName in M.Xe))if(3==a.nodeType)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in M.oc)b.push(M.oc[a.nodeName]);else for(a=a.firstChild;a;)M.ae(a,b,c),a=a.nextSibling};M.Sf=function(a){return M.mb(a).length};M.Tf=function(a,b){for(var c=b||M.u(a).body,d=[];a&&a!=c;){for(var f=a;f=f.previousSibling;)d.unshift(M.mb(f));a=a.parentNode}return d.join("").replace(/^[\s\xa0]+/,"").replace(/ +/g," ").length};
+M.Rf=function(a,b,c){for(var a=[a],d=0,f;0<a.length&&d<b;)if(f=a.pop(),!(f.nodeName in M.Xe))if(3==f.nodeType)var h=f.nodeValue.replace(/(\r\n|\r|\n)/g,"").replace(/ +/g," "),d=d+h.length;else if(f.nodeName in M.oc)d+=M.oc[f.nodeName].length;else for(h=f.childNodes.length-1;0<=h;h--)a.push(f.childNodes[h]);ha(c)&&(c.tk=f?f.nodeValue.length+b-d-1:0,c.rk=f);return f};
+M.le=function(a){if(a&&"number"==typeof a.length){if(ha(a))return"function"==typeof a.item||"string"==typeof a.item;if(ga(a))return"function"==typeof a.item}return l};M.Xb=function(a,b,c){if(!b&&!c)return k;var d=b?b.toUpperCase():k;return M.Sd(a,function(a){return(!d||a.nodeName==d)&&(!c||M.a.ia(a,c))},i)};M.Hf=function(a,b){return M.Xb(a,k,b)};M.Sd=function(a,b,c,d){c||(a=a.parentNode);for(var c=d==k,f=0;a&&(c||f<=d);){if(b(a))return a;a=a.parentNode;f++}return k};
+M.Gf=function(a){try{return a&&a.activeElement}catch(b){}return k};function Rb(a){this.m=a||r.document||document}q=Rb.prototype;q.e=M.e;q.r=n("m");q.b=function(a){return u(a)?this.m.getElementById(a):a};q.lh=Rb.prototype.b;q.h=function(a,b,c){return M.Xd(this.m,a,b,c)};q.k=function(a,b){return M.k(a,b||this.m)};q.fa=function(a,b){return M.fa(a,b||this.m)};q.mh=Rb.prototype.h;q.Ie=M.Ie;q.ga=function(a){return M.ga(a||this.ha())};q.Sh=function(){return M.Jf(this.ha())};
+q.f=function(a,b,c){return M.pf(this.m,arguments)};q.nh=Rb.prototype.f;q.createElement=function(a){return this.m.createElement(a)};q.createTextNode=function(a){return this.m.createTextNode(a)};q.Dh=function(a,b,c){return M.qf(this.m,a,b,!!c)};q.li=function(a){return M.bg(this.m,a)};q.Rh=function(){return this.Jc()?"CSS1Compat":"BackCompat"};q.Jc=function(){return M.cc(this.m)};q.ha=function(){return M.Gc(this.m)};q.Vd=function(){return M.Wd(this.m)};q.ea=function(){return M.Kf(this.m)};
+q.Gf=function(a){return M.Gf(a||this.m)};q.appendChild=M.appendChild;q.append=M.append;q.canHaveChildren=M.canHaveChildren;q.gc=M.gc;q.Ic=M.Ic;q.he=M.he;q.eg=M.eg;q.removeNode=M.removeNode;q.Ig=M.Ig;q.Cf=M.Cf;q.Td=M.Td;q.Cc=M.Cc;q.Of=M.Of;q.Pf=M.Pf;q.Wf=M.Wf;q.Qf=M.Qf;q.Xf=M.Xf;q.ke=M.ke;q.je=M.je;q.lg=M.lg;q.Vf=M.Vf;q.contains=M.contains;q.lf=M.lf;q.yf=M.yf;q.u=M.u;q.Dc=M.Dc;q.Mf=M.Mf;q.Pg=M.Pg;q.Uf=M.Uf;q.zf=M.zf;q.Af=M.Af;q.ig=M.ig;q.gd=M.gd;q.mb=M.mb;q.Sf=M.Sf;q.Tf=M.Tf;q.Rf=M.Rf;q.le=M.le;
+q.Xb=M.Xb;q.Hf=M.Hf;q.Sd=M.Sd;function O(){0!=Sb&&(this.bk=Error().stack,Tb[ia(this)]=this)}var Sb=0,Tb={};O.prototype.Sb=l;O.prototype.Pa=function(){if(!this.Sb&&(this.Sb=i,this.g(),0!=Sb)){var a=ia(this);delete Tb[a]}};O.prototype.g=function(){this.Gh&&Ub.apply(k,this.Gh);if(this.xg)for(;this.xg.length;)this.xg.shift()()};function Vb(a){a&&"function"==typeof a.Pa&&a.Pa()}function Ub(a){for(var b=0,c=arguments.length;b<c;++b){var d=arguments[b];fa(d)?Ub.apply(k,d):Vb(d)}};var Wb=!G||tb(9),Xb=!G||tb(9),Yb=G&&!K("9");!I||K("528");H&&K("1.9b")||G&&K("8")||fb&&K("9.5")||I&&K("528");H&&!K("8")||G&&K("9");function P(a,b){this.type=a;this.currentTarget=this.target=b}q=P.prototype;q.g=function(){};q.Pa=function(){};q.Xa=l;q.defaultPrevented=l;q.bd=i;q.stopPropagation=function(){this.Xa=i};q.preventDefault=function(){this.defaultPrevented=i;this.bd=l};function Zb(a){a.preventDefault()};function $b(a){$b[" "](a);return a}$b[" "]=ba;function ac(a,b){a&&this.q(a,b)}B(ac,P);var bc=[1,4,2];q=ac.prototype;q.target=k;q.relatedTarget=k;q.offsetX=0;q.offsetY=0;q.clientX=0;q.clientY=0;q.screenX=0;q.screenY=0;q.button=0;q.keyCode=0;q.charCode=0;q.ctrlKey=l;q.altKey=l;q.shiftKey=l;q.metaKey=l;q.Ni=l;q.S=k;
+q.q=function(a,b){var c=this.type=a.type;P.call(this,c);this.target=a.target||a.srcElement;this.currentTarget=b;var d=a.relatedTarget;if(d){if(H){var f;a:{try{$b(d.nodeName);f=i;break a}catch(h){}f=l}f||(d=k)}}else"mouseover"==c?d=a.fromElement:"mouseout"==c&&(d=a.toElement);this.relatedTarget=d;this.offsetX=I||a.offsetX!==g?a.offsetX:a.layerX;this.offsetY=I||a.offsetY!==g?a.offsetY:a.layerY;this.clientX=a.clientX!==g?a.clientX:a.pageX;this.clientY=a.clientY!==g?a.clientY:a.pageY;this.screenX=a.screenX||
+0;this.screenY=a.screenY||0;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.Ni=Za?a.metaKey:a.ctrlKey;this.state=a.state;this.S=a;a.defaultPrevented&&this.preventDefault();delete this.Xa};q.stopPropagation=function(){ac.d.stopPropagation.call(this);this.S.stopPropagation?this.S.stopPropagation():this.S.cancelBubble=i};
+q.preventDefault=function(){ac.d.preventDefault.call(this);var a=this.S;if(a.preventDefault)a.preventDefault();else if(a.returnValue=l,Yb)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};q.g=function(){};function cc(){}var dc=0;q=cc.prototype;q.key=0;q.Za=l;q.Ad=l;q.q=function(a,b,c,d,f,h){ga(a)?this.jg=i:a&&a.handleEvent&&ga(a.handleEvent)?this.jg=l:e(Error("Invalid listener argument"));this.tb=a;this.Gg=b;this.src=c;this.type=d;this.capture=!!f;this.Hc=h;this.Ad=l;this.key=++dc;this.Za=l};q.handleEvent=function(a){return this.jg?this.tb.call(this.Hc||this.src,a):this.tb.handleEvent.call(this.tb,a)};var ec={},fc={},gc={},hc={};
+function Q(a,b,c,d,f){if(b){if(ea(b)){for(var h=0;h<b.length;h++)Q(a,b[h],c,d,f);return k}var d=!!d,j=fc;b in j||(j[b]={i:0,O:0});j=j[b];d in j||(j[d]={i:0,O:0},j.i++);var j=j[d],m=ia(a),p;j.O++;if(j[m]){p=j[m];for(h=0;h<p.length;h++)if(j=p[h],j.tb==c&&j.Hc==f){if(j.Za)break;return p[h].key}}else p=j[m]=[],j.i++;var s=ic,J=Xb?function(a){return s.call(J.src,J.key,a)}:function(a){a=s.call(J.src,J.key,a);if(!a)return a},h=J;h.src=a;j=new cc;j.q(c,h,a,b,d,f);c=j.key;h.key=c;p.push(j);ec[c]=j;gc[m]||
+(gc[m]=[]);gc[m].push(j);a.addEventListener?(a==r||!a.sf)&&a.addEventListener(b,h,d):a.attachEvent(b in hc?hc[b]:hc[b]="on"+b,h);return c}e(Error("Invalid event type"))}function jc(a,b,c,d,f){if(ea(b))for(var h=0;h<b.length;h++)jc(a,b[h],c,d,f);else a=Q(a,b,c,d,f),ec[a].Ad=i}function kc(a,b,c,d,f){if(ea(b))for(var h=0;h<b.length;h++)kc(a,b[h],c,d,f);else if(d=!!d,a=lc(a,b,d))for(h=0;h<a.length;h++)if(a[h].tb==c&&a[h].capture==d&&a[h].Hc==f){mc(a[h].key);break}}
+function mc(a){if(!ec[a])return l;var b=ec[a];if(b.Za)return l;var c=b.src,d=b.type,f=b.Gg,h=b.capture;c.removeEventListener?(c==r||!c.sf)&&c.removeEventListener(d,f,h):c.detachEvent&&c.detachEvent(d in hc?hc[d]:hc[d]="on"+d,f);c=ia(c);gc[c]&&(f=gc[c],Da(f,b),0==f.length&&delete gc[c]);b.Za=i;if(b=fc[d][h][c])b.vg=i,nc(d,h,c,b);delete ec[a];return i}
+function nc(a,b,c,d){if(!d.Oc&&d.vg){for(var f=0,h=0;f<d.length;f++)d[f].Za?d[f].Gg.src=k:(f!=h&&(d[h]=d[f]),h++);d.length=h;d.vg=l;0==h&&(delete fc[a][b][c],fc[a][b].i--,0==fc[a][b].i&&(delete fc[a][b],fc[a].i--),0==fc[a].i&&delete fc[a])}}function lc(a,b,c){var d=fc;return b in d&&(d=d[b],c in d&&(d=d[c],a=ia(a),d[a]))?d[a]:k}
+function oc(a,b,c,d,f){var h=1,b=ia(b);if(a[b]){a.O--;a=a[b];a.Oc?a.Oc++:a.Oc=1;try{for(var j=a.length,m=0;m<j;m++){var p=a[m];p&&!p.Za&&(h&=pc(p,f)!==l)}}finally{a.Oc--,nc(c,d,b,a)}}return Boolean(h)}function pc(a,b){a.Ad&&mc(a.key);return a.handleEvent(b)}
+function ic(a,b){if(!ec[a])return i;var c=ec[a],d=c.type,f=fc;if(!(d in f))return i;var f=f[d],h,j;if(!Xb){var m;if(!(m=b))a:{m=["window","event"];for(var p=r;h=m.shift();)if(p[h]!=k)p=p[h];else{m=k;break a}m=p}h=m;m=i in f;p=l in f;if(m){if(0>h.keyCode||h.returnValue!=g)return i;a:{var s=l;if(0==h.keyCode)try{h.keyCode=-1;break a}catch(J){s=i}if(s||h.returnValue==g)h.returnValue=i}}s=new ac;s.q(h,this);h=i;try{if(m){for(var y=[],v=s.currentTarget;v;v=v.parentNode)y.push(v);j=f[i];j.O=j.i;for(var ca=
+y.length-1;!s.Xa&&0<=ca&&j.O;ca--)s.currentTarget=y[ca],h&=oc(j,y[ca],d,i,s);if(p){j=f[l];j.O=j.i;for(ca=0;!s.Xa&&ca<y.length&&j.O;ca++)s.currentTarget=y[ca],h&=oc(j,y[ca],d,l,s)}}else h=pc(c,s)}finally{y&&(y.length=0)}return h}d=new ac(b,this);return h=pc(c,d)};function R(){O.call(this)}B(R,O);q=R.prototype;q.sf=i;q.Yc=k;q.He=aa("Yc");q.addEventListener=function(a,b,c,d){Q(this,a,b,c,d)};q.removeEventListener=function(a,b,c,d){kc(this,a,b,c,d)};
+q.dispatchEvent=function(a){var b=a.type||a,c=fc;if(b in c){if(u(a))a=new P(a,this);else if(a instanceof P)a.target=a.target||this;else{var d=a,a=new P(b,this);Oa(a,d)}var d=1,f,c=c[b],b=i in c,h;if(b){f=[];for(h=this;h;h=h.Yc)f.push(h);h=c[i];h.O=h.i;for(var j=f.length-1;!a.Xa&&0<=j&&h.O;j--)a.currentTarget=f[j],d&=oc(h,f[j],a.type,i,a)&&a.bd!=l}if(l in c)if(h=c[l],h.O=h.i,b)for(j=0;!a.Xa&&j<f.length&&h.O;j++)a.currentTarget=f[j],d&=oc(h,f[j],a.type,l,a)&&a.bd!=l;else for(f=this;!a.Xa&&f&&h.O;f=
+f.Yc)a.currentTarget=f,d&=oc(h,f,a.type,l,a)&&a.bd!=l;a=Boolean(d)}else a=i;return a};q.g=function(){R.d.g.call(this);var a,b=0,c=a==k;a=!!a;if(this==k)Ja(gc,function(d){for(var f=d.length-1;0<=f;f--){var h=d[f];if(c||a==h.capture)mc(h.key),b++}});else{var d=ia(this);if(gc[d])for(var d=gc[d],f=d.length-1;0<=f;f--){var h=d[f];if(c||a==h.capture)mc(h.key),b++}}this.Yc=k};function qc(a,b){O.call(this);this.ob=a||1;this.mc=b||rc;this.yd=x(this.gj,this);this.re=na()}B(qc,R);qc.prototype.enabled=l;var rc=r.window;q=qc.prototype;q.w=k;q.gj=function(){if(this.enabled){var a=na()-this.re;0<a&&a<0.8*this.ob?this.w=this.mc.setTimeout(this.yd,this.ob-a):(this.dispatchEvent(sc),this.enabled&&(this.w=this.mc.setTimeout(this.yd,this.ob),this.re=na()))}};q.start=function(){this.enabled=i;this.w||(this.w=this.mc.setTimeout(this.yd,this.ob),this.re=na())};
+q.stop=function(){this.enabled=l;this.w&&(this.mc.clearTimeout(this.w),this.w=k)};q.g=function(){qc.d.g.call(this);this.stop();delete this.mc};var sc="tick";function tc(a,b,c){ga(a)?c&&(a=x(a,c)):a&&"function"==typeof a.handleEvent?a=x(a.handleEvent,a):e(Error("Invalid listener argument"));return 2147483647<b?-1:rc.setTimeout(a,b||0)};function uc(a){O.call(this);this.qa=a;this.o=[]}B(uc,O);var vc=[];function S(a,b,c,d,f){ea(c)||(vc[0]=c,c=vc);for(var h=0;h<c.length;h++){var j=Q(b,c[h],d||a,f||l,a.qa||a);a.o.push(j)}return a}function wc(a,b,c,d,f,h){if(ea(c))for(var j=0;j<c.length;j++)wc(a,b,c[j],d,f,h);else{a:{d=d||a;h=h||a.qa||a;f=!!f;if(b=lc(b,c,f))for(c=0;c<b.length;c++)if(!b[c].Za&&b[c].tb==d&&b[c].capture==f&&b[c].Hc==h){b=b[c];break a}b=k}b&&(b=b.key,mc(b),Da(a.o,b))}}function xc(a){E(a.o,mc);a.o.length=0}
+uc.prototype.g=function(){uc.d.g.call(this);xc(this)};uc.prototype.handleEvent=function(){e(Error("EventHandler.handleEvent not implemented"))};function yc(){O.call(this);this.la=zc;this.wf=this.startTime=k}B(yc,R);var zc=0;yc.prototype.$=function(){this.pa("begin")};yc.prototype.Ga=function(){this.pa("end")};yc.prototype.ze=function(){this.pa("finish")};yc.prototype.pa=function(a){this.dispatchEvent(a)};function Ac(a,b,c){O.call(this);this.ue=a;this.ob=b||0;this.qa=c;this.zh=x(this.Kh,this)}B(Ac,O);q=Ac.prototype;q.ra=0;q.g=function(){Ac.d.g.call(this);this.stop();delete this.ue;delete this.qa};q.start=function(a){this.stop();this.ra=tc(this.zh,t(a)?a:this.ob)};q.stop=function(){0!=this.ra&&rc.clearTimeout(this.ra);this.ra=0};q.Kh=function(){this.ra=0;this.ue&&this.ue.call(this.qa)};var Bc;Bc=function(){return i};var Cc={},Dc=k;function Ec(a){a=ia(a);delete Cc[a];Ma(Cc)&&Dc&&Dc.stop()}function Fc(){Dc||(Dc=new Ac(function(){var a=na();Ja(Cc,function(c){Gc(c,a)});Ma(Cc)||Fc()},20));var a=Dc;0!=a.ra||a.start()};function Hc(a,b,c,d){yc.call(this);(!ea(a)||!ea(b))&&e(Error("Start and end parameters must be arrays"));a.length!=b.length&&e(Error("Start and end points must be the same length"));this.Bb=a;this.vf=b;this.duration=c;this.Ye=d;this.coords=[];this.Ka=l}B(Hc,yc);q=Hc.prototype;q.Ff=0;q.M=0;q.qe=k;
+q.play=function(a){if(a||this.la==zc)this.M=0,this.coords=this.Bb;else if(1==this.la)return l;Ec(this);this.startTime=a=na();-1==this.la&&(this.startTime-=this.duration*this.M);this.wf=this.startTime+this.duration;this.qe=this.startTime;this.M||this.$();this.pa("play");-1==this.la&&this.pa("resume");this.la=1;var b=ia(this);b in Cc||(Cc[b]=this);Fc();Gc(this,a);return i};q.stop=function(a){Ec(this);this.la=zc;a&&(this.M=1);Ic(this,this.M);this.pa("stop");this.Ga()};
+q.g=function(){this.la==zc||this.stop(l);this.pa("destroy");Hc.d.g.call(this)};function Gc(a,b){a.M=(b-a.startTime)/(a.wf-a.startTime);1<=a.M&&(a.M=1);a.Ff=1E3/(b-a.qe);a.qe=b;Ic(a,a.M);1==a.M?(a.la=zc,Ec(a),a.ze(),a.Ga()):1==a.la&&a.ta()}function Ic(a,b){ga(a.Ye)&&(b=a.Ye(b));a.coords=Array(a.Bb.length);for(var c=0;c<a.Bb.length;c++)a.coords[c]=(a.vf[c]-a.Bb[c])*b+a.Bb[c]}q.ta=function(){this.pa("animate")};q.pa=function(a){this.dispatchEvent(new Jc(a,this))};
+function Jc(a,b){P.call(this,a);this.coords=b.coords;this.x=b.coords[0];this.y=b.coords[1];this.zk=b.coords[2];this.duration=b.duration;this.M=b.M;this.gk=b.Ff;this.state=b.la;this.uh=b}B(Jc,P);function Kc(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d}Kc.prototype.za=function(){return new Kc(this.top,this.right,this.bottom,this.left)};Kc.prototype.toString=function(){return"("+this.top+"t, "+this.right+"r, "+this.bottom+"b, "+this.left+"l)"};Kc.prototype.contains=function(a){return!this||!a?l:a instanceof Kc?a.left>=this.left&&a.right<=this.right&&a.top>=this.top&&a.bottom<=this.bottom:a.x>=this.left&&a.x<=this.right&&a.y>=this.top&&a.y<=this.bottom};function Lc(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d}Lc.prototype.za=function(){return new Lc(this.left,this.top,this.width,this.height)};Lc.prototype.toString=function(){return"("+this.left+", "+this.top+" - "+this.width+"w x "+this.height+"h)"};
+Lc.prototype.contains=function(a){return a instanceof Lc?this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height:a.x>=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height};function Mc(a,b,c){u(b)?Nc(a,c,b):Ja(b,z(Nc,a))}function Nc(a,b,c){a.style[za(c)]=b}function Oc(a,b){var c=M.u(a);return c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,k))?c[b]||c.getPropertyValue(b)||"":""}function Pc(a,b){return Oc(a,b)||(a.currentStyle?a.currentStyle[b]:k)||a.style&&a.style[b]}function Qc(a){return Pc(a,"position")}
+function Rc(a,b,c){var d,f=H&&(Za||jb)&&K("1.9");b instanceof F?(d=b.x,b=b.y):(d=b,b=c);a.style.left=Sc(d,f);a.style.top=Sc(b,f)}function Tc(a){var b=a.getBoundingClientRect();G&&(a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop);return b}
+function Uc(a){if(G&&!tb(8))return a.offsetParent;for(var b=M.u(a),c=Pc(a,"position"),d="fixed"==c||"absolute"==c,a=a.parentNode;a&&a!=b;a=a.parentNode)if(c=Pc(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return k}
+function Vc(a){var b,c=M.u(a),d=Pc(a,"position"),f=H&&c.getBoxObjectFor&&!a.getBoundingClientRect&&"absolute"==d&&(b=c.getBoxObjectFor(a))&&(0>b.screenX||0>b.screenY),h=new F(0,0),j;b=c?M.u(c):M.r();j=G&&!tb(9)&&!M.e(b).Jc()?b.body:b.documentElement;if(a==j)return h;if(a.getBoundingClientRect)b=Tc(a),a=M.e(c).ea(),h.x=b.left+a.x,h.y=b.top+a.y;else if(c.getBoxObjectFor&&!f)b=c.getBoxObjectFor(a),a=c.getBoxObjectFor(j),h.x=b.screenX-a.screenX,h.y=b.screenY-a.screenY;else{b=a;do{h.x+=b.offsetLeft;h.y+=
+b.offsetTop;b!=a&&(h.x+=b.clientLeft||0,h.y+=b.clientTop||0);if(I&&"fixed"==Qc(b)){h.x+=c.body.scrollLeft;h.y+=c.body.scrollTop;break}b=b.offsetParent}while(b&&b!=a);if(fb||I&&"absolute"==d)h.y-=c.body.offsetTop;for(b=a;(b=Uc(b))&&b!=c.body&&b!=j;)if(h.x-=b.scrollLeft,!fb||"TR"!=b.tagName)h.y-=b.scrollTop}return h}function Wc(a,b,c){b instanceof N?(c=b.height,b=b.width):c==g&&e(Error("missing height argument"));a.style.width=Sc(b,i);a.style.height=Sc(c,i)}
+function Sc(a,b){"number"==typeof a&&(a=(b?Math.round(a):a)+"px");return a}function T(a){if("none"!=Pc(a,"display"))return Xc(a);var b=a.style,c=b.display,d=b.visibility,f=b.position;b.visibility="hidden";b.position="absolute";b.display="inline";a=Xc(a);b.display=c;b.position=f;b.visibility=d;return a}function Xc(a){var b=a.offsetWidth,c=a.offsetHeight,d=I&&!b&&!c;return(!t(b)||d)&&a.getBoundingClientRect?(a=Tc(a),new N(a.right-a.left,a.bottom-a.top)):new N(b,c)}
+function Yc(a,b){var c=a.style;"opacity"in c?c.opacity=b:"MozOpacity"in c?c.MozOpacity=b:"filter"in c&&(c.filter=""===b?"":"alpha(opacity="+100*b+")")}function U(a,b){a.style.display=b?"":"none"}function Zc(a){return"rtl"==Pc(a,"direction")}function $c(a){return new N(a.offsetWidth,a.offsetHeight)}var ad={thin:2,medium:4,thick:6};
+function bd(a,b){if("none"==(a.currentStyle?a.currentStyle[b+"Style"]:k))return 0;var c=a.currentStyle?a.currentStyle[b+"Width"]:k,d;if(c in ad)d=ad[c];else if(/^\d+px?$/.test(c))d=parseInt(c,10);else{d=a.style.left;var f=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;a.style.left=c;c=a.style.pixelLeft;a.style.left=d;a.runtimeStyle.left=f;d=c}return d}
+function cd(a){if(G){var b=bd(a,"borderLeft"),c=bd(a,"borderRight"),d=bd(a,"borderTop"),a=bd(a,"borderBottom");return new Kc(d,c,a,b)}b=Oc(a,"borderLeftWidth");c=Oc(a,"borderRightWidth");d=Oc(a,"borderTopWidth");a=Oc(a,"borderBottomWidth");return new Kc(parseFloat(d),parseFloat(c),parseFloat(a),parseFloat(b))};function dd(a){var b=a.offsetLeft,c=a.offsetParent;!c&&"fixed"==Qc(a)&&(c=M.u(a).documentElement);if(!c)return b;if(H)var d=cd(c),b=b+d.left;else tb(8)&&(d=cd(c),b-=d.left);return Zc(c)?c.clientWidth-(b+a.offsetWidth):b};function V(a,b,c,d,f){Hc.call(this,b,c,d,f);this.element=a}B(V,Hc);q=V.prototype;q.Q=ba;q.kg=function(){t(this.ka)||(this.ka=Zc(this.element));return this.ka};q.ta=function(){this.Q();V.d.ta.call(this)};q.Ga=function(){this.Q();V.d.Ga.call(this)};q.$=function(){this.Q();V.d.$.call(this)};function ed(a,b,c,d,f){(2!=b.length||2!=c.length)&&e(Error("Start and end points must be 2D"));V.apply(this,arguments)}B(ed,V);
+ed.prototype.Q=function(){var a=this.Ka&&this.kg()?"right":"left";this.element.style[a]=Math.round(this.coords[0])+"px";this.element.style.top=Math.round(this.coords[1])+"px"};function fd(a,b,c,d){var f=[this.Ka?dd(a):a.offsetLeft,a.offsetTop];ed.call(this,a,f,b,c,d)}B(fd,ed);fd.prototype.$=function(){this.Bb=[this.Ka?dd(this.element):this.element.offsetLeft,this.element.offsetTop];fd.d.$.call(this)};
+function gd(a,b,c,d,f){(2!=b.length||2!=c.length)&&e(Error("Start and end points must be 2D"));V.apply(this,arguments)}B(gd,V);gd.prototype.Q=function(){if(this.Ka){var a=this.element,b=Math.round(this.coords[0]),b=Math.max(b,0);a.scrollLeft=Zc(a)?H?-b:!G||!K("8")?a.scrollWidth-b-a.clientWidth:b:b}else this.element.scrollLeft=Math.round(this.coords[0]);this.element.scrollTop=Math.round(this.coords[1])};
+function hd(a,b,c,d,f){"number"==typeof b&&(b=[b]);"number"==typeof c&&(c=[c]);V.call(this,a,b,c,d,f);(1!=b.length||1!=c.length)&&e(Error("Start and end points must be 1D"))}B(hd,V);hd.prototype.Q=function(){Yc(this.element,this.coords[0])};hd.prototype.show=function(){this.element.style.display=""};hd.prototype.de=function(){this.element.style.display="none"};function id(a,b,c){hd.call(this,a,1,0,b,c)}B(id,hd);function jd(a,b,c){hd.call(this,a,0,1,b,c)}B(jd,hd);
+function kd(a,b,c){hd.call(this,a,1,0,b,c)}B(kd,hd);kd.prototype.$=function(){this.show();kd.d.$.call(this)};kd.prototype.Ga=function(){this.de();kd.d.Ga.call(this)};function ld(a,b,c){hd.call(this,a,0,1,b,c)}B(ld,hd);ld.prototype.$=function(){this.show();ld.d.$.call(this)};M.dataset={};M.dataset.bb="data-";M.dataset.set=function(a,b,c){a.dataset?a.dataset[b]=c:a.setAttribute(M.dataset.bb+Aa(b),c)};M.dataset.get=function(a,b){return a.dataset?a.dataset[b]:a.getAttribute(M.dataset.bb+Aa(b))};M.dataset.remove=function(a,b){a.dataset?delete a.dataset[b]:a.removeAttribute(M.dataset.bb+Aa(b))};M.dataset.ia=function(a,b){return a.dataset?b in a.dataset:a.hasAttribute?a.hasAttribute(M.dataset.bb+Aa(b)):!!a.getAttribute(M.dataset.bb+Aa(b))};
+M.dataset.getAll=function(a){if(a.dataset)return a.dataset;for(var b={},a=a.attributes,c=0;c<a.length;++c){var d=a[c];if(0==d.name.lastIndexOf(M.dataset.bb,0)){var f=za(d.name.substr(5));b[f]=d.value}}return b};M.U={};M.U.ph='javascript:""';M.U.rh="border:0;vertical-align:bottom;";M.U.Id=function(a,b){return a.f("iframe",{frameborder:0,style:M.U.rh+(b||""),src:M.U.ph})};M.U.qj=function(a,b){var c=M.Dc(a);c.open();c.write(b);c.close()};M.U.ak=function(a,b,c,d,f){var h=M.e(a),j=[];f||j.push("<!DOCTYPE html>");j.push("<html><head>",b,"</head><body>",c,"</body></html>");b=M.U.Id(h,d);a.appendChild(b);M.U.qj(b,j.join(""));return b};function md(a,b,c,d,f){if(!G&&(!I||!K("525")))return i;if(Za&&f)return nd(a);if(f&&!d||!c&&(17==b||18==b)||G&&d&&b==a)return l;switch(a){case 13:return!(G&&tb(9));case 27:return!I}return nd(a)}function nd(a){if(48<=a&&57>=a||96<=a&&106>=a||65<=a&&90>=a||I&&0==a)return i;switch(a){case 32:case 63:case 107:case 109:case 110:case 111:case 186:case 59:case 189:case 187:case 61:case 188:case 190:case 191:case 192:case 222:case 219:case 220:case 221:return i;default:return l}}
+function od(a){switch(a){case 61:return 187;case 59:return 186;case 224:return 91;case 0:return 224;default:return a}};function pd(a,b){O.call(this);a&&(this.Lc&&this.detach(),this.c=a,this.Kc=Q(this.c,"keypress",this,b),this.pe=Q(this.c,"keydown",this.bi,b,this),this.Lc=Q(this.c,"keyup",this.di,b,this))}B(pd,R);q=pd.prototype;q.c=k;q.Kc=k;q.pe=k;q.Lc=k;q.Fa=-1;q.Ea=-1;q.ud=l;
+var qd={3:13,12:144,63232:38,63233:40,63234:37,63235:39,63236:112,63237:113,63238:114,63239:115,63240:116,63241:117,63242:118,63243:119,63244:120,63245:121,63246:122,63247:123,63248:44,63272:46,63273:36,63275:35,63276:33,63277:34,63289:144,63302:45},rd={Up:38,Down:40,Left:37,Right:39,Enter:13,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,"U+007F":46,Home:36,End:35,PageUp:33,PageDown:34,Insert:45},sd=G||I&&K("525"),td=Za&&H;q=pd.prototype;
+q.bi=function(a){if(I&&(17==this.Fa&&!a.ctrlKey||18==this.Fa&&!a.altKey))this.Ea=this.Fa=-1;sd&&!md(a.keyCode,this.Fa,a.shiftKey,a.ctrlKey,a.altKey)?this.handleEvent(a):(this.Ea=H?od(a.keyCode):a.keyCode,td&&(this.ud=a.altKey))};q.di=function(a){this.Ea=this.Fa=-1;this.ud=a.altKey};
+q.handleEvent=function(a){var b=a.S,c,d,f=b.altKey;G&&"keypress"==a.type?(c=this.Ea,d=13!=c&&27!=c?b.keyCode:0):I&&"keypress"==a.type?(c=this.Ea,d=0<=b.charCode&&63232>b.charCode&&nd(c)?b.charCode:0):fb?(c=this.Ea,d=nd(c)?b.keyCode:0):(c=b.keyCode||this.Ea,d=b.charCode||0,td&&(f=this.ud),Za&&(63==d&&224==c)&&(c=191));var h=c,j=b.keyIdentifier;c?63232<=c&&c in qd?h=qd[c]:25==c&&a.shiftKey&&(h=9):j&&j in rd&&(h=rd[j]);a=h==this.Fa;this.Fa=h;b=new ud(h,d,a,b);b.altKey=f;this.dispatchEvent(b)};q.b=n("c");
+q.detach=function(){this.Kc&&(mc(this.Kc),mc(this.pe),mc(this.Lc),this.Lc=this.pe=this.Kc=k);this.c=k;this.Ea=this.Fa=-1};q.g=function(){pd.d.g.call(this);this.detach()};function ud(a,b,c,d){d&&this.q(d,g);this.type="key";this.keyCode=a;this.charCode=b;this.repeat=c}B(ud,ac);var vd={};function wd(a){return 1-Math.pow(1-a,3)}function xd(a){return 3*a*a-2*a*a*a};function yd(a){O.call(this);this.$b={};this.Zb={};this.qa=new uc(this);this.ua=a}B(yd,R);var zd=[G?"readystatechange":"load","abort","error"];yd.prototype.start=function(){var a=this.$b;E(La(a),function(b){var c=a[b];if(c&&(delete a[b],!this.Sb)){var d;d=this.ua?M.e(this.ua).f("img"):new Image;S(this.qa,d,zd,this.zg);this.Zb[b]=d;d.id=b;d.src=c}},this)};
+yd.prototype.zg=function(a){var b=a.currentTarget;if(b){if("readystatechange"==a.type)if("complete"==b.readyState)a.type="load";else return;"undefined"==typeof b.naturalWidth&&("load"==a.type?(b.naturalWidth=b.width,b.naturalHeight=b.height):(b.naturalWidth=0,b.naturalHeight=0));this.dispatchEvent({type:a.type,target:b});if(!this.Sb&&(a=b.id,delete this.$b[a],b=this.Zb[a]))delete this.Zb[a],wc(this.qa,b,zd,this.zg),Ma(this.Zb)&&Ma(this.$b)&&this.dispatchEvent("complete")}};
+yd.prototype.g=function(){delete this.$b;delete this.Zb;Vb(this.qa);yd.d.g.call(this)};M.z={};M.z.Je=function(a,b){a.setAttribute("role",b)};M.z.mk=function(a){return a.getAttribute("role")||""};M.z.jc=function(a,b,c){a.setAttribute("aria-"+b,c)};M.z.Wh=function(a){a=a.getAttribute("aria-activedescendant");return a===i||a===l?a?"true":"false":a?String(a):""};M.z.hk=function(a){var b=M.z.Wh(a);return M.u(a).getElementById(b)};M.z.vk=function(a,b){M.z.jc(a,"activedescendant",b?b.id:"")};function Ad(a,b,c){O.call(this);this.target=a;this.handle=b||a;this.Mc=c||new Lc(NaN,NaN,NaN,NaN);this.m=M.u(a);this.ca=new uc(this);Q(this.handle,["touchstart","mousedown"],this.Zg,l,this)}B(Ad,R);var Bd=G||H&&K("1.9.3");q=Ad.prototype;q.clientX=0;q.clientY=0;q.screenX=0;q.screenY=0;q.$g=0;q.ah=0;q.eb=0;q.fb=0;q.uf=i;q.Qa=l;q.cg=0;q.vi=0;q.ni=l;q.Ka=l;q.Ta=n("ca");
+q.g=function(){Ad.d.g.call(this);kc(this.handle,["touchstart","mousedown"],this.Zg,l,this);xc(this.ca);Bd&&this.m.releaseCapture();this.ca=this.handle=this.target=k};function Cd(a){t(a.ka)||(a.ka=Zc(a.target));return a.ka}
+q.Zg=function(a){var b="mousedown"==a.type;if(this.uf&&!this.Qa&&(!b||(Wb?0==a.S.button:"click"==a.type||a.S.button&bc[0])&&(!I||!Za||!a.ctrlKey))){Dd(a);if(0==this.cg)if(this.dispatchEvent(new Ed("start",this,a.clientX,a.clientY,a)))this.Qa=i,a.preventDefault();else return;else a.preventDefault();var b=this.m,c=b.documentElement,d=!Bd;S(this.ca,b,["touchmove","mousemove"],this.ei,d);S(this.ca,b,["touchend","mouseup"],this.Ac,d);Bd?(c.setCapture(l),S(this.ca,c,"losecapture",this.Ac)):S(this.ca,M.ha(b),
+"blur",this.Ac);G&&this.ni&&S(this.ca,b,"dragstart",Zb);this.Pi&&S(this.ca,this.Pi,"scroll",this.Hi,d);this.clientX=this.$g=a.clientX;this.clientY=this.ah=a.clientY;this.screenX=a.screenX;this.screenY=a.screenY;this.eb=this.Ka?dd(this.target):this.target.offsetLeft;this.fb=this.target.offsetTop;this.Ae=M.e(this.m).ea();this.vi=na()}else this.dispatchEvent("earlycancel")};
+q.Ac=function(a,b){xc(this.ca);Bd&&this.m.releaseCapture();if(this.Qa){Dd(a);this.Qa=l;var c=Fd(this,this.eb),d=Gd(this,this.fb);this.dispatchEvent(new Ed("end",this,a.clientX,a.clientY,a,c,d,b||"touchcancel"==a.type))}else this.dispatchEvent("earlycancel");("touchend"==a.type||"touchcancel"==a.type)&&a.preventDefault()};
+function Dd(a){var b=a.type;"touchstart"==b||"touchmove"==b?a.q(a.S.targetTouches[0],a.currentTarget):("touchend"==b||"touchcancel"==b)&&a.q(a.S.changedTouches[0],a.currentTarget)}
+q.ei=function(a){if(this.uf){Dd(a);var b=(this.Ka&&Cd(this)?-1:1)*(a.clientX-this.clientX),c=a.clientY-this.clientY;this.clientX=a.clientX;this.clientY=a.clientY;this.screenX=a.screenX;this.screenY=a.screenY;if(!this.Qa){var d=this.$g-this.clientX,f=this.ah-this.clientY;if(d*d+f*f>this.cg)if(this.dispatchEvent(new Ed("start",this,a.clientX,a.clientY,a)))this.Qa=i;else{this.Sb||this.Ac(a);return}}c=Hd(this,b,c);b=c.x;c=c.y;this.Qa&&this.dispatchEvent(new Ed("beforedrag",this,a.clientX,a.clientY,a,
+b,c))&&(Id(this,a,b,c),a.preventDefault())}};function Hd(a,b,c){var d=M.e(a.m).ea(),b=b+(d.x-a.Ae.x),c=c+(d.y-a.Ae.y);a.Ae=d;a.eb+=b;a.fb+=c;b=Fd(a,a.eb);a=Gd(a,a.fb);return new F(b,a)}q.Hi=function(a){var b=Hd(this,0,0);a.clientX=this.clientX;a.clientY=this.clientY;Id(this,a,b.x,b.y)};function Id(a,b,c,d){a.Ka&&Cd(a)?a.target.style.right=c+"px":a.target.style.left=c+"px";a.target.style.top=d+"px";a.dispatchEvent(new Ed("drag",a,b.clientX,b.clientY,b,c,d))}
+function Fd(a,b){var c=a.Mc,d=!isNaN(c.left)?c.left:k,c=!isNaN(c.width)?c.width:0;return Math.min(d!=k?d+c:Infinity,Math.max(d!=k?d:-Infinity,b))}function Gd(a,b){var c=a.Mc,d=!isNaN(c.top)?c.top:k,c=!isNaN(c.height)?c.height:0;return Math.min(d!=k?d+c:Infinity,Math.max(d!=k?d:-Infinity,b))}function Ed(a,b,c,d,f,h,j,m){P.call(this,a);this.clientX=c;this.clientY=d;this.Zj=f;this.left=t(h)?h:b.eb;this.top=t(j)?j:b.fb;this.ek=b;this.dk=!!m}B(Ed,P);function Jd(a){O.call(this);this.c=a;a=G?"focusout":"blur";this.si=Q(this.c,G?"focusin":"focus",this,!G);this.ti=Q(this.c,a,this,!G)}B(Jd,R);Jd.prototype.handleEvent=function(a){var b=new ac(a.S);b.type="focusin"==a.type||"focus"==a.type?"focusin":"focusout";this.dispatchEvent(b)};Jd.prototype.g=function(){Jd.d.g.call(this);mc(this.si);mc(this.ti);delete this.c};function Kd(){}Kd.Nf=function(){return Kd.gg?Kd.gg:Kd.gg=new Kd};Kd.prototype.Ai=0;Kd.Nf();function Ld(a){O.call(this);this.A=a||M.e();this.ka=Md}B(Ld,R);Ld.prototype.mi=Kd.Nf();var Md=k;q=Ld.prototype;q.ra=k;q.W=l;q.c=k;q.ka=k;q.ui=k;q.ua=k;q.ya=k;q.vc=k;q.kh=l;function Nd(a){return a.ra||(a.ra=":"+(a.mi.Ai++).toString(36))}q.b=n("c");q.k=function(a){return this.c?this.A.k(a,this.c):[]};q.fa=function(a){return this.c?this.A.fa(a,this.c):k};q.Ta=function(){return this.nb||(this.nb=new uc(this))};q.He=function(a){this.ua&&this.ua!=a&&e(Error("Method not supported"));Ld.d.He.call(this,a)};
+q.e=n("A");q.f=function(){this.c=this.A.createElement("div")};q.va=function(a){this.W&&e(Error("Component already rendered"));this.c||this.f();a?a.insertBefore(this.c,k):this.A.r().body.appendChild(this.c);(!this.ua||this.ua.W)&&this.Ra()};q.oa=function(a){this.W&&e(Error("Component already rendered"));if(a&&this.ff(a)){this.kh=i;if(!this.A||this.A.r()!=M.u(a))this.A=M.e(a);this.Pb(a);this.Ra()}else e(Error("Invalid element to decorate"))};q.ff=function(){return i};q.Pb=aa("c");
+q.Ra=function(){this.W=i;Od(this,function(a){!a.W&&a.b()&&a.Ra()})};q.Sa=function(){Od(this,function(a){a.W&&a.Sa()});this.nb&&xc(this.nb);this.W=l};q.g=function(){Ld.d.g.call(this);this.W&&this.Sa();this.nb&&(this.nb.Pa(),delete this.nb);Od(this,function(a){a.Pa()});!this.kh&&this.c&&M.removeNode(this.c);this.ua=this.ui=this.c=this.vc=this.ya=k};q.Ud=n("c");q.kg=function(){this.ka==k&&(this.ka=Zc(this.W?this.c:this.A.r().body));return this.ka};function Od(a,b){a.ya&&E(a.ya,b,g)}
+q.removeChild=function(a,b){if(a){var c=u(a)?a:Nd(a),d;this.vc&&c?(d=this.vc,d=(c in d?d[c]:g)||k):d=k;a=d;c&&a&&(d=this.vc,c in d&&delete d[c],Da(this.ya,a),b&&(a.Sa(),a.c&&M.removeNode(a.c)),c=a,c==k&&e(Error("Unable to set parent component")),c.ua=k,Ld.d.He.call(c,k))}a||e(Error("Child is not in parent component"));return a};q.gc=function(a){for(var b=[];this.ya&&0!=this.ya.length;)b.push(this.removeChild(this.ya?this.ya[0]||k:k,a));return b};function Pd(a,b){Ld.call(this,b);this.oj=!!a}B(Pd,Ld);q=Pd.prototype;q.Rd=k;q.La=l;q.C=k;q.s=k;q.aa=k;q.Yb=function(){return"goog-modalpopup"};q.Bc=n("C");q.f=function(){Pd.d.f.call(this);var a=this.b();M.a.add(a,this.Yb());M.gd(a,i);U(a,l);Qd(this);Rd(this)};function Qd(a){a.oj&&!a.s&&(a.s=M.U.Id(a.e()),a.s.className=a.Yb()+"-bg",U(a.s,l),Yc(a.s,0));a.C||(a.C=a.e().f("div",a.Yb()+"-bg"),U(a.C,l))}
+function Rd(a){a.aa||(a.aa=a.e().createElement("span"),U(a.aa,l),M.gd(a.aa,i),a.aa.style.position="absolute")}q.ff=function(a){return!!a&&"DIV"==a.tagName};q.Pb=function(a){Pd.d.Pb.call(this,a);M.a.add(this.b(),this.Yb());Qd(this);Rd(this);U(this.b(),l)};q.Ra=function(){this.s&&M.Ic(this.s,this.b());M.Ic(this.C,this.b());Pd.d.Ra.call(this);M.he(this.aa,this.b());this.Rd=new Jd(this.e().r());S(this.Ta(),this.Rd,"focusin",this.Di)};
+q.Sa=function(){this.La&&this.P(l);Vb(this.Rd);Pd.d.Sa.call(this);M.removeNode(this.s);M.removeNode(this.C);M.removeNode(this.aa)};q.P=function(a){a!=this.La&&(this.xb&&this.xb.stop(),this.Ib&&this.Ib.stop(),this.wb&&this.wb.stop(),this.Hb&&this.Hb.stop(),a?this.lc():this.ki())};
+q.lc=function(){this.dispatchEvent("beforeshow")&&(this.Ce(),this.Ha(),S(this.Ta(),this.e().ha(),"resize",this.Ce),Sd(this,i),this.focus(),this.La=i,this.xb&&this.Ib?(jc(this.xb,"end",this.Uc,l,this),this.Ib.play(),this.xb.play()):this.Uc())};q.ki=function(){this.dispatchEvent("beforehide")&&(wc(this.Ta(),this.e().ha(),"resize",this.Ce),this.La=l,this.wb&&this.Hb?(jc(this.wb,"end",this.Sc,l,this),this.Hb.play(),this.wb.play()):this.Sc())};
+function Sd(a,b){a.s&&U(a.s,b);a.C&&U(a.C,b);U(a.b(),b);U(a.aa,b)}q.Uc=function(){this.dispatchEvent("show")};q.Sc=function(){Sd(this,l);this.dispatchEvent("hide")};q.focus=function(){this.Df()};
+q.Ce=function(){this.s&&U(this.s,l);this.C&&U(this.C,l);var a=this.e().r(),b=M.ga(M.ha(a)||window),c=Math.max(b.width,Math.max(a.body.scrollWidth,a.documentElement.scrollWidth)),a=Math.max(b.height,Math.max(a.body.scrollHeight,a.documentElement.scrollHeight));this.s&&(U(this.s,i),Wc(this.s,c,a));this.C&&(U(this.C,i),Wc(this.C,c,a))};
+q.Ha=function(){var a=this.e().r(),b=M.ha(a)||window;if("fixed"==Qc(this.b()))var c=a=0;else c=this.e().ea(),a=c.x,c=c.y;var d=T(this.b()),b=M.ga(b),a=Math.max(a+b.width/2-d.width/2,0),c=Math.max(c+b.height/2-d.height/2,0);Rc(this.b(),a,c);Rc(this.aa,a,c)};q.Di=function(a){a.target==this.aa&&tc(this.Df,0,this)};q.Df=function(){try{G&&this.e().r().body.focus(),this.b().focus()}catch(a){}};q.g=function(){Vb(this.xb);this.xb=k;Vb(this.wb);this.wb=k;Vb(this.Ib);this.Ib=k;Vb(this.Hb);this.Hb=k;Pd.d.g.call(this)};function W(a,b,c){Pd.call(this,b,c);this.t=a||"modal-dialog";this.l=X(X(new Td,Ud,i),Vd,l,i)}B(W,Pd);q=W.prototype;q.Pd=i;q.be=i;q.rg=i;q.Mh=i;q.sc=0.5;q.nc="";q.Mb="";q.Ba=k;q.Jh=l;q.p=k;q.na=k;q.od=k;q.ma=k;q.H=k;q.j=k;q.Eg="dialog";q.Yb=n("t");q.Yf=n("nc");q.Ud=function(){this.b()||this.va();return this.H};q.Bc=function(){this.b()||this.va();return W.d.Bc.call(this)};function Wd(a,b){a.sc=b;if(a.b()){var c=a.Bc();c&&Yc(c,a.sc)}}
+function Xd(a,b){a.b()&&M.a.enable(a.p,a.t+"-title-draggable",b);b&&!a.Ba?(a.Ba=new Ad(a.b(),a.p),M.a.add(a.p,a.t+"-title-draggable"),Q(a.Ba,"start",a.Ri,l,a)):!b&&a.Ba&&(a.Ba.Pa(),a.Ba=k)}
+q.f=function(){W.d.f.call(this);var a=this.b(),b=this.e();this.p=b.f("div",{className:this.t+"-title",id:Nd(this)},this.na=b.f("span",this.t+"-title-text",this.nc),this.ma=b.f("span",this.t+"-title-close"));M.append(a,this.p,this.H=b.f("div",this.t+"-content"),this.j=b.f("div",this.t+"-buttons"));this.od=this.p.id;M.z.Je(a,this.Eg);M.z.jc(a,"labelledby",this.od||"");this.Mb&&(this.H.innerHTML=this.Mb);U(this.ma,this.be);this.l&&(a=this.l,a.c=this.j,a.va());U(this.j,!!this.l);Wd(this,this.sc)};
+q.Pb=function(a){W.d.Pb.call(this,a);a=this.t+"-content";(this.H=M.h(k,a,this.b())[0])?this.Mb=this.H.innerHTML:(this.H=this.e().f("div",a),this.Mb&&(this.H.innerHTML=this.Mb),this.b().appendChild(this.H));var a=this.t+"-title",b=this.t+"-title-text",c=this.t+"-title-close";(this.p=M.h(k,a,this.b())[0])?(this.na=M.h(k,b,this.p)[0],this.ma=M.h(k,c,this.p)[0],this.p.id||(this.p.id=Nd(this))):(this.p=this.e().f("div",{className:a,id:Nd(this)}),this.b().insertBefore(this.p,this.H));this.od=this.p.id;
+this.na?this.nc=M.mb(this.na):(this.na=this.e().f("span",b,this.nc),this.p.appendChild(this.na));M.z.jc(this.b(),"labelledby",this.od||"");this.ma||(this.ma=this.e().f("span",c),this.p.appendChild(this.ma));U(this.ma,this.be);a=this.t+"-buttons";(this.j=M.h(k,a,this.b())[0])?(this.l=new Td(this.e()),this.l.oa(this.j)):(this.j=this.e().f("div",a),this.b().appendChild(this.j),this.l&&(a=this.l,a.c=this.j,a.va()),U(this.j,!!this.l));Wd(this,this.sc)};
+q.Ra=function(){W.d.Ra.call(this);S(S(this.Ta(),this.b(),"keydown",this.yg),this.b(),"keypress",this.yg);S(this.Ta(),this.j,"click",this.Ci);Xd(this,this.Mh);S(this.Ta(),this.ma,"click",this.Ii);M.z.Je(this.b(),this.Eg);""!==this.na.id&&M.z.jc(this.b(),"labelledby",this.na.id);if(!this.rg&&(this.rg=l,this.W)){var a=this.e(),b=this.Bc();a.removeNode(this.s);a.removeNode(b)}};q.Sa=function(){this.La&&this.P(l);Xd(this,l);W.d.Sa.call(this)};
+q.P=function(a){a!=this.La&&(this.W||this.va(),W.d.P.call(this,a))};q.Uc=function(){W.d.Uc.call(this);this.dispatchEvent(Yd)};q.Sc=function(){W.d.Sc.call(this);this.dispatchEvent(Zd);this.Jh&&this.Pa()};
+q.focus=function(){W.d.focus.call(this);if(this.l){var a=this.l.yc;if(a)for(var b=this.e().r(),c=this.j.getElementsByTagName("button"),d=0,f;f=c[d];d++)if(f.name==a){try{if(I||fb){var h=b.createElement("input");h.style.cssText="position:fixed;width:0;height:0;left:0;top:0;";this.b().appendChild(h);h.focus();this.b().removeChild(h)}f.focus()}catch(j){}break}}};
+q.Ri=function(){var a=this.e().r(),b=M.ga(M.ha(a)||window),c=Math.max(a.body.scrollWidth,b.width),a=Math.max(a.body.scrollHeight,b.height),d=T(this.b());"fixed"==Qc(this.b())?(b=new Lc(0,0,Math.max(0,b.width-d.width),Math.max(0,b.height-d.height)),this.Ba.Mc=b||new Lc(NaN,NaN,NaN,NaN)):this.Ba.Mc=new Lc(0,0,c-d.width,a-d.height)||new Lc(NaN,NaN,NaN,NaN)};q.Ii=function(){if(this.be){var a=this.l,b=a&&a.Cd;b?(a=a.get(b),this.dispatchEvent(new $d(b,a))&&this.P(l)):this.P(l)}};
+q.g=function(){this.j=this.ma=k;W.d.g.call(this)};q.Ci=function(a){a:{for(a=a.target;a!=k&&a!=this.j;){if("BUTTON"==a.tagName)break a;a=a.parentNode}a=k}if(a&&!a.disabled){var a=a.name,b=this.l.get(a);this.dispatchEvent(new $d(a,b))&&this.P(l)}};
+q.yg=function(a){var b=l,c=l,d=this.l,f=a.target;if("keydown"==a.type)if(this.Pd&&27==a.keyCode){var h=d&&d.Cd,f="SELECT"==f.tagName&&!f.disabled;h&&!f?(c=i,b=d.get(h),b=this.dispatchEvent(new $d(h,b))):f||(b=i)}else 9==a.keyCode&&(a.shiftKey&&f==this.b())&&(c=i);else if(13==a.keyCode){if("BUTTON"==f.tagName)h=f.name;else if(d){var j=d.yc,m;if(m=j)a:{m=d.c.getElementsByTagName("BUTTON");for(var p=0,s;s=m[p];p++)if(s.name==j||s.id==j){m=s;break a}m=k}f=("TEXTAREA"==f.tagName||"SELECT"==f.tagName)&&
+!f.disabled;m&&(!m.disabled&&!f)&&(h=j)}h&&d&&(c=i,b=this.dispatchEvent(new $d(h,String(d.get(h)))))}if(b||c)a.stopPropagation(),a.preventDefault();b&&this.P(l)};function $d(a,b){this.type=ae;this.key=a;this.caption=b}B($d,P);var ae="dialogselect",Zd="afterhide",Yd="aftershow";function Td(a){this.A=a||M.e();Ra.call(this)}B(Td,Ra);q=Td.prototype;q.t="goog-buttonset";q.yc=k;q.c=k;q.Cd=k;q.set=function(a,b,c,d){Ra.prototype.set.call(this,a,b);c&&(this.yc=a);d&&(this.Cd=a);return this};
+function X(a,b,c,d){return a.set(b.key,b.caption,c,d)}q.va=function(){if(this.c){this.c.innerHTML="";var a=M.e(this.c);Qa(this,function(b,c){var d=a.f("button",{name:c},b);c==this.yc&&(d.className=this.t+"-default");this.c.appendChild(d)},this)}};q.oa=function(a){if(a&&1==a.nodeType){this.c=a;for(var a=this.c.getElementsByTagName("button"),b=0,c,d,f;c=a[b];b++)if(d=c.name||c.id,f=M.mb(c)||c.value,d){var h=0==b;this.set(d,f,h,c.name==be);h&&M.a.add(c,this.t+"-default")}}};q.b=n("c");q.e=n("A");
+var be="cancel",ce=oa("OK"),de=oa("Cancel"),ee=oa("Yes"),fe=oa("No"),ge=oa("Save"),he=oa("Continue"),Ud={key:"ok",caption:ce},Vd={key:be,caption:de},ie={key:"yes",caption:ee},je={key:"no",caption:fe},ke={key:"save",caption:ge},le={key:"continue",caption:he};"undefined"!=typeof document&&(X(new Td,Ud,i,i),X(X(new Td,Ud,i),Vd,l,i),X(X(new Td,ie,i),je,l,i),X(X(X(new Td,ie),je,i),Vd,l,i),X(X(X(new Td,le),ke),Vd,i,i));var me,ne,oe,pe,qe,re,se;se=re=qe=pe=oe=ne=me=l;var te=bb();te&&(-1!=te.indexOf("Firefox")?me=i:-1!=te.indexOf("Camino")?ne=i:-1!=te.indexOf("iPhone")||-1!=te.indexOf("iPod")?oe=i:-1!=te.indexOf("iPad")?pe=i:-1!=te.indexOf("Android")?qe=i:-1!=te.indexOf("Chrome")?re=i:-1!=te.indexOf("Safari")&&(se=i));var ue=me,ve=ne,we=oe,xe=pe,ye=qe,ze=re,Ae=se;function Be(a,b,c,d,f){function h(a){a&&(a.tabIndex=0,M.z.Je(a,"tab"),M.a.add(a,"goog-zippy-header"),a&&S(j.sg,a,"click",j.Ei),a&&S(j.mg,a,"keydown",j.Fi))}O.call(this);this.A=f||M.e();this.jb=this.A.b(a)||k;this.Nd=this.A.b(d||k);this.ib=(this.se=ga(b)?b:k)||!b?k:this.A.b(b);this.Wb=c==i;this.mg=new uc(this);this.sg=new uc(this);var j=this;h(this.jb);h(this.Nd);Ce(this,this.Wb)}B(Be,R);q=Be.prototype;q.g=function(){Be.d.g.call(this);Vb(this.mg);Vb(this.sg)};q.Ud=n("ib");
+q.collapse=function(){Ce(this,l)};q.toggle=function(){Ce(this,!this.Wb)};function Ce(a,b){a.ib?U(a.ib,b):b&&a.se&&(a.ib=a.se());a.ib&&M.a.add(a.ib,"goog-zippy-content");a.Nd?(U(a.jb,!b),U(a.Nd,b)):a.jb&&(M.a.enable(a.jb,"goog-zippy-expanded",b),M.a.enable(a.jb,"goog-zippy-collapsed",!b),M.z.jc(a.jb,"expanded",b));a.Wb=b;a.dispatchEvent(new De("toggle",a,a.Wb))}q.Fi=function(a){if(13==a.keyCode||32==a.keyCode)this.toggle(),this.dispatchEvent(new P("action",this)),a.preventDefault(),a.stopPropagation()};
+q.Ei=function(){this.toggle();this.dispatchEvent(new P("action",this))};function De(a,b,c){P.call(this,a,b);this.Ph=c}B(De,P);function Ee(a){return(a=a.exec(bb()))?a[1]:""}var Fe=function(){if(ue)return Ee(/Firefox\/([0-9.]+)/);if(G||fb)return kb;if(ze)return Ee(/Chrome\/([0-9.]+)/);if(Ae)return Ee(/Version\/([0-9.]+)/);if(we||xe){var a=/Version\/(\S+).*Mobile\/(\S+)/.exec(bb());if(a)return a[1]+"."+a[2]}else{if(ye)return(a=Ee(/Android\s+([0-9.]+)/))?a:Ee(/Version\/([0-9.]+)/);if(ve)return Ee(/Camino\/([0-9.]+)/)}return""}();function Ge(a,b,c,d,f){Hc.call(this,[c.left,c.top],[c.right,c.bottom],d,f);this.c=a;this.Ab=b}B(Ge,Hc);Ge.prototype.ta=function(){this.c.style.backgroundPosition=-Math.floor(this.coords[0]/this.Ab.width)*this.Ab.width+"px "+-Math.floor(this.coords[1]/this.Ab.height)*this.Ab.height+"px";Ge.d.ta.call(this)};Ge.prototype.ze=function(){this.play(i);Ge.d.ze.call(this)};Ge.prototype.g=function(){Ge.d.g.call(this);this.c=k};M.forms={};M.forms.ik=function(a){var b=new Ra;M.forms.Lf(a,b,M.forms.sh);return b};M.forms.jk=function(a){var b=[];M.forms.Lf(a,b,M.forms.th);return b.join("&")};
+M.forms.Lf=function(a,b,c){for(var d=a.elements,f,h=0;f=d[h];h++)if(!(f.form!=a||f.disabled||"fieldset"==f.tagName.toLowerCase())){var j=f.name;switch(f.type.toLowerCase()){case "file":case "submit":case "reset":case "button":break;case "select-multiple":f=M.forms.Da(f);if(f!=k)for(var m,p=0;m=f[p];p++)c(b,j,m);break;default:m=M.forms.Da(f),m!=k&&c(b,j,m)}}d=a.getElementsByTagName("input");for(h=0;f=d[h];h++)f.form==a&&"image"==f.type.toLowerCase()&&(j=f.name,c(b,j,f.value),c(b,j+".x","0"),c(b,j+
+".y","0"))};M.forms.sh=function(a,b,c){var d=a.get(b);d||(d=[],a.set(b,d));d.push(c)};M.forms.th=function(a,b,c){a.push(encodeURIComponent(b)+"="+encodeURIComponent(c))};M.forms.nk=function(a){for(var a=a.elements,b,c=0;b=a[c];c++)if(!b.disabled&&b.type&&"file"==b.type.toLowerCase())return i;return l};M.forms.Og=function(a,b){if("FORM"==a.tagName)for(var c=a.elements,d=0;a=c[d];d++)M.forms.Og(a,b);else b==i&&a.blur(),a.disabled=b};M.forms.fk=function(a){a.focus();a.select&&a.select()};
+M.forms.ok=function(a){return!!M.forms.Da(a)};M.forms.pk=function(a,b){return!!M.forms.Zh(a,b)};M.forms.Da=function(a){var b=a.type;if(!t(b))return k;switch(b.toLowerCase()){case "checkbox":case "radio":return M.forms.Th(a);case "select-one":return M.forms.Vh(a);case "select-multiple":return M.forms.Uh(a);default:return t(a.value)?a.value:k}};M.sj=M.forms.Da;M.forms.Zh=function(a,b){var c=a.elements[b];if(c.type)return M.forms.Da(c);for(var d=0;d<c.length;d++){var f=M.forms.Da(c[d]);if(f)return f}return k};
+M.forms.Th=function(a){return a.checked?a.value:k};M.forms.Vh=function(a){var b=a.selectedIndex;return 0<=b?a.options[b].value:k};M.forms.Uh=function(a){for(var b=[],c,d=0;c=a.options[d];d++)c.selected&&b.push(c.value);return b.length?b:k};M.forms.wk=function(a,b){var c=a.type;if(t(c))switch(c.toLowerCase()){case "checkbox":case "radio":M.forms.Si(a,b);break;case "select-one":M.forms.Wi(a,b);break;case "select-multiple":M.forms.Vi(a,b);break;default:a.value=b!=k?b:""}};
+M.forms.Si=function(a,b){a.checked=b?"checked":k};M.forms.Wi=function(a,b){a.selectedIndex=-1;if(u(b))for(var c,d=0;c=a.options[d];d++)if(c.value==b){c.selected=i;break}};M.forms.Vi=function(a,b){u(b)&&(b=[b]);for(var c,d=0;c=a.options[d];d++)if(c.selected=l,b)for(var f,h=0;f=b[h];h++)c.value==f&&(c.selected=i)};/*
+ Portions of this code are from the Dojo Toolkit, received by
+ The Closure Library Authors under the BSD license. All other code is
+ Copyright 2005-2009 The Closure Library Authors. All Rights Reserved.
+
+The "New" BSD License:
+
+Copyright (c) 2005-2009, The Dojo Foundation
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright notice, this
+    list of conditions and the following disclaimer.
+ Redistributions in binary form must reproduce the above copyright notice,
+    this list of conditions and the following disclaimer in the documentation
+    and/or other materials provided with the distribution.
+ Neither the name of the Dojo Foundation nor the names of its contributors
+    may be used to endorse or promote products derived from this software
+    without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+var He=M;function Ie(a,b){var c=b||[];a&&c.push(a);return c}var Je=I&&"BackCompat"==M.r().compatMode,Ke=M.r().firstChild.children?"children":"childNodes",Le=l;
+function Me(a){function b(){0<=s&&(w.id=c(s,D).replace(/\\/g,""),s=-1);if(0<=J){var a=J==D?k:c(J,D);0>">~+".indexOf(a)?w.G=a:w.Vc=a;J=-1}0<=p&&(w.a.push(c(p+1,D).replace(/\\/g,"")),p=-1)}function c(b,c){return qa(a.slice(b,c))}for(var a=0<=">~+".indexOf(a.slice(-1))?a+" * ":a+" ",d=[],f=-1,h=-1,j=-1,m=-1,p=-1,s=-1,J=-1,y="",v="",ca,D=0,Kg=a.length,w=k,Z=k;y=v,v=a.charAt(D),D<Kg;D++)if("\\"!=y)if(w||(ca=D,w={B:k,Ya:[],rc:[],a:[],G:k,Vc:k,id:k,$d:function(){return Le?this.Mi:this.G}},J=D),0<=f)if("]"==
+v){Z.xd?Z.ve=c(j||f+1,D):Z.xd=c(f+1,D);if((f=Z.ve)&&('"'==f.charAt(0)||"'"==f.charAt(0)))Z.ve=f.slice(1,-1);w.rc.push(Z);Z=k;f=j=-1}else"="==v&&(j=0<="|~^$*".indexOf(y)?y:"",Z.type=j+v,Z.xd=c(f+1,D-j.length),j=D+1);else 0<=h?")"==v&&(0<=m&&(Z.value=c(h+1,D)),m=h=-1):"#"==v?(b(),s=D+1):"."==v?(b(),p=D):":"==v?(b(),m=D):"["==v?(b(),f=D,Z={}):"("==v?(0<=m&&(Z={name:c(m+1,D),value:k},w.Ya.push(Z)),h=D):" "==v&&y!=v&&(b(),0<=m&&w.Ya.push({name:c(m+1,D)}),w.pg=w.Ya.length||w.rc.length||w.a.length,w.sk=
+w.B=c(ca,D),w.Mi=w.G=w.Vc?k:w.G||"*",w.G&&(w.G=w.G.toUpperCase()),d.length&&d[d.length-1].Vc&&(w.dg=d.pop(),w.B=w.dg.B+" "+w.B),d.push(w),w=k);return d}function Ne(a,b){return!a?b:!b?a:function(){return a.apply(window,arguments)&&b.apply(window,arguments)}}function Oe(a){return 1==a.nodeType}function Pe(a,b){return!a?"":"class"==b?a.className||"":"for"==b?a.htmlFor||"":"style"==b?a.style.cssText||"":(Le?a.getAttribute(b):a.getAttribute(b,2))||""}
+var Qe={"*=":function(a,b){return function(c){return 0<=Pe(c,a).indexOf(b)}},"^=":function(a,b){return function(c){return 0==Pe(c,a).indexOf(b)}},"$=":function(a,b){return function(c){c=" "+Pe(c,a);return c.lastIndexOf(b)==c.length-b.length}},"~=":function(a,b){var c=" "+b+" ";return function(b){return 0<=(" "+Pe(b,a)+" ").indexOf(c)}},"|=":function(a,b){b=" "+b;return function(c){c=" "+Pe(c,a);return c==b||0==c.indexOf(b+"-")}},"=":function(a,b){return function(c){return Pe(c,a)==b}}},Re="undefined"==
+typeof M.r().firstChild.nextElementSibling,Se=!Re?"nextElementSibling":"nextSibling",Te=!Re?"previousElementSibling":"previousSibling",Ue=Re?Oe:Bc;function Ve(a){for(;a=a[Te];)if(Ue(a))return l;return i}function We(a){for(;a=a[Se];)if(Ue(a))return l;return i}function Xe(a){var b=a.parentNode,c=0,d=b[Ke],f=a._i||-1,h=b._l||-1;if(!d)return-1;d=d.length;if(h==d&&0<=f&&0<=h)return f;b._l=d;f=-1;for(b=b.firstElementChild||b.firstChild;b;b=b[Se])Ue(b)&&(b._i=++c,a===b&&(f=c));return f}
+function Ye(a){return!(Xe(a)%2)}function Ze(a){return Xe(a)%2}
+var af={checked:function(){return function(a){return a.checked||a.attributes.checked}},"first-child":function(){return Ve},"last-child":function(){return We},"only-child":function(){return function(a){return!Ve(a)||!We(a)?l:i}},empty:function(){return function(a){for(var b=a.childNodes,a=a.childNodes.length-1;0<=a;a--){var c=b[a].nodeType;if(1===c||3==c)return l}return i}},contains:function(a,b){var c=b.charAt(0);if('"'==c||"'"==c)b=b.slice(1,-1);return function(a){return 0<=a.innerHTML.indexOf(b)}},
+not:function(a,b){var c=Me(b)[0],d={hb:1};"*"!=c.G&&(d.G=1);c.a.length||(d.a=1);var f=$e(c,d);return function(a){return!f(a)}},"nth-child":function(a,b){if("odd"==b)return Ze;if("even"==b)return Ye;if(-1!=b.indexOf("n")){var c=b.split("n",2),d=c[0]?"-"==c[0]?-1:parseInt(c[0],10):1,f=c[1]?parseInt(c[1],10):0,h=0,j=-1;0<d?0>f?f=f%d&&d+f%d:0<f&&(f>=d&&(h=f-f%d),f%=d):0>d&&(d*=-1,0<f&&(j=f,f%=d));if(0<d)return function(a){a=Xe(a);return a>=h&&(0>j||a<=j)&&a%d==f};b=f}var m=parseInt(b,10);return function(a){return Xe(a)==
+m}}},bf=G?function(a){var b=a.toLowerCase();"class"==b&&(a="className");return function(c){return Le?c.getAttribute(a):c[a]||c[b]}}:function(a){return function(b){return b&&b.getAttribute&&b.hasAttribute(a)}};
+function $e(a,b){if(!a)return Bc;var b=b||{},c=k;b.hb||(c=Ne(c,Oe));b.G||"*"!=a.G&&(c=Ne(c,function(b){return b&&b.tagName==a.$d()}));b.a||E(a.a,function(a,b){var h=RegExp("(?:^|\\s)"+a+"(?:\\s|$)");c=Ne(c,function(a){return h.test(a.className)});c.count=b});b.Ya||E(a.Ya,function(a){var b=a.name;af[b]&&(c=Ne(c,af[b](b,a.value)))});b.rc||E(a.rc,function(a){var b,h=a.xd;a.type&&Qe[a.type]?b=Qe[a.type](h,a.ve):h.length&&(b=bf(h));b&&(c=Ne(c,b))});b.id||a.id&&(c=Ne(c,function(b){return!!b&&b.id==a.id}));
+c||"default"in b||(c=Bc);return c}var cf={};
+function df(a){var b=cf[a.B];if(b)return b;var c=a.dg,c=c?c.Vc:"",d=$e(a,{hb:1}),f="*"==a.G,h=M.r().getElementsByClassName;if(c)if(h={hb:1},f&&(h.G=1),d=$e(a,h),"+"==c)var j=d,b=function(a,b,c){for(;a=a[Se];)if(!Re||Oe(a)){(!c||ef(a,c))&&j(a)&&b.push(a);break}return b};else if("~"==c)var m=d,b=function(a,b,c){for(a=a[Se];a;){if(Ue(a)){if(c&&!ef(a,c))break;m(a)&&b.push(a)}a=a[Se]}return b};else{if(">"==c)var p=d,p=p||Bc,b=function(a,b,c){for(var d=0,f=a[Ke];a=f[d++];)Ue(a)&&((!c||ef(a,c))&&p(a,d))&&
+b.push(a);return b}}else if(a.id)d=!a.pg&&f?Bc:$e(a,{hb:1,id:1}),b=function(b,c){var f=M.e(b).b(a.id),h;if(h=f&&d(f))if(!(h=9==b.nodeType)){for(h=f.parentNode;h&&h!=b;)h=h.parentNode;h=!!h}if(h)return Ie(f,c)};else if(h&&/\{\s*\[native code\]\s*\}/.test(String(h))&&a.a.length&&!Je)var d=$e(a,{hb:1,a:1,id:1}),s=a.a.join(" "),b=function(a,b){for(var c=Ie(0,b),f,h=0,j=a.getElementsByClassName(s);f=j[h++];)d(f,a)&&c.push(f);return c};else!f&&!a.pg?b=function(b,c){for(var d=Ie(0,c),f,h=0,j=b.getElementsByTagName(a.$d());f=
+j[h++];)d.push(f);return d}:(d=$e(a,{hb:1,G:1,id:1}),b=function(b,c){for(var f=Ie(0,c),h,j=0,m=b.getElementsByTagName(a.$d());h=m[j++];)d(h,b)&&f.push(h);return f});return cf[a.B]=b}var ff={},gf={};function hf(a){var b=Me(qa(a));if(1==b.length){var c=df(b[0]);return function(a){if(a=c(a,[]))a.Qc=i;return a}}return function(a){for(var a=Ie(a),c,h,j=b.length,m,p,s=0;s<j;s++){p=[];c=b[s];h=a.length-1;0<h&&(m={},p.Qc=i);h=df(c);for(var J=0;c=a[J];J++)h(c,p,m);if(!p.length)break;a=p}return p}}
+var jf=!!M.r().querySelectorAll&&(!I||K("526"));
+function kf(a,b){if(jf){var c=gf[a];if(c&&!b)return c}if(c=ff[a])return c;var c=a.charAt(0),d=-1==a.indexOf(" ");0<=a.indexOf("#")&&d&&(b=i);if(jf&&!b&&-1==">~+".indexOf(c)&&(!G||-1==a.indexOf(":"))&&!(Je&&0<=a.indexOf("."))&&-1==a.indexOf(":contains")&&-1==a.indexOf("|=")){var f=0<=">~+".indexOf(a.charAt(a.length-1))?a+" *":a;return gf[a]=function(b){try{9==b.nodeType||d||e("");var c=b.querySelectorAll(f);G?c.Ch=i:c.Qc=i;return c}catch(h){return kf(a,i)(b)}}}var h=a.split(/\s*,\s*/);return ff[a]=
+2>h.length?hf(a):function(a){for(var b=0,c=[],d;d=h[b++];)c=c.concat(hf(d)(a));return c}}var lf=0,mf=G?function(a){return Le?a.getAttribute("_uid")||a.setAttribute("_uid",++lf)||lf:a.uniqueID}:function(a){return a._uid||(a._uid=++lf)};function ef(a,b){if(!b)return 1;var c=mf(a);return!b[c]?b[c]=1:0}
+function nf(a){if(a&&a.Qc)return a;var b=[];if(!a||!a.length)return b;a[0]&&b.push(a[0]);if(2>a.length)return b;lf++;if(G&&Le){var c=lf+"";a[0].setAttribute("_zipIdx",c);for(var d=1,f;f=a[d];d++)a[d].getAttribute("_zipIdx")!=c&&b.push(f),f.setAttribute("_zipIdx",c)}else if(G&&a.Ch)try{for(d=1;f=a[d];d++)Oe(f)&&b.push(f)}catch(h){}else{a[0]&&(a[0]._zipIdx=lf);for(d=1;f=a[d];d++)a[d]._zipIdx!=lf&&b.push(f),f._zipIdx=lf}return b}
+function of(a,b){if(!a)return[];if(a.constructor==Array)return a;if(!u(a))return[a];if(u(b)&&(b=M.b(b),!b))return[];var b=b||M.r(),c=b.ownerDocument||b.documentElement;Le=b.contentType&&"application/xml"==b.contentType||fb&&(b.doctype||"[object XMLDocument]"==c.toString())||!!c&&(G?c.xml:b.xmlVersion||c.xmlVersion);return(c=kf(a)(b))&&c.Qc?c:nf(c)}of.Ya=af;He.B=of;A("goog.dom.query",M.B);A("goog.dom.query.pseudos",M.B.Ya);var pf=/Mac OS X.+Silk\//,qf=/iPhone|iPod|iPad/.test(navigator.userAgent)||-1!=navigator.userAgent.indexOf("Android")||pf.test(navigator.userAgent),rf=window.navigator.msPointerEnabled,sf=qf?"touchstart":rf?"MSPointerDown":"mousedown";function tf(a,b){var c=a.N,d=new Bb(a.kb);return c.Ma(b)?c.T(b):d.T(b)}function uf(a,b,c){var d=a.N;d.Ma(b);c&&c.length&&(Mb(d,b,c),Ab(a,d))}
+function vf(a){a=a||{};this.J=M.b(a.carouselId);this.vh="animInDuration"in a?a.animInDuration:wf;this.wh="animOutDuration"in a?a.animOutDuration:800;this.Ng=a.selectedTabClass||"tab-on";this.pb="isTimerSet"in a?a.isTimerSet:l;this.xi=a.navPreviousClass||"nav-previous";this.wi=a.navNextClass||"nav-next";this.dj=a.tabContainerClass||"tabs";this.hj="timerDuration"in a?a.timerDuration:5E3;this.wa=[];this.w=this.Aa=k;this.ab=0;this.ie=l;this.ej=M.h("",this.dj,this.J)[0];this.Db=M.h("li","",this.ej);this.ad=
+M.h("",this.xi,this.J)[0];this.wg=M.h("",this.wi,this.J)[0];this.Vb=new uc(this);1<this.Db.length?(this.rf(),this.pb&&this.Ld(),xf(this),this.Ge(),this.wa[0].show()):1==this.Db.length&&(this.Db[0].parentNode.style.display="none",this.ad&&(this.ad.parentNode.style.display="none"),this.pb&&this.Ld(),xf(this),this.Ge())}A("gweb.ui.TimedCarousel",vf);var wf=800;q=vf.prototype;q.Ge=function(){this.pb&&(S(this.Vb,this.J,"mouseover",this.Tb),S(this.Vb,this.J,"mouseout",z(this.Kd,this.ab)))};
+q.rf=function(){E(this.Db,function(a,b){var c=new yf(a,this,b);this.wa.push(c);c.md.style.display="none"},this)};q.Ld=function(){Vb(this.w);this.w=new qc(this.hj);this.w.start();S(this.Vb,this.w,sc,function(){this.wa[this.ab].show();this.ab==this.wa.length-1?this.ab=0:this.ab++})};q.Kd=function(a){this.ab=a;this.w.start()};q.Tb=function(){this.w&&this.w.stop()};
+function xf(a){a.ad&&S(a.Vb,a.ad,"click",function(a){zf(this,0<this.Aa.index?this.Aa.index-1:this.wa.length-1);a.preventDefault()});a.wg&&S(a.Vb,a.wg,"click",function(a){this.next();a.preventDefault()})}q.next=function(){var a=this.Aa.index<this.wa.length-1?this.Aa.index+1:0;zf(this,a);return a};function zf(a,b){a.pb&&a.Tb();a.wa[b].show();a.pb&&a.Kd(b)}var Af=/tab-(.*)$/;
+function yf(a,b,c){this.index=c;this.J=a;this.parent=b;a=this.J.id?this.J.id.match(Af)[1]:M.h("a","",this.J)[0].href.split("#")[1];this.md=M.b(a);Q(this.J,"click",function(a){zf(this.parent,this.index);a.preventDefault()},l,this)}
+yf.prototype.show=function(){if(this.parent.ie)return k;if(this!=this.parent.Aa){this.parent.Aa&&this.parent.Aa.de();this.parent.pb&&this.parent.Kd(this.index);var a=new ld(this.md,this.parent.vh);Q(a,"begin",this.af,l,this);Q(a,"end",this.pc,l,this);a.play();M.a.add(this.J,this.parent.Ng);this.parent.Aa=this;return this}return k};yf.prototype.de=function(){var a=new kd(this.md,this.parent.wh);Q(a,"begin",this.af,l,this);Q(a,"end",this.pc,l,this);a.play();M.a.remove(this.J,this.parent.Ng);return this};
+yf.prototype.af=function(){this.parent.ie=i};yf.prototype.pc=function(){this.parent.ie=l};function Y(a,b){W.call(this,Bf,i);this.kf=a||Cf;this.dc=Bf+"-"+this.kf;this.fe=this.dc+"-iframe";this.nc=b||"";this.R=[];this.ba=k;this.Bf=i;this.X=this.c;this.oe=this.I=this.tg=this.ug=this.D=this.da=this.F=this.V=k;this.ja=0;this.Xc=l;this.kc=i;this.wd=this.Kg=l;this.zi=Df;this.yi=Ef;this.Bh=Ff;this.ii=l;this.Wc=-1;this.ub=l;this.Nc=new yd;this.Rb=this.hd=l;this.yh=i}B(Y,W);A("gweb.ui.LightBox",Y);
+var Bf="gweb-lightbox",Gf=qf?"touchstart":rf?"MSPointerDown":"click",Ff="\u00d7",Df="\u2039",Ef="\u203a",Hf=/\.(gif|jpg|jpeg|png|webp)$/i,If=/^#/,Jf=/\/\/(www\.)?youtube\.com/,Cf="lb";q=Y.prototype;q.Ti=aa("kc");q.Ui=aa("Kg");q.Qi=aa("wd");q.Hh=function(){this.kc=l;this.Rb=i};
+q.q=function(){var a=M.k(this.kf);E(a,function(a){var c=new Kf(a),d=this.R;0<=Ba(d,c)||d.push(c);M.dataset.set(a,"lightboxIndex",this.R.length-1);Q(a,Gf,function(c){c.preventDefault();this.Ke(a)},l,this);-1==this.Wc&&c.href.match(Jf)&&(this.Wc=1)},this);Wd(this,0.8);this.Pd=i;this.l=k;this.j&&(this.l?(a=this.l,a.c=this.j,a.va()):this.j.innerHTML="",U(this.j,!!this.l));this.va();1==this.Wc&&M.a.add(this.X,"gweb-lightbox-outside-nav");this.ja=Math.ceil(2*cd(this.X).top);this.Rb||(a=new pd(document),
+Q(a,"key",this.ci,l,this));Q(this,"imageloaded",z(this.Ed,this.F),l,this);Q(this,"iframeloaded",z(this.Ed,this.V),l,this);Q(this,"fragmentloaded",z(this.Ed,this.da),l,this);this.yh&&Q(this.C,Gf,z(this.P,l),l,this);Q(this,Zd,this.wc,l,this);Q(this,"navigateprev",z(this.Ke,this.ug),l,this);Q(this,"navigatenext",z(this.Ke,this.tg),l,this);Q(window,"resize",z(this.Ha,this.Fg),l,this);"opacity"in window.document.body.style&&(this.hd=i)};
+q.f=function(){Y.d.f.call(this);M.appendChild(this.ma,M.createTextNode(this.Bh));this.c.setAttribute("id",this.dc);this.j&&(this.D=M.f("div","gweb-lightbox-caption gweb-lightbox-hide"),M.appendChild(this.j,this.D));this.kc&&1<this.R.length&&this.na?(this.oe=M.f("span"),M.appendChild(this.na,this.oe)):this.kc=l;this.X=this.c;this.Rb?U(this.j,i):(this.ug=Lf(this,"gweb-lightbox-prev"),this.tg=Lf(this,"gweb-lightbox-next"));E(this.R,function(a){!this.F&&"IMG"==a.type?(this.F=M.f("img",{id:this.dc+"-image",
+src:"//www.google.com/images/cleardot.gif"}),Wc(this.F,200,200),M.appendChild(this.H,this.F)):!this.V&&"IFRAME"==a.type?(this.V=M.U.Id(M),this.V.id=this.fe,this.V.name=this.fe,M.append(this.H,this.V)):!this.da&&"A"==a.type&&(this.da=M.f("div",{id:this.dc+"-fragment","class":Bf+"-fragment"}),M.append(this.H,this.da))},this)};q.ci=function(a){if(this.La&&!this.Rb)switch(a.keyCode){case 37:(this.ub||0!=this.ba)&&this.dispatchEvent("navigateprev");break;case 39:(this.ub||this.ba!=this.R.length-1)&&this.dispatchEvent("navigatenext")}};
+function Mf(a,b){b?(M.a.remove(a.D,"gweb-lightbox-hide"),a.D.innerHTML=b,a.Xc&&M.a.add(a.D,"gweb-lightbox-overlay")):(a.D.innerHTML="",M.a.add(a.D,"gweb-lightbox-hide"));U(a.D,l)}q.Qg=function(){U(this.D,i);this.wd&&(new jd(this.D,200)).play()};function Nf(a){a=M.dataset.get(a,"lightboxIndex");return parseInt(a,10)}
+function Lf(a,b){var c=M.f("span","","gweb-lightbox-next"==b?a.yi:a.zi),d=M.f("img",{src:"//www.google.com/images/cleardot.gif",alt:""}),c=M.f("a",{"class":"gweb-lightbox-nav "+b,href:"#"},[c,d]);U(c,l);M.appendChild(a.j,c);U(a.j,i);Q(c,Gf,function(a){a.preventDefault();"gweb-lightbox-next"==b?this.dispatchEvent("navigatenext"):this.dispatchEvent("navigateprev")},l,a);return c}
+function Of(a,b,c){b=M.Cc(b);b.style.visibility="visible";"gweb-lightbox-prev"==c?b.style.left="0":"gweb-lightbox-next"==c&&(b.style.right="0");tc(z(a.Qh,b),2E3,a)}q.Qh=function(a){a=new id(a,500);Q(a,"end",this.hi,l,this);a.play()};q.hi=function(a){a=a.target.element;a.style.visibility="hidden";a.style.opacity=1;a.style.filter=""};q.Ke=function(a){this.Rg(Nf(a))};
+q.Rg=function(a){if(this.R&&a<=this.R.length-1){this.ba=a;var b=this.R[this.ba];Mf(this,"");this.La||(this.P(i),a=new jd(this.X,200),this.hd||Q(a,"end",z(Mc,this.X,"filter",""),l,this),a.play());this.kc&&(this.oe.innerHTML=this.ba+1+"/"+this.R.length);this.Fg=T(this.X);switch(b.type){case "A":this.wc("A");Pf(this,i,this.da);Wc(this.da,b.width,b.height);this.I=new N(b.width,b.height);a=b.href.split("#");1<a.length?(a=M.b(a[1]).cloneNode(i),M.append(this.da,a.childNodes),this.dispatchEvent("fragmentloaded")):
+e(Error("Invalid url:"+b.href));break;case "IFRAME":this.wc("IFRAME");Pf(this,i,this.F);jc(this.V,"load",function(a){a.preventDefault();this.V.width=b.width;this.V.height=b.height;this.I=new N(b.width,b.height);this.dispatchEvent("iframeloaded")},l,this);Qf(this,b.href);break;case "IMG":var c=M.ga(window),a=this.dc+"-image";this.wc("IMG");if(this.Nc){var d=b.href;(d=u(d)?d:d.src)&&(this.Nc.$b[a]=d);this.Nc.start()}Pf(this,i,this.F);jc(this.Nc,"load",function(a){a=a.target;this.F.src=a.src;if(this.Kg){var b=
+$c(this.p).height,d=T(this.D).height+this.ja,b=this.Xc?c.height-this.ja-b:c.height-this.ja-b-d,d=1==this.Wc?c.width-3*this.ja:c.width-this.ja;a.height>b||a.width>d?(d=Math.min(d/a.width-0.1,b/a.height-0.05),b=Math.floor(a.width*d),a=Math.floor(a.height*d),Wc(this.F,b,a),this.I=new N(b,a)):(Wc(this.F,a.width,a.height),this.I=new N(a.width,a.height))}else Wc(this.F,a.width,a.height),this.I=new N(a.width,a.height);this.dispatchEvent("imageloaded")},l,this)}}};
+function Qf(a,b){try{var c=window.frames[a.fe];c&&c.location.replace(b)}catch(d){}}q.wc=function(a){this.V&&("IFRAME"!=a&&Qf(this,"//www.google.com/images/cleardot.gif"),U(this.V,!a||"IFRAME"==a));this.F&&("IMG"!=a&&(this.F.src="//www.google.com/images/cleardot.gif"),U(this.F,!a||"IMG"==a));this.da&&(M.gc(this.da),U(this.da,!a||"A"==a))};function Pf(a,b,c){M.a.enable(a.X,"gweb-lightbox-loading",b);a.hd&&c&&(b?Yc(c,0.5):(new jd(c,500)).play())}
+q.Ed=function(a){var b=this.R[this.ba],c=200<this.I.width?this.I.width:200;this.X.style.width=Sc(c,i);this.D.style.width=Sc(c,i);Mf(this,b.title);this.Ha(this.Fg);if(!this.Rb){var d=this.R.length,b=M.fa("gweb-lightbox-prev",this.j),c=M.fa("gweb-lightbox-next",this.j),f=M.h("img",k,this.j);0==this.ba?this.ub?(U(b,i),M.dataset.set(b,"lightboxIndex",d-1)):U(b,l):(U(b,i),M.dataset.set(b,"lightboxIndex",this.ba-1));this.ba+1==d?this.ub?(U(c,i),M.dataset.set(c,"lightboxIndex",0)):U(c,l):(U(c,i),M.dataset.set(c,
+"lightboxIndex",this.ba+1));this.ii&&(this.Bf&&this.hd)&&(Of(this,c,"gweb-lightbox-next"),Of(this,b,"gweb-lightbox-prev"));var d=T(this.D).height,h=T(this.p).height+"px";Mc(b,"top",h);Mc(c,"top",h);var j=this.Xc?this.I.height-d:this.I.height,m=0.35*this.I.width;E(f,function(a){Wc(a,m,j)},this);this.Bf=l}Pf(this,l,a)};
+q.Ha=function(a){if(a){var b=M.ga(window),c=M.ea(),d=T(this.p),f=T(this.D),h=[],j=200<=this.I.width?this.I.width:200,d=this.I.height+d.height;this.Xc||(d+=f.height);f=Math.floor(c.x+b.width/2-j/2)-this.ja/2;b=Math.floor(c.y+b.height/2-d/2)-this.ja/2;this.wd?(h=[a.width-this.ja,a.height-this.ja,Vc(this.X).x,Vc(this.X).y],a=new Rf(this.X,h,[j,d,f,b],800,wd),Q(a,"end",this.Qg,l,this),a.play()):(Y.d.Ha.call(this),this.Qg())}else Y.d.Ha.call(this)};function Rf(a,b,c,d,f){V.apply(this,arguments)}B(Rf,V);
+Rf.prototype.Q=function(){Wc(this.element,this.coords[0],this.coords[1]);Rc(this.element,this.coords[2],this.coords[3])};function Kf(a){this.type=this.Yh(a);this.href=a.href||"";this.title=this.Yf(a);this.width="IMG"==this.type?0:parseInt(M.dataset.get(a,Sf),10)||200;this.height="IMG"==this.type?0:parseInt(M.dataset.get(a,Tf),10)||200}var Tf="lightboxHeight",Sf="lightboxWidth";Kf.prototype.Yh=function(a){return a.href.match(Hf)?"IMG":a.getAttribute("href",2).match(If)?"A":"IFRAME"};
+Kf.prototype.Yf=function(a){return M.dataset.get(a,"lightboxCaption")||a.getAttribute("title")||""};function Uf(a,b){this.ih=a;this.Fd=b;this.src=b.src;this.type=b.type;this.$j=b.cat}function Vf(a,b){switch(a){case "floodlight":var c=1E13*(Math.random()+""),d=ra(b.src),f=ra(b.type),h=ra(b.cat),c=M.f("iframe",{src:xa("//fls.doubleclick.net/activityi;","src=",d,";","type=",f,";","cat=",h,";","ord=",c,"?"),width:1,height:1,style:"display: none;"});document.body.appendChild(c)}}
+function Wf(a,b,c){b=M.b(b);1==b.nodeType&&"A"==b.tagName&&c?Xf(b,a.hh,a):Xf(b,a.Te,a)}Uf.prototype.Te=function(){Vf(this.ih,this.Fd)};Uf.prototype.hh=function(a){Vf(this.ih,this.Fd);var a=a||window.event,b=a.currentTarget||a.srcElement;"A"!=b.tagName&&(b=M.Xb(b,"A"));a&&("click"==a.type&&b&&b.href)&&(a.preventDefault?a.preventDefault():a.returnValue=l,setTimeout(function(){window.top.location=b.href},1E3),this.fj=b.href)};
+Uf.prototype.pd=function(a,b){var c=M.h(g,a);E(c,function(a){Wf(this,a,b)},this)};function Xf(a,b,c){c&&(b=x(b,c));a.addEventListener?a.addEventListener("click",b,l):a.attachEvent&&a.attachEvent("onclick",b)}function Yf(a,b){Uf.call(this,a,b);this.className=b.className;this.v=Zf;window._gaq&&window._gaq.push(x(function(){this.v=_gat._getTrackerByName()._getVisitorCustomVar(1);this.pd(this.className)},this))}B(Yf,Uf);
+var Zf="crosB",$f={Pj:{id:"bkws",v:"crosC"},Qj:{id:"skws",xk:"crosD"},Bj:{id:"ctpt",v:"crosE"},Cj:{id:"ctpt",v:"crosE"},Ej:{id:"ctxt",v:"crosF"},Kj:{id:"ntp",v:"crosG"},yj:{id:"Chromebooks",v:"crosH"},zj:{id:"GDN",v:"crosI"},Xj:{id:"YTPT",v:"crosJ"},Wj:{id:"YTVI",v:"crosK"}};
+Yf.prototype.hh=function(a){var b=this.Fd,c=a.target.parentNode,d=1E13*(Math.random()+""),f=escape(b.src),h=ra(b.type),b=ra(b.cat),j=this.v;c=c?M.dataset.get(c,"gPartner")||"NONE":g;c=M.f("iframe",{src:xa("//fls.doubleclick.net/activityi;","src=",f,";","type=",h,";","cat=",b,";","ord=",d,";","u1=",j,";","u2=",c,";","?"),width:1,height:1,style:"display: none;"});document.body.appendChild(c);var a=a||window.event,m=a.currentTarget||a.srcElement;"A"!=m.tagName&&(m=M.Xb(m,"A"));a&&("click"==a.type&&m&&
+m.href)&&(a.preventDefault?a.preventDefault():a.returnValue=l,setTimeout(function(){window.top.location=m.href},1E3),this.fj=m.href)};
+Yf.prototype.pd=function(a){a=M.k(a);this.v||(this.v=Zf);for(var b=0,c=a.length;b<c;b++){var d=a[b],f=-1<d.href.indexOf("#"),h=f?new L(d.href.replace("#","?")):new L(d.href),j=M.dataset.get(d,"gCustom"),m=-1<d.href.indexOf("amazon.co.uk")?this.v+"01-21":this.v;if("append"==j)d.href+=m;else if(j){var p=h;yb(p);p.N.set(j,m);d.href=f?h.toString().replace("?","#"):h.toString()}Wf(this,a[b],i)}};
+function ag(a,b,c,d,f,h,j,m){this.sb=a;this.Pc=!!b;this.Gb=!!c;this.uc=!!d;this.Qb=!!f;this.Ua=h;this.Jb=j;this.Ih=m;this.qk=this.cf=k;this.Cb=l;a=tf(new L(location.href),bg);this.xe=a.length?a[0]:"prefers";a=tf(new L(location.href),cg);this.Rc=a.length?a:"";a=tf(new L(location.href),dg);this.xh=a.length?a:"";this.xc=eg();this.jf=this.Bg=l;this.ng=La(fg)[0];O.call(this);this.td();Q(window,"load",function(){location.href.match(".*eula.*")?window._GU_OnloadBody("eula"):location.href.match(".*thankyou.*")?
+window._GU_OnloadBody("thankyou"):window._GU_OnloadBody("index")},l,this)}B(ag,R);
+var fg={linux_ubuntu_i386:"/linux/direct/google-chrome-stable_current_i386.deb",linux_ubuntu_x86_64:"/linux/direct/google-chrome-stable_current_amd64.deb",linux_fedora_i386:"/linux/direct/google-chrome-stable_current_i386.rpm",linux_fedora_x86_64:"/linux/direct/google-chrome-stable_current_x86_64.rpm","linux_ubuntu_i386-b":"/linux/direct/google-chrome-beta_current_i386.deb","linux_ubuntu_x86_64-b":"/linux/direct/google-chrome-beta_current_amd64.deb","linux_fedora_i386-b":"/linux/direct/google-chrome-beta_current_i386.rpm",
+"linux_fedora_x86_64-b":"/linux/direct/google-chrome-beta_current_x86_64.rpm","linux_ubuntu_i386-d":"/linux/direct/google-chrome-unstable_current_i386.deb","linux_ubuntu_x86_64-d":"/linux/direct/google-chrome-unstable_current_amd64.deb","linux_fedora_i386-d":"/dl/linux/direct/google-chrome-unstable_current_i386.rpm","linux_fedora_x86_64-d":"/dl/linux/direct/google-chrome-unstable_current_x86_64.rpm"},gg=[{Be:/^MACD$/,zd:"MACD"},{Be:RegExp("CHOA|CHOB|CHOC|CHOT|CHOU|CHOR|CHOQ|CHOP|CHON|CHOO|CHPD|CHPE|CHPF|CHPG|GGLS|GGLA|CHMA|CHMB|CHMF|CHMG|CHMQ|CHMV|CHNC|CHNB|CHNH|CHNI|CHFT|CHMI|CHNG|CHOS|CHFO|CHOX|CHOY|CHOZ|CHMH|CHME|CHHS|CHHM"),
+zd:"GGRM"},{Be:/^[A-Z]{4}$/,zd:"CHFA"}],hg={Vj:"win",Hj:"linux",Ij:"mac"},bg="system",cg="gu_guexpt",dg="gu_expt",ig={Tj:"statcb",Nj:"platform",wj:"brand",Fj:"installdataindex",Jj:"msi",Sj:"standalone",Uj:bg,Mj:"oneclickinstalled",xj:"clickonceinstalled",Aj:"extra",Lj:cg,uj:dg};q=ag.prototype;q.td=function(){window._GU_OnloadHandlerAdd(x(this.Xi,this),0);window._GU_OnloadHandlerAdd(x(this.Ee,this))};function jg(){return $a&&window._GU_isOneClickAvailable()}
+q.Xi=function(){if($a){window._GU_SetupOneClick();try{if(jg()){var a=window.google.update.oneclick.getInstalledVersion;a(kg(this),i)?this.xe="true":a(kg(this),l)&&(this.xe="false")}}catch(b){}}};function lg(a){if(!a.Pc&&!mg()){if(jg())return"oneclick";if($a&&window._GU_isClickOnceAvailable())return"clickonce"}return"download"}
+q.Ee=function(a){var b=new Image,c=window.GU_buildGlobalExtra(this.sb,this.Cb,this.Rc),c=window.GU_BuildTag(ng(this),c);b.src=pa("//tools.google.com/service/update2/dlpageping?%s&stage=%s&installsource=%s",c,a,lg(this))};
+function og(a){for(var b=Ka(ig),c=new L(location.href),d="",f=0,h=b.length;f<h;f++){var j=b[f],m=tf(c,j);m.length&&("extra"==j&&"betachannel"==m[0]?a.Gb=i:"extra"==j&&"devchannel"==m[0]?a.Qb=i:"installdataindex"==j?a.Ua=m[0]:"msi"==j?a.Pc=i:"brand"==j&&(a.Jb=m[0]))}a.Gb&&eg()&&(d+="&ap=1.1-beta");a.Qb&&eg()&&(d+="&ap=2.0-dev");a.Jb&&(d+="&brand="+a.Jb);j="installdataindex";a.Ua?(a=a.xc&&eg()&&"defaultbrowser"!=a.Ua?a.Ua+"-defaultbrowser":a.Ua,d+="&"+j+"="+a):a.xc&&eg()&&(d+="&"+j+"=defaultbrowser");
+return d}function kg(a){return a.uc?"{4ea16ac7-fd5a-47c3-875b-dbf4a2008c20}":"{8A69D345-D564-463C-AFF1-A69D9E530F96}"}function ng(a){var b=a.uc?"Google Chrome Canary":"Google Chrome";a.cf=[window._GU_createAppInfo(kg(a),a.Ih||b,a.xe,og(a),a.xh)];return a.cf}q.Gi=function(){this.Bg=i;tc(this.Tc,7E3,this)};q.fg=function(){pg(this);tc(this.Tc,7E3,this)};q.Tc=function(){this.dispatchEvent("installed");var a=qg(this);location.href=a};
+function pg(a,b,c){var d=$a?window._GU_buildDlPath:window._GU_buildDlPathNoTag,b=b||d,c=c||rg(a),c=b(ng(a),a.sb,a.Cb,sg(a),c,a.Rc);G&&7>=Fe||sessionStorage.setItem("directDownloadUri",a.Ec());b=lg(a);if(ze||Ae)a=qg(a),location.href=a;else if("clickonce"===b||ue){var f=c.toString(),b={target:"_blank",width:"1",height:"1",top:"0",left:"0",location:l,menubar:l,statusbar:l,toolbar:l,resizable:i,scrollbars:l},d=window,c="undefined"!=typeof f.href?f.href:String(f),f=b.target||f.target,h=[],j;for(j in b)switch(j){case "width":case "height":case "top":case "left":h.push(j+
+"="+b[j]);break;case "target":case "noreferrer":break;default:h.push(j+"="+(b[j]?1:0))}j=h.join(",");if(b.noreferrer){if(j=d.open("",f,j))G&&-1!=c.indexOf(";")&&(c="'"+c.replace(/'/g,"%27")+"'"),j.opener=k,I?j.location.href=c:(c=ra(c),j.document.write('<META HTTP-EQUIV="refresh" content="0; url='+c+'">'),j.document.close())}else d.open(c,f,j);tc(a.Tc,7E3,a)}else location.href=c}
+q.Ec=function(){var a=$a?window._GU_buildDlPath:window._GU_buildDlPathNoTag,b=rg(this);return a(ng(this),this.sb,this.Cb,sg(this),b,this.Rc)};function sg(a){return a.uc&&tg()?"https://storage.googleapis.com":"https://dl.google.com"}
+function rg(a){if(a.Pc||location.href.match(".*msi=true.*"))a="/edgedl/chrome/install/GoogleChromeStandaloneEnterprise.msi";else if(mg())a="/update2/installers/ChromeStandaloneSetup.exe";else if(eg())a="/update2/installers/ChromeSetup.exe";else if(tg())if(a.Gb)a="/chrome/mac/beta/GoogleChrome.dmg";else if(a.Qb)a="/chrome/mac/dev/GoogleChrome.dmg";else if(a.uc)a="/chrome-canary/GoogleChromeCanary.dmg";else{var a="GGRO",b=new L(location.href),b=tf(b,"brand");if(b=b.length&&b[0])for(var c=0,d=gg.length;c<
+d;c++){var f=gg[c],h=f.zd;if(f.Be.test(b)){a=h;break}}a=pa("/chrome/mac/stable/%s/googlechrome.dmg",a)}else a=ug()?fg[a.ng+(a.Gb?"-b":a.Qb?"-d":"")]:"/update2/installers/ChromeSetup.exe";return a}
+function qg(a){for(var b=document.location.href.match("/intl/.*")?document.location.pathname.split("/")[2]:a.sb,b=new L("/intl/"+b+"/chrome/browser/thankyou.html"),c=new L(location.href),d=Ka(ig),f=0,h=d.length;f<h;f++){var j=d[f],m=tf(c,j);m.length&&m[0]&&uf(b,j,m)}if(!eg())return b.toString();a.Pc&&uf(b,"msi",["true"]);a.Cb&&uf(b,"statcb",["1"]);a.jf&&uf(b,"clickonceinstalled",["1"]);a.Bg&&uf(b,"oneclickinstalled",["1"]);a.Gb&&uf(b,"extra",["betachannel"]);a.Qb&&uf(b,"extra",["devchannel"]);a.Ua&&
+uf(b,"installdataindex",[a.Ua]);a.Jb&&uf(b,"brand",[a.Jb]);a.xc&&(a=tf(b,"installdataindex"),uf(b,"installdataindex",[a.length?a[0]+"-defaultbrowser":"defaultbrowser"]));return b.toString()}
+q.qi=function(){Q(window,"load",function(){for(var a=M.a.ia(document.documentElement,"ie7")?chrmnstaller.Ec():sessionStorage.getItem("directDownloadUri")||chrmnstaller.Ec(),b=M.k("retry-link"),c=tf(new L(location.href),"oneclickinstalled"),d=tf(new L(location.href),"clickonceinstalled"),f="retry"+(c.length?"_oneclick":d.length?"_clickonce":"_download"),c=b.length-1;0<=c;c--)b[c].href=a,Q(b[c],"click",function(){this.Ee(f)},l,this);if(!window.location.href.match(".*oneclickinstalled.*")&&(ze||Ae))window.location.href=
+a},l,this)};function tg(){var a=vg();return a?"mac"==a:Za}function eg(){var a=vg();return a?"win"==a:$a}function ug(){var a=vg();return a?"linux"==a:ab}function vg(){var a=tf(new L(location.href),"platform"),b;if(b=a.length)a:{for(var c in hg)if(hg[c]==a[0]){b=i;break a}b=l}return b?a[0]:k}function mg(){var a=tf(new L(location.href),"standalone");return a.length&&1==a[0]}function wg(a){this.Va=a;this.Md=[];this.sd=this.Pe=k;this.te=[];this.Dd=this.tf=this.bh=k;W.call(this,k,i);this.Pd=i}B(wg,W);
+q=wg.prototype;q.oa=function(a){a=M.b(a);wg.d.oa.call(this,a);tg()?M.a.add(a,"mac"):ug()?M.a.add(a,"linux"):M.a.add(a,"win");this.Md=M.k("eula-download-button");this.Pe=M.b("throbber");this.sd=M.b("eula-accept");this.te=M.k("linux-distro-options",a);this.bh=M.b("stats-cb");this.tf=M.b("default-cb");this.Dd=M.b("eula-close");this.td();"#eula"===location.hash&&this.Le()};
+q.td=function(){for(var a=0,b=this.Md.length;a<b;a++)Q(this.Md[a],"click",this.Le,l,this);a=0;for(b=this.te.length;a<b;a++)Q(this.te[a],"click",this.lj,l,this);Q(this.bh,"click",this.mj,l,this);Q(this.tf,"click",this.kj,l,this);Q(this.Va,"installing",this.Zi,l,this);Q(this.Va,"installed",this.ji,l,this);Q(this.Va,"installed",this.ag,l,this);Q(window,"resize",this.Ha,l,this);this.Dd&&Q(this.Dd,"click",this.ag,l,this);this.addEventListener(ae,this.fi,l,this)};
+q.Le=function(a){a&&a.preventDefault();this.b()||this.va();this.P(i)};q.ag=function(a){a&&a.preventDefault();this.P(l)};q.Zi=function(){this.sd.style.display="none";this.Pe.style.display="inline"};q.ji=function(){this.sd.style.display="inline";this.Pe.style.display="none"};
+q.fi=function(a){if("accept"==a.key){var b=this.Va;b.dispatchEvent("installing");b.Ee("install");switch(lg(b)){case "oneclick":window.google.update.oneclick.install(ng(b),b.sb,b.Cb,x(b.Gi,b),x(b.fg,b),b.Rc);break;case "clickonce":b.jf=i;pg(b,window._GU_buildClickOncePath,pa("/update2/installers/clickonce/GoogleInstaller_%s.application",b.sb));tc(b.Tc,1E4,b);break;default:b.fg()}a.preventDefault()}};q.lj=function(a){this.Va.ng=a.currentTarget.value};q.mj=function(a){this.Va.Cb=a.currentTarget.checked};
+q.kj=function(a){this.Va.xc=a.currentTarget.checked};q.Ha=function(){var a=this.e().r(),b=M.ha(a)||window;if("fixed"==Qc(this.b()))var c=a=0;else c=this.e().ea(),a=c.x,c=c.y;var d=T(this.b()),b=M.ga(b),a=Math.max(a+b.width/2-d.width/2,0),c=Math.max(c+b.height/3.75-d.height/3.75,0);Rc(this.b(),a,c);Rc(this.aa,a,c)};function xg(){this.zc=M.b("app-domain");this.Ef=M.b("buynow-online-form");this.q()}
+xg.prototype.q=function(){var a=M.b("buynow-online");Q(a,"click",function(){this.Ef.style.display="inline-block";U(a,l);this.zc.focus()},l,this);Q(this.Ef,"submit",this.bj,l,this)};xg.prototype.bj=function(a){a.preventDefault();/^[a-z0-9\-\.]+\.[a-z]+/i.test(this.zc.value)&&(window.location.href="http://www.google.com/a/cpanel/x/BillingSetup?product_ids=GOOGLE.CHROMEBOOK_HARDWARE".replace("x",this.zc.value));this.zc.focus();return l};
+function yg(a,b,c,d,f){(4!=b.length||4!=c.length)&&e(Error("Start and end points must be 4D"));var h=b[0]+b[2],j=c[0]+c[2],m=b[1]+b[3],p=c[1]+c[3],s=T(a),j=[s.width-p,s.height-j];Ga(b,[s.width-m,s.height-h]);Ga(c,j);V.call(this,a,b,c,d,f)}B(yg,V);yg.prototype.Q=function(){Wc(this.element,this.coords[4],this.coords[5]);this.element.style.borderWidth=pa("%spx %spx %spx %spx",this.coords[0],this.coords[1],this.coords[2],this.coords[3])};
+function zg(a,b,c,d){O.call(this);c=M.b(c);this.ce=M.k(a,c);this.Nb=M.k(b,c);this.ce.length!=this.Nb.length&&e(Error("There must be an equal number of header and content elements"));this.Li=d;this.Ue=[]}B(zg,R);zg.prototype.q=function(){for(var a=0,b=this.ce.length;a<b;a++){var c=new Be(this.ce[a],this.Nb[a],a===this.Li);Q(c,"toggle",this.Ji,i,this);this.Ue[a]=c}};
+zg.prototype.Ji=function(a){if(a.Ph){for(var b=0,c=this.Ue.length;b<c;b++){var d=this.Ue[b];d!=a.target&&d.Wb&&Ce(d,l)}this.dispatchEvent(new Ag("expand",this,a.target))}};function Ag(a,b,c){P.call(this,a,b);this.rj=c}B(Ag,P);Ag.prototype.$h=n("rj");function Bg(){this.Hd=k;this.ee=l;this.Eb=k;this.fc=l;O.call(this)}B(Bg,R);
+Bg.prototype.oa=function(a){this.hg();this.Hd=M.b(a);this.Eb=M.fa("active",this.Hd);for(var a=M.Td(this.Hd),b=0,c=a.length;b<c;b++)(new Cg(this)).oa(a[b]);Q(window,"resize",this.hg,l,this)};Bg.prototype.hg=function(){var a;if(!(a=!G))if(a=G)a=0<=ya(Fe,9);a&&(this.fc=M.ga().width<=Dg)};function Cg(a){this.Y=a;this.nd=this.tc=this.df=this.Me=this.Od=this.ac=this.we=this.Z=this.Wa=k}B(Cg,R);var Dg=770;q=Cg.prototype;
+q.oa=function(a){this.Wa=a;this.Z=M.h("UL",k,a)[0];this.we=M.h("A",k,a)[0];Eg(this);Q(this.Wa,"mouseover",this.Xg,l,this);Q(this.Wa,"mouseout",this.Vg,l,this);Q(this.tc,"finish",this.eh,l,this);Q(window,"resize",z(this.Eh,250),l,this);this.Z&&(Fg(this),qf?Q(this.Wa,sf,this.gi,l,this):(Q(this.Wa,"mouseover",this.Wg,l,this),Q(this.Wa,"mouseout",this.Yg,l,this)))};function Eg(a){a.df=new yg(a.we,[0,0,0,0],[0,0,4,0],200);a.tc=new yg(a.we,[0,0,4,0],[0,0,0,0],200)}
+function Fg(a){var b=new F(a.Z.offsetLeft,a.Z.offsetTop),c=T(a.Z),d=T(a.Wa);a.ac=new F(b.x,d.height-c.height);a.Od=new F(b.x,d.height);a.Z.style.display="block";Rc(a.Z,a.ac);b=100*M.h("LI",k,a.Z).length;a.Me=new ed(a.Z,[a.ac.x,a.ac.y],[a.Od.x,a.Od.y],b,wd)}q.Oi=function(){this.Z&&Fg(this);Eg(this);Q(this.tc,"finish",this.eh,l,this);rc.clearTimeout(this.nd);this.nd=k};q.Eh=function(a){this.nd||(this.nd=tc(z(this.Oi),a,this))};
+q.Wg=function(a){!this.Y.fc&&(!a.relatedTarget||!M.contains(a.currentTarget,a.relatedTarget))&&this.Me.play()};q.Yg=function(a){if(!this.Y.fc&&(!a.relatedTarget||!M.contains(a.currentTarget,a.relatedTarget)))this.Me.stop(),Rc(this.Z,this.ac)};q.Xg=function(a){if(!this.Y.fc&&(!a.relatedTarget||!M.contains(a.currentTarget,a.relatedTarget)))this.Y.ee=i,this.df.play(),this.Y.Eb&&M.a.remove(this.Y.Eb,"active")};
+q.Vg=function(a){if(!this.Y.fc&&(!a.relatedTarget||!M.contains(a.currentTarget,a.relatedTarget)))this.Y.ee=l,this.tc.play()};q.eh=function(){this.Y.Eb&&M.a.enable(this.Y.Eb,"active",!this.Y.ee)};
+q.gi=function(a){if(window.innerWidth>Dg&&(a.stopPropagation(),(!a.relatedTarget||!M.contains(a.currentTarget,a.relatedTarget))&&(!a.target.tagName||"A"!=a.target.tagName))){a.preventDefault();var b=M.h("UL",k,a.currentTarget)[0];b&&(0>(new F(b.offsetLeft,b.offsetTop)).y?(this.Wg(a),this.Xg(a)):(this.Yg(a),this.Vg(a)))}};function Gg(a){this.c=M.b(a);a=[T(this.c).width];Hc.call(this,[0],a,Hg,xd);Ig(this)}B(Gg,Hc);var Hg=1250;function Ig(a){jc(a.c,"mouseover",a.play,l,a)}
+Gg.prototype.Q=function(){this.c.style.webkitMaskImage=pa("-webkit-gradient(radial, 17 17, %s, 17 17, %s,from(rgba(255,255,255, 1)),color-stop(0.5, rgba(255,255,255, 0.2)),to(rgba(255,255,255, 1)))",Math.floor(this.coords[0]),Math.floor(this.coords[0]+15))};Gg.prototype.ta=function(){this.Q();Gg.d.ta.call(this)};Gg.prototype.Ga=function(){this.Q();Gg.d.Ga.call(this);Ig(this)};Gg.prototype.$=function(){this.Q();Gg.d.$.call(this)};
+function Jg(a,b,c,d){O.call(this);c=M.b(c);this.l=M.k(a,c);this.Nb=M.k(b,c);this.$e=M.b(d);this.l.length!=this.Nb.length&&e(Error("There must be an equal number of button and content elements"));this.Re=[];this.Oa=k}B(Jg,R);q=Jg.prototype;q.q=function(a){for(var b=0,c=this.l.length;b<c;b++){var d=new Lg(this.l[b],this.Nb[b]);d.q(a);Q(d,Mg,this.ij,l,this);"hover"===a&&(Q(d.cb,"mouseout",this.ye,l,this),Q(d.button,"mouseout",this.ye,l,this));this.Re[b]=d}Q(document,"click",this.ye,l,this)};
+q.ye=function(a){var b=this.Oa;if(b&&(!this.$e||!M.contains(this.$e,a.target)))"click"===b.qd&&(a.target==b.button||M.contains(b.button,a.target))||(Ng(this.Oa),this.Oa=k)};q.ij=function(a){a=a.currentTarget;a!=this.Oa&&(this.Oa&&Ng(this.Oa),this.Oa=a)};q.Xh=n("Re");q.$i=function(a){(a=this.Re[a])&&a.Sg()};
+function Lg(a,b){O.call(this);this.button=a;this.ef=$c(this.button);this.cb=b;this.of=T(this.cb);var c;a:{c=Ka(Og);for(var d=0,f=c.length;d<f;d++){var h=c[d];if(M.a.ia(this.button,h)){c=h;break a}}c=c[0]}this.Dg=c}B(Lg,R);var Og={tj:"tooltip-above",vj:"tooltip-below",Gj:"tooltip-left",Oj:"tooltip-right"},Mg="show",Pg={Rj:Mg,Dj:"hide"};
+Lg.prototype.q=function(a){switch(a){case "click":this.qd="click";break;case "hover":this.qd="mouseover";break;default:this.qd="click"}var a=this.ef.height,b=this.ef.width,c=this.of.height,d=this.of.width,f=k;switch(this.Dg){case "tooltip-above":f=new F(b/2-d/2,-(c+10));break;case "tooltip-below":f=new F(b/2-d/2,a+10);break;case "tooltip-left":f=new F(-(d+10),a/2-c/2);break;case "tooltip-right":f=new F(b+10,a/2-c/2)}Rc(this.cb,f);this.cb.appendChild(M.f("SPAN",this.Dg));Q(this.button,this.qd,this.Sg,
+l,this)};Lg.prototype.Sg=function(){this.cb.style.display="block";this.dispatchEvent(Mg)};function Ng(a){a.cb.style.display="none";a.dispatchEvent("hide")}function Qg(a){vf.call(this,a);this.ub=a.loop||l;this.ab=1}B(Qg,vf);Qg.prototype.rf=function(){for(var a=0,b=this.Db.length;a<b;a++){var c=new Rg(this.Db[a],this,a);this.wa[a]=c;c.md.style.display="none"}};Qg.prototype.Ge=ba;function Rg(a,b,c){yf.call(this,a,b,c);Q(this.J,"click",this.parent.Tb,l,this.parent)}B(Rg,yf);
+Rg.prototype.pc=function(a){this.ub&&(a.uh instanceof kd&&this.parent.w.enabled&&this.index==this.parent.wa.length-1)&&this.parent.Tb();Rg.d.pc.call(this)};function Sg(a,b,c,d){this.Nh=b||Tg;this.Lg=M.b(c);this.Lh=M.Vd();this.links=M.h("A",a,M.b(d))}var Tg=1E3;Sg.prototype.q=function(){for(var a=this.links,b=0,c=a.length;b<c;b++){var d=a[b],f=Ib(new L(d.href));(f=M.b(f))&&Q(d,"click",x(this.scrollTo,this,f))}};
+Sg.prototype.scrollTo=function(a){var b,c,d;this.Lg?(b=this.Lg,c=b.scrollLeft,d=b.scrollTop):(b=this.Lh,d=M.ea(),c=d.x,d=d.y);(new gd(b,[c,d],[a.offsetLeft-50,a.offsetTop-50],this.Nh,wd)).play()};function Ug(a,b,c){var a=M.b(a),d=M.ea(),b=b||50;(new gd(M.Vd(),[d.x,d.y],[a.offsetLeft-b,a.offsetTop-b],c||Tg,wd)).play()}
+function Vg(a){this.fd="";this.Fb=k;this.animationName=a||location.hash||"";this.qc=[];this.gb=[];this.Ca=k;this.me=l;a=document.documentElement.style;this.dh=a?"backgroundSize"in a||"MozBackgroundSize"in a||"WebkitBackgroundSize"in a||"KhtmlBackgroundSize"in a:g;Q(window,"load",this.ge,l,this)}A("chrm.ui.DeviceAnimation",Vg);
+Vg.prototype.ge=function(){this.Ca=new N(928,430);this.gb=M.k("device");this.qc=M.k("device-animation");Wg(this);for(var a=M.h("A","anim-link"),b=0,c=a.length;b<c;b++)Q(a[b],"click",function(a){Xg(this,a.currentTarget)},l,this);switch(location.hash){case "#device-samsung":Xg(this,M.b("home-to-samsung"));break;case "#device-acer":Xg(this,M.b("home-to-acer"))}this.animationName&&Xg(this,M.b(this.animationName))};
+function Xg(a,b){a.animationName=M.dataset.get(b,"chrmAnimation");var c=a.animationName.split("-");a.fd=c[1];a.me=c[2]?i:l;a.me&&(a.animationName=c[0]+"-"+c[1]);var d=M.b(a.animationName),c=M.b("device-"+c[0]);Wg(a,a.animationName);var f=M.fa("keyframe",c);a.Ca=$c(f);Wc(d,a.Ca);a.dh||!a.dh&&430==a.Ca.height&&928==a.Ca.width?(a.Fb=new Yg(d,a.Ca,a.me?new Kc(24*a.Ca.height,0,0,0):new Kc(0,0,25*a.Ca.height,0),1500,k),Q(a.Fb,"finish",a.Bi,l,a),M.a.add(c,"hide"),a.Fb.play()):(Wg(a),(new id(c,500)).play(),
+(new jd(M.b("device-"+a.fd),500)).play(),Zg(a,a.fd))}Vg.prototype.Bi=function(){Zg(this,this.fd);var a=this.Fb.c.style;a.backgroundPosition="";"undefined"!=typeof a.backgroundPositionX&&(a.backgroundPositionX="",a.backgroundPositionY="");this.Fb.stop(i);Wg(this)};function Zg(a,b){for(var c=0,d=a.gb.length;c<d;c++){var f="device-"+b;M.a.enable(a.gb[c],"hide",f!=a.gb[c].id);!a.yk&&f==a.gb[c].id&&Yc(a.gb[c],"")}}function Wg(a,b){for(var c=0,d=a.qc.length;c<d;c++)U(a.qc[c],b==a.qc[c].id)}
+function Yg(a,b,c,d,f){Ge.call(this,a,b,c,d,f)}B(Yg,Ge);Yg.prototype.ta=function(){this.c.style.backgroundPosition="0px "+-(this.vf[1]-Math.floor(this.coords[1]/this.Ab.height)*this.Ab.height)+"px";Yg.d.ta.call(this)};function $g(){this.Ob=k;this.Kb=[];this.Jg=k;this.Ia=[];this.ec=[];this.Jd=this.ic=""}q=$g.prototype;
+q.oi=function(){this.Kb=M.k("buynow");for(var a=0,b=this.Kb.length;a<b;a++)qf?Q(this.Kb[a],sf,this.Yi,l,this):(Q(this.Kb[a],"mouseover",z(this.Tg,i),l,this),Q(this.Kb[a],"mouseout",z(this.Tg,l),l,this))};q.Tg=function(a,b){if(!b.relatedTarget||!M.contains(b.currentTarget,b.relatedTarget)){var c=M.fa("locale-retailers",b.currentTarget),d=$c(c);c.style.height=Sc(a?d.height:"",i)}};
+q.Yi=function(a){a=M.fa("locale-retailers",a.currentTarget);displayAttr=a.style.display;a.style.display=!displayAttr||"none"==displayAttr?"block":"none"};
+q.pi=function(a){this.Jd=a||"";this.Ob=M.b("countrycode");this.Jg=M.b("retailer-list");this.Ia=M.h("div","retailer-list",this.Jg);this.ec=M.k("locale-content");this.Ob&&(this.ic=M.forms.Da(this.Ob),Q(this.Ob,"change",this.jj,l,this));if(this.Jd)for(var a=0,b=this.Ia.length;a<b;a++){for(var c=M.h("li",k,this.Ia[a]),d=0,f=c.length-1;0<=f;f--){var h=!M.a.ia(c[f],this.Jd),d=h?d+1:d;M.a.enable(c[f],"hide",h)}f=this.Ia[a].id;M.forms.Og(M.b("option-"+f.substr(f.indexOf("-")+1)),d==c.length)}};
+q.jj=function(){if(this.ic=M.forms.Da(this.Ob)){if(this.Ia)for(var a=0,b=this.Ia.length;a<b;a++)M.a.enable(this.Ia[a],"hide",this.Ia[a].id!="retailers-"+this.ic);if(this.ec){a=0;for(b=this.ec.length;a<b;a++)M.a.enable(this.ec[a],"hide",!M.a.ia(this.ec[a],"locale-content-"+this.ic))}}};
+function ah(a){this.uk=a;this.hc=M.k(a);this.nj=window.location.hash.substring(1);for(var b=this.hc.length-1;0<=b;b--){this.hc[b].id==this.nj&&this.gh(this.hc[b]);for(var c=M.k(a+"-link",this.hc[b]),d=c.length-1;0<=d;d--)Q(c[d],"click",x(this.gh,this,this.hc[b]))}}ah.prototype.gh=function(a){for(var b=M.k("expanded"),c=b.length-1;0<=c;c--)a!==b[c]&&M.a.Ne(b[c],"expanded","collapsed");M.a.ia(a,"collapsed")?M.a.Ne(a,"collapsed","expanded"):M.a.Ne(a,"expanded","collapsed");window.location.hash=a.id};
+function bh(a,b,c){this.fh=M.b(a);this.Lb=M.b(b);this.pj=M.b(c);this.ed="";this.xf=new R;this.Gd=0;this.ge()}q=bh.prototype;q.ge=function(){Q(this.fh,"click",this.Qe,l,this);Q(this.xf,"videoclick",this.hf,l,this);Q(this.Lb,"click",z(this.ai),l,this);this.Gd=T(this.Lb).width;var a=Ib(new L(window.location));a?this.og(a):tc(this.Qe,3E3,this)};q.ai=function(a){for(a=a.target;a.tagName&&"LI"!=a.tagName.toUpperCase();)a=a.parentNode;(this.ed=M.dataset.get(a,"videoid"))&&this.xf.dispatchEvent("videoclick")};
+q.Qe=function(){var a=!M.a.toggle(this.fh,"on"),b=M.Cc(this.Lb),b=a?new ed(b,[0,0],[this.Gd,0],200,vd.Oh):new ed(b,[this.Gd,0],[0,0],200,vd.Oh);a?Q(b,"end",function(){U(this.Lb,l)},l,this):U(this.Lb,i);b.play()};q.hf=function(){this.pj.src="http://www.youtube.com/embed/"+this.ed+"?wmode=transparent&showinfo=0&autoplay=1&autohide=1&rel=0&modestbranding=1";this.Qe()};q.og=function(a){if(a=M.b("clip-"+a))this.ed=M.dataset.get(a,"videoid"),this.hf()};var ch,dh=bb();
+ye?ch="android":ze?ch="chrome":ue?ch="mozilla":fb?ch="opera":xe?ch="ipad":we?ch="iphone":Ae?ch="safari":G&&(ch=7>=Fe?"ie7":"ie");M.a.add(document.documentElement,ch);hb.match(".*CrOS.*/ig")&&M.a.add(document.documentElement,"cros");dh.match(".*NT 6.2.*")&&M.a.add(document.documentElement,"win8");
+function $(a){this.$a=M.b(a.scrollerId);this.aj=M.b(a.slidesContainerId);this.xa=M.B("ul",this.$a)[0];this.Ki=a.oneAtATimeFlag;this.Ah=a.centerFlag;this.Hg=a.randomFlag;this.Mg=a.selectItemCallback;this.Se;this.Ja=M.B("ul li",this.$a)[0].scrollWidth;this.ld=Math.ceil(this.xa.parentNode.offsetWidth/this.Ja);this.xa.parentNode.style.overflow="hidden";this.Cg=this.Ja*this.ld;this.yb=M.B(".g-scroller-controls .g-scroller-previous",this.$a)[0];this.vb=M.B(".g-scroller-controls .g-scroller-next",this.$a)[0];
+this.$f=this.bc=l;this.qb=[];this.De;this.Na;this.rb={};var b=this.$a.getElementsByTagName("a"),c=b.length;this.Se=this.Ja*(c-2);this.xa.style.width=this.Se+"px";for(var d=2,f=0;d<c;d++,f++){var h=b[d],j=this.Zd(h.href),m=M.b(j);this.rb[j]={};var p=this.rb[j];p.index=f;p.jd=m;p.cj=h;p.id=j;p.Ag=Math.ceil((f+1)/this.ld);this.qg=p.Ag;this.qb.push(p.id);p.jd&&(p.jd.id=j+"_scroller",M.a.add(m,"hidden"));Q(h,"click",x(this.dd,this,p))}this.cd=this.Ja*this.ld-this.Se;M.a.add(this.vb,"disabled-next");M.a.add(this.yb,
+"disabled-prev");Q(this.vb,"click",function(a){this.scroll("right");a.preventDefault()},k,this);Q(this.yb,"click",function(a){this.scroll("left");a.preventDefault()},k,this);Q(this.$a,"keyup",function(a){switch(a.keyCode){case 37:var b=this.De.index-1;break;case 39:b=this.De.index+1}(a=this.rb[this.qb[b]])&&this.dd(a)},k,this);b=this.Zd(location.href);this.Hg&&!b&&(b=this.qb[Math.floor(Math.random()*this.qb.length)]);!a.defaultItem&&(!b&&!this.Hg)&&(b=this.qb[0]);this.dd(this.ne(b)?b:this.ne(a.defaultItem)?
+a.defaultItem:this.rb[this.qb[0]])}q=$.prototype;
+q.dd=function(a,b){"string"==typeof a&&(a=this.Yd(a));b&&b.preventDefault();for(var c=M.B(".g-scroller-viewport a.selected",this.$a),d=M.B(".g-scroller-slide",this.aj),f=0,h=c.length;f<h;f++)M.a.remove(c[f],"selected");f=0;for(h=d.length;f<h;f++)M.a.add(d[f],"hidden");M.a.add(a.cj,"selected");a.jd&&M.a.remove(a.jd,"hidden");this.Ah&&this.gf(a);this.De=a;this.Na=a.Ag;location.hash?this.$f&&window.location.replace(location.toString().replace(location.hash,"#"+a.id)):window.location.replace(location.toString()+
+"#"+a.id);this.Mg&&this.Mg(a);this.$f=i};q.scroll=function(a){this.Ki?a="right"==a?this.xa.offsetLeft-this.Ja:this.xa.offsetLeft+this.Ja:"right"==a?(a=this.xa.offsetLeft-this.Cg,this.bc||(this.Na++,this.Na>this.qg&&(this.Na=this.qg))):(a=this.xa.offsetLeft+this.Cg,this.bc||(this.Na--,1>this.Na&&(this.Na=1)));this.vd(a)};q.Yd=function(a){return this.rb[a]};
+q.vd=function(a){0<=a?(a=0,M.a.add(this.yb,"disabled-prev"),M.a.remove(this.vb,"disabled-next")):a<=this.cd||M.a.remove(this.yb,"disabled-prev");a<=this.cd?(a=this.cd,M.a.add(this.vb,"disabled-next"),M.a.remove(this.yb,"disabled-prev")):M.a.remove(this.vb,"disabled-next");0<=a&&a<=this.cd&&(M.a.add(this.vb,"disabled-next"),M.a.add(this.yb,"disabled-prev"));this.bc||(this.bc=i,this.ck=a,a=new fd(this.xa,[a,this.xa.offsetTop],400,wd),Q(a,"end",x(function(){this.bc=l},this)),a.play())};
+q.gf=function(a){"string"==typeof a&&(a=this.Yd(a));this.vd(Math.floor(this.ld/2)*this.Ja-a.index*this.Ja)};q.Zd=function(a){return(a=/#([^&]*)/.exec(a))?a[1]:k};q.ne=function(a){return a in this.rb};function eh(){this.kd=fh();for(var a in this.kd)for(var b=this.kd[a],c=0,d=b.length;c<d;c++)Q(b[c].tab,"click",gh(b,c),l,this);hh(this)}A("gweb.ui.GTabs",eh);
+function fh(){var a=M.h("div","g-tab-contents"),b=M.h("div","g-tabs"),c=b.length,d={};if(a.length!=c)return k;for(var f=0;f<c;f++){d["set-"+f]=[];var h=b[f],j=M.h("div","g-tab-content",a[f]),h=M.h("li","g-tab",h),m=h.length;if(j.length!=m)return k;for(var p=0;p<m;p++){var s={};s.tab=h[p];s.content=j[p];d["set-"+f].push(s)}}return d}function ih(a,b){var c=a.getElementsByTagName("a");return(c?c[0].hash:k)||"#tab"+b}
+function gh(a,b){return function(c){c=c||k;this.lc(a,b);for(var d=M.h("li","g-tab"),f="",h=0,j;j=d[h];h++)M.a.ia(j,"g-tab-selected")&&(f+=ih(j,h));window.location.hash=f;c&&c.preventDefault()}}eh.prototype.lc=function(a,b){for(var c=0,d=a.length;c<d;c++)M.a.remove(a[c].tab,"g-tab-selected"),M.a.add(a[c].content,"g-tab-content-hidden");M.a.add(a[b].tab,"g-tab-selected");M.a.remove(a[b].content,"g-tab-content-hidden")};
+function hh(a){var b=unescape(window.location.hash).replace(/#/ig,"|#").split("|"),c=0,d;for(d in a.kd){for(var f=l,h=a.kd[d],j=0,m=h.length;j<m;j++){var p=ih(h[j].tab,c++);0<=Ba(b,p)&&(f=i,a.lc(h,j))}f||a.lc(h,0)}}function jh(){eh.call(this);this.Oe=[];this.Oe=M.h("a","g-tab-link");for(var a=this.Oe.length-1;0<=a;a--)Q(this.Oe[a],"click",this.Ug,l,this)}B(jh,eh);
+jh.prototype.Ug=function(a){M.ga().width>Dg&&(a.preventDefault(),a.target&&(a=Ib(new L(a.target.href)),window.location.hash=a,hh(this),Ug(a+"_content")))};!window.location.hash&&window.addEventListener&&window.addEventListener("load",function(){window.scrollY||window.scrollTo(0,1)},l);A("chrm.ui.Tabs",jh);jh.prototype.showTabByLink=jh.prototype.Ug;A("chrm.ui.MenuBar",Bg);Bg.prototype.decorate=Bg.prototype.oa;A("chrm.ui.Logo",Gg);A("chrm.download.Installer",ag);ag.prototype.getFullDownloadURI=ag.prototype.Ec;
+ag.prototype.initDownloadChrome=ag.prototype.qi;A("chrm.download.EulaDialog",wg);wg.prototype.decorate=wg.prototype.oa;wg.prototype.showDialog=wg.prototype.Le;A("chrm.forms.BuyOnline",xg);A("chrm.ui.DeviceAnimation",Vg);A("chrm.ui.Tooltips",Jg);Jg.prototype.init=Jg.prototype.q;Jg.prototype.getTooltips=Jg.prototype.Xh;Jg.prototype.showTooltipByIndex=Jg.prototype.$i;Pg.SHOW=Mg;A("chrm.ui.Zippies",zg);zg.prototype.init=zg.prototype.q;zg.EXPAND_EVENT="expand";A("chrm.ui.ZippiesEvent",Ag);
+Ag.prototype.getZippy=Ag.prototype.$h;A("goog.ui.Zippy",Be);Be.prototype.getContentElement=Be.prototype.Ud;A("chrm.ui.TimedCarousel",Qg);Qg.prototype.doTimerStart=Qg.prototype.Ld;Qg.prototype.doTimerStop=Qg.prototype.Tb;A("chrm.ui.SmoothScroll",Sg);Sg.prototype.init=Sg.prototype.q;A("chrm.ui.SmoothScroll.scrollWindowTo",Ug);A("goog.events.listen",Q);Y.prototype.init=Y.prototype.q;Y.prototype.setAnimate=Y.prototype.Qi;Y.prototype.setItemCount=Y.prototype.Ti;Y.prototype.showContentByIndex=Y.prototype.Rg;
+Y.prototype.setScaleImages=Y.prototype.Ui;Y.prototype.disableNav=Y.prototype.Hh;A("gweb.ui.Scroller",$);$.prototype.selectItem=$.prototype.dd;$.prototype.scroll=$.prototype.scroll;$.prototype.getItemFromId=$.prototype.Yd;$.prototype.animateToPosition=$.prototype.vd;$.prototype.centerOnItem=$.prototype.gf;$.prototype.getStringAfterHash=$.prototype.Zd;$.prototype.isValidItem=$.prototype.ne;A("chrm.widget.BuyNow",$g);$g.prototype.initBuyNowButton=$g.prototype.oi;$g.prototype.initCountrySelect=$g.prototype.pi;
+A("chrm.widget.Features",ah);A("chrm.widget.Playlist",bh);bh.prototype.loadVideoByName=bh.prototype.og;A("gweb.analytics.DoubleTrack",Uf);Uf.prototype.track=Uf.prototype.Te;Uf.prototype.trackClass=Uf.prototype.pd;A("chrm.analytics.FloodlightTracker",Yf);
+A("chrm.analytics.FloodlightTracker.trackSource",function(){var a=new L(window.location.href.replace("#","?")),a=a.N.get("utm_source")||a.N.get("cmp")||k,b;a:{if(a)for(b in $f){if(-1<a.indexOf($f[b].id)){b=$f[b].v;break a}}else if(0==document.referrer.indexOf("www.google")){b="crosA";break a}b=k}window._gaq&&b&&window._gaq.push(["_setCustomVar",1,"source",b,1])});Yf.prototype.trackClass=Yf.prototype.pd;Yf.prototype.track=Yf.prototype.Te;A("goog.dom.getElementsByClass",M.k);
+A("goog.dom.classes.has",M.a.ia);A("goog.userAgent.MOBILE",gb);
+})()
\ No newline at end of file
diff --git a/js/b9.js b/js/b9.js
new file mode 100644
index 0000000..eb961fc
--- /dev/null
+++ b/js/b9.js
@@ -0,0 +1,222 @@
+/* jQuery v1.10.1 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
+*/
+(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.1",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=lt(),k=lt(),E=lt(),S=!1,A=function(){return 0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=bt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+xt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return At(e.replace(z,"$1"),t,n,i)}function st(e){return K.test(e+"")}function lt(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function ut(e){return e[b]=!0,e}function ct(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function pt(e,t,n){e=e.split("|");var r,i=e.length,a=n?null:t;while(i--)(r=o.attrHandle[e[i]])&&r!==t||(o.attrHandle[e[i]]=a)}function ft(e,t){var n=e.getAttributeNode(t);return n&&n.specified?n.value:e[t]===!0?t.toLowerCase():null}function dt(e,t){return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}function ht(e){return"input"===e.nodeName.toLowerCase()?e.defaultValue:t}function gt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function mt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function yt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function vt(e){return ut(function(t){return t=+t,ut(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.parentWindow;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.frameElement&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ct(function(e){return e.innerHTML="<a href='#'></a>",pt("type|href|height|width",dt,"#"===e.firstChild.getAttribute("href")),pt(B,ft,null==e.getAttribute("disabled")),e.className="i",!e.getAttribute("className")}),r.input=ct(function(e){return e.innerHTML="<input>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}),pt("value",ht,r.attributes&&r.input),r.getElementsByTagName=ct(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ct(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ct(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=st(n.querySelectorAll))&&(ct(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ct(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=st(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ct(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=st(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},r.sortDetached=ct(function(e){return 1&e.compareDocumentPosition(n.createElement("div"))}),A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return gt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?gt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:ut,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=bt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?ut(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ut(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?ut(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ut(function(e){return function(t){return at(e,t).length>0}}),contains:ut(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:ut(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:vt(function(){return[0]}),last:vt(function(e,t){return[t-1]}),eq:vt(function(e,t,n){return[0>n?n+t:n]}),even:vt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:vt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:vt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:vt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=mt(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=yt(n);function bt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function xt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function wt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function Tt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Ct(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function Nt(e,t,n,r,i,o){return r&&!r[b]&&(r=Nt(r)),i&&!i[b]&&(i=Nt(i,o)),ut(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||St(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:Ct(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=Ct(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=Ct(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function kt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=wt(function(e){return e===t},s,!0),p=wt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[wt(Tt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return Nt(l>1&&Tt(f),l>1&&xt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&kt(e.slice(l,r)),i>r&&kt(e=e.slice(r)),i>r&&xt(e))}f.push(n)}return Tt(f)}function Et(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=Ct(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?ut(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=bt(e)),n=t.length;while(n--)o=kt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Et(i,r))}return o};function St(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function At(e,t,n,i){var a,s,u,c,p,f=bt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&xt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}o.pseudos.nth=o.pseudos.eq;function jt(){}jt.prototype=o.filters=o.pseudos,o.setFilters=new jt,r.sortStable=b.split("").sort(A).join("")===b,p(),[0,0].sort(A),r.detectDuplicates=S,x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!l||i&&!u||(n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=x(this),l=t,u=e.match(T)||[];while(o=u[a++])l=r?l:!s.hasClass(o),s[l?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Ct=/^(?:checkbox|radio)$/i,Nt=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle);u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=un(e,t),Pt.detach()),Gt[e]=n),n}function un(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,n){x.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(x.css(e,"display"))?x.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x.support.opacity||(x.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=x.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===x.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,n){return n?x.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,n){x.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?x(e).position()[n]+"px":r):t}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!x.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||x.css(e,"display"))},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(x.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Ct.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),x.param=function(e,n){var r,i=[],o=function(e,t){t=x.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var mn,yn,vn=x.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=x.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=o.href}catch(Ln){yn=a.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(T)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(l){var u;return o[l]=!0,x.each(e[l]||[],function(e,l){var c=l(n,r,i);return"string"!=typeof c||a||o[c]?a?!(u=c):t:(n.dataTypes.unshift(c),s(c),!1)}),u}return s(n.dataTypes[0])||!o["*"]&&s("*")}function _n(e,n){var r,i,o=x.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),x.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&x.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?x("<div>").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:(e.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window);;var addComment={moveForm:function(a,b,c,d){var e,f=this,g=f.I(a),h=f.I(c),i=f.I("cancel-comment-reply-link"),j=f.I("comment_parent"),k=f.I("comment_post_ID");if(g&&h&&i&&j){f.respondId=c,d=d||!1,f.I("wp-temp-form-div")||(e=document.createElement("div"),e.id="wp-temp-form-div",e.style.display="none",h.parentNode.insertBefore(e,h)),g.parentNode.insertBefore(h,g.nextSibling),k&&d&&(k.value=d),j.value=b,i.style.display="",i.onclick=function(){var a=addComment,b=a.I("wp-temp-form-div"),c=a.I(a.respondId);if(b&&c)return a.I("comment_parent").value="0",b.parentNode.insertBefore(c,b),b.parentNode.removeChild(b),this.style.display="none",this.onclick=null,!1};try{f.I("comment").focus()}catch(l){}return!1}},I:function(a){return document.getElementById(a)}};;$(function(){var toggles=$('.toggle a'),codes=$('.code');toggles.on("click",function(event){event.preventDefault();var $this=$(this);if(!$this.hasClass("active")){toggles.removeClass("active");$this.addClass("active");codes.hide().filter(this.hash).show();}});toggles.first().click();});;$(function(){function numberWithCommas(x){return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",");}
+var verifyLoadOfBackers=function(){setTimeout(function(){var numberOfBackers=+document.getElementsByClassName('backers-amount')[0].innerHTML;if(!numberOfBackers){backersInfo(verifyLoadOfBackers);}},600);};var backersInfo=function(callback){$.getJSON('/info',function(result){var backers=result['buyers'];var amount=result['amount'];$('.backers-amount').text(backers);var amountString=amount.toString();$('.money-amount').text(numberWithCommas(amount));var progress=document.getElementsByClassName('progress')[0];setTimeout(function(){progress.style.width=(100*amount/100000)+'%';},2000);progress.style.maxWidth='100%';});callback();};var preload=new Image();preload.onload=function(){setTimeout(function(){$('.sunset').addClass('show');},500);};var $document=$(document);var windowWidth=$(window).width();var videoPopup=$('.video-popup');var video=$('.goldee-video');var source='http://player.vimeo.com/video/77999940?title=0&amp;byline=0&amp;portrait=0&amp;color=ff9933;autoplay=1';if(windowWidth<840){var width=$('.intro')[0].scrollWidth;video.width(windowWidth);video.height(windowWidth/16*9);}
+$('.fancybox-media').fancybox({openEffect:'none',closeEffect:'none',width:960,height:540,helpers:{media:{}}});$document.on('click','.controller-in-intro',function(e){e.preventDefault();videoPopup.css("visibility","visible");videoPopup.animate({opacity:1},"slow");video.attr('src',source);});$document.on('keydown',function(e){if(e.keyCode===27){videoPopup.animate({opacity:0},"slow",function(){videoPopup.css("visibility","hidden");});video.attr('src','');}});$document.on('click','.cross',function(){videoPopup.animate({opacity:0},"slow",function(){videoPopup.css("visibility","hidden");});video.attr('src','');});$document.on('click','.video-popup',function(){videoPopup.animate({opacity:0},"slow",function(){videoPopup.css("visibility","hidden");});video.attr('src','');});var preorderPopup=$('.preorder-popup');$document.on('click','a[data-preorderform]',function(e){e.preventDefault();preorderPopup.removeClass('hide');$('.payment-price').val($(this).data('package'));finalPrice(1);printPackageDetails($(this).data('element'));});$document.on('click','.cross',function(e){e.preventDefault();preorderPopup.addClass('hide');$('.success-popup').addClass('hide');});$document.on('click','.bg',function(e){e.preventDefault();preorderPopup.addClass('hide');});$document.on('keydown',function(e){if(e.keyCode===27){preorderPopup.addClass('hide');}});var legalPopup=$('.legal-popup');var stopScrolling=function(){document.body.style.overflow='hidden';document.body.style.width='100%';};var clearBodyStyle=function(){document.body.style.cssText='';};$document.on('click','.legal',function(e){e.preventDefault();legalPopup.removeClass('hide');stopScrolling();});$document.on('click','.cross',function(e){e.preventDefault();legalPopup.addClass('hide');$('.success-popup').addClass('hide');clearBodyStyle();});$document.on('click','.bg',function(e){e.preventDefault();legalPopup.addClass('hide');clearBodyStyle();});$document.on('keydown',function(e){if(e.keyCode===27){legalPopup.addClass('hide');clearBodyStyle();}});var thatIsCCV=$('.whats-ccv');$document.on('mouseover','.what-is',function(e){e.preventDefault();thatIsCCV.removeClass('hide');});$document.on('mouseleave','.what-is',function(e){e.preventDefault();thatIsCCV.addClass('hide');});$document.on('click','a[data-method]',function(e){e.preventDefault();$('a[data-method]').removeClass('selected');$('.'+$(this).data('method')).addClass('selected');$('[data-paymethod]').addClass('hide');$('.'+$(this).data('method')+'-method').removeClass('hide');$('.submit-payment-method').attr('value',$(this).data('method'));if($(this).data('method')==='paypal'){$('.card-number').removeClass('required');$('.security-code').removeClass('required');}
+else if($(this).data('method')==='card'){$('.card-number').addClass('required');$('.security-code').addClass('required');}});$document.on('click','.question',function(e){e.preventDefault();var parentEl=this.parentElement;var $parentEl=$(parentEl);if($parentEl.hasClass('opened')){$parentEl.removeClass('opened');}else{$parentEl.addClass('opened');}});$document.on('click','a[data-content]',function(e){e.preventDefault();var $this=$(this);var pointer=$('.pointer');var pointerLine=$('.pointer-line');pointerLine.fadeIn();$('.faq-line').css('margin-top',133);$('.content-steps').removeClass('hide');$('a[data-pointer]').removeClass('selected');$this.addClass('selected');if($this.data('pointer')===1){$this.find('h3').addClass('active');}else{$('.step1').removeClass('active');}
+pointer.removeClass('pos1 pos2 pos3');pointer.addClass('pos'+$this.data('pointer'));if($('.'+$this.data('content')).hasClass('hide')){$('.content-step').addClass('hide');setTimeout(function(){$('.'+$this.data('content')).removeClass('hide');},600);}});var visualizationBgContainer=$('.visualization-bgs');function setVisualizationBackground(bg){var prev=visualizationBgContainer.find('.bg');setTimeout(function(){prev.remove();},3000);var el=document.createElement('div');el.className+='bg group1 '+bg;visualizationBgContainer.append(el);setTimeout(function(){el.className+=' show';},30);}
+$document.on('click','a[data-bgchange]',function(e){e.preventDefault();$('a[data-bgchange]').removeClass('selected');$(this).addClass('selected');var bg=$(this).attr('data-bgchange');setVisualizationBackground(bg);});$document.on('click','a[data-group]',function(e){e.preventDefault();var $this=$(this);var roles=$('.roles');var hover=$('.controller-hover');var outside=$('.room');var text=$('.visualizations h2');var group=$this.attr('data-group');$('a[data-group]').removeClass('active');$this.addClass('active');if(group!=='ambient'){roles.addClass('hide');}else{roles.removeClass('hide');}
+if(group!=='night'){hover.addClass('hide');}else{hover.removeClass('hide');}
+if(group!=='outside'){outside.addClass('hide');}else{outside.removeClass('hide');}
+text.addClass('hide');setTimeout(function(){text.html($this.attr('data-text'));text.removeClass('hide');},300);setVisualizationBackground(group);});$document.on('mouseover','.controller-hover',function(){setVisualizationBackground('light');});$document.on('mouseleave','.controller-hover',function(){setVisualizationBackground('night');});$document.on('mouseover','.room-hover',function(){var roomName=$(this).data('room');lightRoom(roomName);});$document.on('mouseleave','.room-hover',function(){setVisualizationBackground('outside');delightRooms();});var footerBgContainer=$('.footer-bgs');function setFooterBackground(bgNumber){var prev=footerBgContainer.find('.bg');setTimeout(function(){prev.remove();},4100);var el=document.createElement('div');el.className+='bg bg'+bgNumber;footerBgContainer.append(el);setTimeout(function(){el.className+=' show';},20);}
+function footerBgRotating(interval){var current=1;setInterval(function(){setFooterBackground((current%3)+1);current++;},interval);}
+footerBgRotating(4000);$document.on('mouseenter','.dot-with-circle',function(){var $this=$(this);var descriptionNumber=$this.data('hover');$('.description'+descriptionNumber).addClass('current');});$document.on('mouseleave','.dot-with-circle',function(){setTimeout(function(){$('.description').removeClass('current');},200);});var done=false;var windowHeight=Math.round($(window).height());$('.timeline-bg').height(windowHeight);$('.mode').css('padding-top',windowHeight*0.42+300);$('.mode').css('padding-bottom',windowHeight*0.22+000);$('.mode').last().css('padding-bottom',windowHeight*0.43+200);$('.clocks').css('top',windowHeight*0.5-68);$('.vertical-line1').css('height',windowHeight*0.50-78);$('.vertical-line2').css('height',windowHeight*0.50-78);$('.vertical-line2').css('top',windowHeight*0.50+78);$('.timeline-controller').css('top',windowHeight*0.5-266);var timeline=$('.timeline');$(window).scroll(function(){var scrollTop=$(window).scrollTop();if(timeline.position().top+timeline.height()+$('.scroller ul').height()<scrollTop+window.innerHeight){$('.timeline').removeClass('fixed');$('.timeline').addClass('done');$('.vertical-line1').css('top','auto');$('.vertical-line1').css('bottom',windowHeight*0.5+78);$('.vertical-line2').css('top','auto');$('.vertical-line2').css('bottom',0);$('.clocks').css('top','auto');$('.clocks').css('bottom',windowHeight*0.5-68);$('.timeline-controller').css('top','auto');$('.timeline-controller').css('bottom',windowHeight*0.5-266);}else if(timeline.position().top+$(window).height()<scrollTop+$(window).height()){$('.timeline').addClass('fixed');$('.timeline').removeClass('done');$('.vertical-line1').css('top',0);$('.vertical-line1').css('bottom','auto');$('.vertical-line2').css('top',windowHeight*0.50+78);$('.vertical-line2').css('bottom','auto');$('.clocks').css('top',windowHeight*0.5-68);$('.clocks').css('bottom','auto');$('.timeline-controller').css('top',windowHeight*0.5-266);$('.timeline-controller').css('bottom','auto');}else{$('.timeline').removeClass('fixed');$('.timeline').removeClass('done');}});if($('.timeline').length){function formatAMPM(date){if(typeof date!=='undefined'){var hours=date.getHours();var minutes=date.getMinutes();}else{var hours=0;var minutes=0;}
+var ampm=hours>=12?'':'';hours=hours%12;hours=hours?hours:0;minutes=minutes<10?'0'+minutes:minutes;var strTime="<div class='time'><span class='hours'>"+hours+"</span><span class='colon'></span><span class='minutes'>"+minutes+"</span></div><span class='forenoon'>"+ampm+"</span>";return strTime;}
+var interpolateTime=function(start,finish,position){var diff=finish.getTime()-start.getTime();return new Date(start.getTime()+diff*position);};var initializeTimeline=function(){var dates=[new Date(2013,11,5,1,0,0),new Date(2013,11,5,2,0,0),new Date(2013,11,5,3,0,0),new Date(2013,11,5,4,0,0),new Date(2013, 11, 5, 5, 0, 0),new Date(2013, 11, 5, 6, 0, 0),new Date(2013, 11, 5, 7, 0, 0),new Date(2013, 11, 5, 8, 0, 0),new Date(2013, 11, 5, 9, 0, 0),new Date(2013, 11, 5, 10, 0, 0),];var timeline=$('.timeline');var timelineTop=timeline.offset().top;var timelineHeight=timeline[0].scrollHeight;var timelineBottom=timelineTop+timelineHeight;var timelineSections=$('.mode');var positions=timelineSections.map(function(){return $(this).position().top;});var $time=$('.clocks');var lastSection=timelineSections.last();var lastSectionPosition=lastSection.position().top;$(window).scroll(function(){var scrollTop=$(window).scrollTop();if(scrollTop>timelineTop-window.innerHeight&&scrollTop<timelineBottom){var a=positions.filter(function(i,item){return scrollTop-timelineTop>item;});var currentIndex=a.length-1;var nextIndex=currentIndex+1;var current=timelineSections.eq(currentIndex);var next=timelineSections.eq(nextIndex);var controllerContainer=$('.timeline-controller');if(!$('.timeline-bg').hasClass('timeline-bg'+current.data('bg'))&&scrollTop>timelineTop){var prevBg=timeline.find('.timeline-bg');var prevIcon=controllerContainer.find('.mode-icon');prevIcon.removeClass('show');setTimeout(function(){prevIcon.remove();},350);setTimeout(function(){prevBg.remove();},850);var bgEl=document.createElement('div');bgEl.className+='timeline-bg timeline-bg'+current.data('bg');timeline.append(bgEl);var iconEl=document.createElement('div');
+				var images;
+					if (window.images) {
+				    images = window.images;
+				iconEl.id += 'imgIconEl';
+                var imgIconEl = new Image();
+                imgIconEl.src = images[current.data('bg') - 1]; 
+                imgIconEl.className = 'centreImgTime';
+                imgIconEl.style.border = "1px solid black";
+                iconEl.appendChild(imgIconEl);
+				} else {
+				}
+				
+	iconEl.className+='mode-icon mode-icon'+current.data('bg');controllerContainer.append(iconEl);setTimeout(function(){bgEl.className+=' show';},20);setTimeout(function(){iconEl.className+=' show';},300);}
+if(currentIndex<0){$time.html(formatAMPM(dates[0]));return;}
+if(scrollTop-50>lastSectionPosition+timelineTop){$time.html('0');$time.addClass('0');return;}
+if(nextIndex>=timelineSections.length){var date=dates[dates.length];$time.removeClass('away');$time.html(formatAMPM(date));return;}
+if(next.length&&a.length!==dates.length){var currentLocation=current.position().top+timelineTop;var nextLocation=next.position().top+timelineTop;var position=(scrollTop-currentLocation)/(nextLocation-currentLocation);var time=interpolateTime(dates[currentIndex],dates[nextIndex],position);$time.html(formatAMPM(time));}}});};initializeTimeline();}
+$('.twitter-follow-button').on('click',function(){ga('send','event','Social','Twitter','follow');});$('.twitter-share-button').on('click',function(){ga('send','event','Social','Twitter','share');});$('.facebook-like').on('click',function(){ga('send','event','Social','Facebook','like');});$('.controller-in-intro').on('click',function(){ga('send','event','Video','Play click','goldee-controller');});$('.intro .preorder').on('click',function(){ga('send','event','Pledge','click','Pledge Top',1);});$('.intro .partnership').on('click',function(){ga('send','event','Partnership','click','Colaborate Top');});$('.controller-hover').on('mouseover',function(){ga('send','event','Night scene ','hover','Night light ON');});$('.visualizations .room-hover').on('mouseover',function(){ga('send','event','Outside scene','hover',$(this).data('room')+' room');});$('.visualizations .roles a').on('click',function(){ga('send','event','Ambient room','click',$(this).data('bgchange')+' gesture');});$('.visualizations .dots a').on('click',function(){ga('send','event','Visualizations','click',$(this).data('group')+' scene');});$('.dot-with-circle1').on('mouseover',function(){ga('send','event','Engineered goldee','hover','GorillaÂ® Glass');});$('.dot-with-circle2').on('mouseover',function(){ga('send','event','Engineered goldee','hover','Gesture Control Chip');});$('.dot-with-circle3').on('mouseover',function(){ga('send','event','Engineered goldee','hover','Ambient Sensor');});$('.dot-with-circle4').on('mouseover',function(){ga('send','event','Engineered goldee','hover','Amoled Display');});$('.dot-with-circle5').on('mouseover',function(){ga('send','event','Engineered goldee','hover','Proximity Sensor');});$('.dot-with-circle6').on('mouseover',function(){ga('send','event','Engineered goldee','hover','Polycarbonate body');});$('.dot-with-circle7').on('mouseover',function(){ga('send','event','Engineered goldee','hover','Back Panel');});$('.step1').on('click',function(){ga('send','event','How-it-works','click','1.Replace');});$('.step2').on('click',function(){ga('send','event','How-it-works','click','2.Update');});$('.step3').on('click',function(){ga('send','event','How-it-works','click','3.Enjoy');});$('footer .links a').on('click',function(){ga('send','event','footer-nav','click',$(this).html());});$('footer .preorder').on('click',function(){ga('send','event','Pledge','click','Pledge Botton',1);});$('footer .partnership').on('click',function(){ga('send','event','Partnership','click','Collaborate Botton');});$('.questions ul a').on('click',function(){ga('send','event','FAQ','click',$(this).html());});$('.ask').on('click',function(){ga('send','event','FAQ','click','Ask a question');});$('.submit').on('click',function(){ga('send','event','Transaction','submit','Submit transaction');});$('.choices a').on('click',function(){ga('send','event','Transaction','click',$(this).html(),1);});});var howManyDaysRemains=function(){var oneDay=24*60*60*1000;var firstDate=new Date(2013,11,26);var preToday=new Date();var today=new Date(preToday.getFullYear(),preToday.getMonth()+1,preToday.getDate());var diffDays=26-Math.round((today.getTime()-firstDate.getTime())/(oneDay));console.log(diffDays);var daysAmount=document.getElementsByClassName('days-amount')[0];if(diffDays>26){daysAmount.innerHTML='25';}else if(diffDays>0){daysAmount.innerHTML=diffDays;}else{daysAmount.innerHTML='0';}};if($('.visualizations').length){var getPositions=function(){var getGoldeePosition=function(){var controller=document.getElementsByClassName('controller-hover')[0];var visualizationBgWidth=document.getElementsByClassName('visualizations')[0].scrollWidth;controller.style.cssText='';if(window.innerWidth<1368){controller.style.left='50%';controller.style.top='318px';controller.style.marginLeft='106px';}else{controller.style.left=(visualizationBgWidth/(3840/2510.5))-102+'px';controller.style.top='50%';controller.style.marginTop=(visualizationBgWidth/(3840/79))-95+'px';}};getGoldeePosition();var getRoomsLocations=function(){var roomYellow=document.getElementsByClassName('room-hover1')[0];var roomRed=document.getElementsByClassName('room-hover2')[0];var visualizationBgWidth=document.getElementsByClassName('visualizations')[0].scrollWidth;roomYellow.style.cssText='';roomRed.style.cssText='';if(window.innerWidth<1368){roomYellow.style.bottom='150px';roomYellow.style.right='50%';roomYellow.style.marginRight='20px';roomRed.style.bottom='110px';roomRed.style.left='50%';roomRed.style.marginLeft='12px';}
+else{roomYellow.style.width=(visualizationBgWidth/(3840/1016))+'px';roomYellow.style.height=(visualizationBgWidth/(3840/340))+'px';roomYellow.style.bottom=((visualizationBgWidth/16*9)/(2160/420))+'px';roomYellow.style.right='50%';roomYellow.style.marginRight=(visualizationBgWidth/(3840/62))+'px';roomRed.style.width=(visualizationBgWidth/(3840/1290))+'px';roomRed.style.height=(visualizationBgWidth/(3840/547))+'px';roomRed.style.bottom=((visualizationBgWidth/16*9)/(2160/336))+'px';roomRed.style.left='50%';roomRed.style.marginLeft=(visualizationBgWidth/(3840/30))+'px';}};getRoomsLocations();var setRoomSizes=function(){var roomYellow=document.getElementById('left-room-lighten');var roomRed=document.getElementById('right-room-lighten');var visualizationBgWidth=document.getElementsByClassName('visualizations')[0].scrollWidth;roomYellow.style.width=(visualizationBgWidth/2)+'px';roomRed.style.width=((visualizationBgWidth/2)-20)+'px';if(window.innerWidth>1367){roomYellow.style.height=((visualizationBgWidth/2)/(1280/720))+'px';roomRed.style.height=((visualizationBgWidth/2)/(1280/720))+'px';}};setRoomSizes();};var lightRoom=function(roomName){var room=document.getElementById(roomName+'-room-lighten');room.className='room lighten-room visible';};var delightRooms=function(){var roomYellow=document.getElementById('left-room-lighten');var roomRed=document.getElementById('right-room-lighten');roomYellow.className='room lighten-room';roomRed.className='room lighten-room';};getPositions();window.onresize=getPositions;};$(window).scroll(function(e){var scroller_anchor=$(".scroller_anchor").offset().top;var scroller=$('.scroller');if($(this).scrollTop()>=scroller_anchor&&$('.scroller').css('position')!='fixed')
+{$('.scroller').addClass('fixedTop');$('.fixed-top .ellipse').css("height","70px");if($('li a.ellipse').hasClass('hidden')){$('li a.ellipse').removeClass('hidden');$('li a.ellipse').addClass('displayed');$('li a.ellipse').fadeTo("fast",1);}}
+else if($(this).scrollTop()<scroller_anchor&&$('.scroller').css('position')!='relative')
+{$('.scroller').removeClass('fixedTop');$('.fixed-top .ellipse').css("height","96px");$('li a.ellipse').removeClass('show');if($('li a.ellipse').hasClass('displayed')){$('li a.ellipse').removeClass('displayed');$('li a.ellipse').addClass('hidden');$('li a.ellipse').fadeTo("fast",0);}
+turn_black(0);}
+var scrollBottom=$(window).scrollTop()+$(window).height()-34;var scroll_advice=$('.intro .scroll');if(scrollBottom>=scroller_anchor&&scroll_advice.css('position')!='absolute'){scroll_advice.css("position","absolute").css("bottom","0");}
+else if(scrollBottom<scroller_anchor&&scroll_advice.css('position')!='fixed'){scroll_advice.css("position","fixed").css("bottom","35px");}
+var experience=$("#caracteristiques").offset().top;var galerie=$("#gallery").offset().top;if($(this).scrollTop()>=scroller_anchor&&$(this).scrollTop()<experience-100){turn_black(1);}
+else if($(this).scrollTop()>=experience-100&&$(this).scrollTop()<galerie){turn_black(3);}
+else if($(this).scrollTop()>=galerie){turn_black(4);}});jQuery(document).ready(function(){jQuery('.fancybox').fancybox();});jQuery(function(){jQuery("#lightbox").organicTabs({"speed":200});jQuery("#lighbox-faq").organicTabs({"speed":200});});jQuery(function($){var slide=false;var height=$('#footer_content').height();$('footer').click(function(e){var docHeight=$(document).height();var windowHeight=$(window).height();var scrollPos=docHeight-windowHeight+height;$('#footer_content').animate({height:"toggle"},1000);});});jQuery(function(){SyntaxHighlighter.all();});jQuery(window).load(function(){jQuery('.flexslider').flexslider({animation:"slide",start:function(slider){jQuery('body').removeClass('loading');}});jQuery('.flex-slider').flexslider({animation:"slide",animationLoop:true,itemWidth:210,itemMargin:5,minItems:2,maxItems:5});jQuery('.flex-slider').show();});;function turn_black(element){var counter=0;var list=$(".scroller .menu li")
+list.each(function(index){if(index==element){$(this).find("a").css("color","#2993d9");}
+else{$(this).find("a").css("color","#404040");}
+counter++;});}
+function open_description(point){var descr_width=point.parent().width()-17;if(!point.hasClass("show")){point.next().animate({width:descr_width},350,function(){point.parent().find("p").fadeIn();});point.addClass("show");point.toggleClass("pulsate");}
+else{point.parent().find("p").fadeOut(400,function(){point.next().animate({width:"0px"},350);});point.removeClass("show");point.toggleClass("pulsate");}}
+jQuery(document).ready(function(){$('.point').on("click",function(){open_description($(this));});$('.icon').on("click",function(){if($(this).find('.icon-move-1').length!=0){open_description($(".descript-1 .point"));}
+else if($(this).find('.icon-move-2').length!=0){open_description($(".descript-2 .point"));}
+else if($(this).find('.icon-move-3').length!=0){open_description($(".descript-3 .point"));}});$('.fancybox').on("click",function(){$("body").addClass("noscroll");});});(function(){var container,button,menu;container=document.getElementById('site-navigation');if(!container)
+return;button=container.getElementsByTagName('h1')[0];if('undefined'===typeof button)
+return;menu=container.getElementsByTagName('ul')[0];if('undefined'===typeof menu){button.style.display='none';return;}
+if(-1===menu.className.indexOf('nav-menu'))
+menu.className+=' nav-menu';button.onclick=function(){if(-1!==container.className.indexOf('toggled'))
+container.className=container.className.replace(' toggled','');else
+container.className+=' toggled';};})();;(function(){var is_webkit=navigator.userAgent.toLowerCase().indexOf('webkit')>-1,is_opera=navigator.userAgent.toLowerCase().indexOf('opera')>-1,is_ie=navigator.userAgent.toLowerCase().indexOf('msie')>-1;if((is_webkit||is_opera||is_ie)&&'undefined'!==typeof(document.getElementById)){var eventMethod=(window.addEventListener)?'addEventListener':'attachEvent';window[eventMethod]('hashchange',function(){var element=document.getElementById(location.hash.substring(1));if(element){if(!/^(?:a|select|input|button|textarea)$/i.test(element.tagName))
+element.tabIndex=-1;element.focus();}},false);}})();;
+/* Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
+ * Licensed under the MIT License (LICENSE.txt).
+ *
+ * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
+ * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
+ * Thanks to: Seamus Leahy for adding deltaX and deltaY
+ *
+ * Version: 3.0.6
+ * 
+ * Requires: 1.2.2+
+ */
+(function(d){function e(a){var b=a||window.event,c=[].slice.call(arguments,1),f=0,e=0,g=0,a=d.event.fix(b);a.type="mousewheel";b.wheelDelta&&(f=b.wheelDelta/120);b.detail&&(f=-b.detail/3);g=f;b.axis!==void 0&&b.axis===b.HORIZONTAL_AXIS&&(g=0,e=-1*f);b.wheelDeltaY!==void 0&&(g=b.wheelDeltaY/120);b.wheelDeltaX!==void 0&&(e=-1*b.wheelDeltaX/120);c.unshift(a,f,e,g);return(d.event.dispatch||d.event.handle).apply(this,c)}var c=["DOMMouseScroll","mousewheel"];if(d.event.fixHooks)for(var h=c.length;h;)d.event.fixHooks[c[--h]]=d.event.mouseHooks;d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=c.length;a;)this.addEventListener(c[--a],e,false);else this.onmousewheel=e},teardown:function(){if(this.removeEventListener)for(var a=c.length;a;)this.removeEventListener(c[--a],e,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery);;
+/*
+ * fancyBox - jQuery Plugin
+ * version: 2.1.5 (Fri, 14 Jun 2013)
+ * @requires jQuery v1.6 or later
+ *
+ * Examples at http://fancyapps.com/fancybox/
+ * License: www.fancyapps.com/fancybox/#license
+ *
+ * Copyright 2012 Janis Skarnelis - janis@fancyapps.com
+ *
+ */
+(function(window,document,$,undefined){"use strict";var H=$("html"),W=$(window),D=$(document),F=$.fancybox=function(){F.open.apply(this,arguments);},IE=navigator.userAgent.match(/msie/i),didUpdate=null,isTouch=document.createTouch!==undefined,isQuery=function(obj){return obj&&obj.hasOwnProperty&&obj instanceof $;},isString=function(str){return str&&$.type(str)==="string";},isPercentage=function(str){return isString(str)&&str.indexOf('%')>0;},isScrollable=function(el){return(el&&!(el.style.overflow&&el.style.overflow==='hidden')&&((el.clientWidth&&el.scrollWidth>el.clientWidth)||(el.clientHeight&&el.scrollHeight>el.clientHeight)));},getScalar=function(orig,dim){var value=parseInt(orig,10)||0;if(dim&&isPercentage(orig)){value=F.getViewport()[dim]/100*value;}
+return Math.ceil(value);},getValue=function(value,dim){return getScalar(value,dim)+'px';};$.extend(F,{version:'2.1.5',defaults:{padding:15,margin:20,width:800,height:600,minWidth:100,minHeight:100,maxWidth:9999,maxHeight:9999,pixelRatio:1,autoSize:true,autoHeight:false,autoWidth:false,autoResize:true,autoCenter:!isTouch,fitToView:true,aspectRatio:false,topRatio:0.5,leftRatio:0.5,scrolling:'auto',wrapCSS:'',arrows:true,closeBtn:true,closeClick:false,nextClick:false,mouseWheel:true,autoPlay:false,playSpeed:3000,preload:3,modal:false,loop:true,ajax:{dataType:'html',headers:{'X-fancyBox':true}},iframe:{scrolling:'auto',preload:true},swf:{wmode:'transparent',allowfullscreen:'true',allowscriptaccess:'always'},keys:{next:{13:'left',34:'up',39:'left',40:'up'},prev:{8:'right',33:'down',37:'right',38:'down'},close:[27],play:[32],toggle:[70]},direction:{next:'left',prev:'right'},scrollOutside:true,index:0,type:null,href:null,content:null,title:null,tpl:{wrap:'<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen'+(IE?' allowtransparency="true"':'')+'></iframe>',error:'<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',next:'<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',prev:'<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'},openEffect:'fade',openSpeed:250,openEasing:'swing',openOpacity:true,openMethod:'zoomIn',closeEffect:'fade',closeSpeed:250,closeEasing:'swing',closeOpacity:true,closeMethod:'zoomOut',nextEffect:'elastic',nextSpeed:250,nextEasing:'swing',nextMethod:'changeIn',prevEffect:'elastic',prevSpeed:250,prevEasing:'swing',prevMethod:'changeOut',helpers:{overlay:true,title:true},onCancel:$.noop,beforeLoad:$.noop,afterLoad:$.noop,beforeShow:$.noop,afterShow:$.noop,beforeChange:$.noop,beforeClose:$.noop,afterClose:$.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:false,isOpen:false,isOpened:false,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:false},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(group,opts){if(!group){return;}
+if(!$.isPlainObject(opts)){opts={};}
+if(false===F.close(true)){return;}
+if(!$.isArray(group)){group=isQuery(group)?$(group).get():[group];}
+$.each(group,function(i,element){var obj={},href,title,content,type,rez,hrefParts,selector;if($.type(element)==="object"){if(element.nodeType){element=$(element);}
+if(isQuery(element)){obj={href:element.data('fancybox-href')||element.attr('href'),title:element.data('fancybox-title')||element.attr('title'),isDom:true,element:element};if($.metadata){$.extend(true,obj,element.metadata());}}else{obj=element;}}
+href=opts.href||obj.href||(isString(element)?element:null);title=opts.title!==undefined?opts.title:obj.title||'';content=opts.content||obj.content;type=content?'html':(opts.type||obj.type);if(!type&&obj.isDom){type=element.data('fancybox-type');if(!type){rez=element.prop('class').match(/fancybox\.(\w+)/);type=rez?rez[1]:null;}}
+if(isString(href)){if(!type){if(F.isImage(href)){type='image';}else if(F.isSWF(href)){type='swf';}else if(href.charAt(0)==='#'){type='inline';}else if(isString(element)){type='html';content=element;}}
+if(type==='ajax'){hrefParts=href.split(/\s+/,2);href=hrefParts.shift();selector=hrefParts.shift();}}
+if(!content){if(type==='inline'){if(href){content=$(isString(href)?href.replace(/.*(?=#[^\s]+$)/,''):href);}else if(obj.isDom){content=element;}}else if(type==='html'){content=href;}else if(!type&&!href&&obj.isDom){type='inline';content=element;}}
+$.extend(obj,{href:href,type:type,content:content,title:title,selector:selector});group[i]=obj;});F.opts=$.extend(true,{},F.defaults,opts);if(opts.keys!==undefined){F.opts.keys=opts.keys?$.extend({},F.defaults.keys,opts.keys):false;}
+F.group=group;return F._start(F.opts.index);},cancel:function(){var coming=F.coming;if(!coming||false===F.trigger('onCancel')){return;}
+F.hideLoading();if(F.ajaxLoad){F.ajaxLoad.abort();}
+F.ajaxLoad=null;if(F.imgPreload){F.imgPreload.onload=F.imgPreload.onerror=null;}
+if(coming.wrap){coming.wrap.stop(true,true).trigger('onReset').remove();}
+F.coming=null;if(!F.current){F._afterZoomOut(coming);}},close:function(event){F.cancel();if(false===F.trigger('beforeClose')){return;}
+F.unbindEvents();if(!F.isActive){return;}
+if(!F.isOpen||event===true){$('.fancybox-wrap').stop(true).trigger('onReset').remove();F._afterZoomOut();}else{F.isOpen=F.isOpened=false;F.isClosing=true;$('.fancybox-item, .fancybox-nav').remove();F.wrap.stop(true,true).removeClass('fancybox-opened');F.transitions[F.current.closeMethod]();}},play:function(action){var clear=function(){clearTimeout(F.player.timer);},set=function(){clear();if(F.current&&F.player.isActive){F.player.timer=setTimeout(F.next,F.current.playSpeed);}},stop=function(){clear();D.unbind('.player');F.player.isActive=false;F.trigger('onPlayEnd');},start=function(){if(F.current&&(F.current.loop||F.current.index<F.group.length-1)){F.player.isActive=true;D.bind({'onCancel.player beforeClose.player':stop,'onUpdate.player':set,'beforeLoad.player':clear});set();F.trigger('onPlayStart');}};if(action===true||(!F.player.isActive&&action!==false)){start();}else{stop();}},next:function(direction){var current=F.current;if(current){if(!isString(direction)){direction=current.direction.next;}
+F.jumpto(current.index+1,direction,'next');}},prev:function(direction){var current=F.current;if(current){if(!isString(direction)){direction=current.direction.prev;}
+F.jumpto(current.index-1,direction,'prev');}},jumpto:function(index,direction,router){var current=F.current;if(!current){return;}
+index=getScalar(index);F.direction=direction||current.direction[(index>=current.index?'next':'prev')];F.router=router||'jumpto';if(current.loop){if(index<0){index=current.group.length+(index%current.group.length);}
+index=index%current.group.length;}
+if(current.group[index]!==undefined){F.cancel();F._start(index);}},reposition:function(e,onlyAbsolute){var current=F.current,wrap=current?current.wrap:null,pos;if(wrap){pos=F._getPosition(onlyAbsolute);if(e&&e.type==='scroll'){delete pos.position;wrap.stop(true,true).animate(pos,200);}else{wrap.css(pos);current.pos=$.extend({},current.dim,pos);}}},update:function(e){var type=(e&&e.type),anyway=!type||type==='orientationchange';if(anyway){clearTimeout(didUpdate);didUpdate=null;}
+if(!F.isOpen||didUpdate){return;}
+didUpdate=setTimeout(function(){var current=F.current;if(!current||F.isClosing){return;}
+F.wrap.removeClass('fancybox-tmp');if(anyway||type==='load'||(type==='resize'&&current.autoResize)){F._setDimension();}
+if(!(type==='scroll'&&current.canShrink)){F.reposition(e);}
+F.trigger('onUpdate');didUpdate=null;},(anyway&&!isTouch?0:300));},toggle:function(action){if(F.isOpen){F.current.fitToView=$.type(action)==="boolean"?action:!F.current.fitToView;if(isTouch){F.wrap.removeAttr('style').addClass('fancybox-tmp');F.trigger('onUpdate');}
+F.update();}},hideLoading:function(){D.unbind('.loading');$('#fancybox-loading').remove();},showLoading:function(){var el,viewport;F.hideLoading();el=$('<div id="fancybox-loading"><div></div></div>').click(F.cancel).appendTo('body');D.bind('keydown.loading',function(e){if((e.which||e.keyCode)===27){e.preventDefault();F.cancel();}});if(!F.defaults.fixed){viewport=F.getViewport();el.css({position:'absolute',top:(viewport.h*0.5)+viewport.y,left:(viewport.w*0.5)+viewport.x});}},getViewport:function(){var locked=(F.current&&F.current.locked)||false,rez={x:W.scrollLeft(),y:W.scrollTop()};if(locked){rez.w=locked[0].clientWidth;rez.h=locked[0].clientHeight;}else{rez.w=isTouch&&window.innerWidth?window.innerWidth:W.width();rez.h=isTouch&&window.innerHeight?window.innerHeight:W.height();}
+return rez;},unbindEvents:function(){if(F.wrap&&isQuery(F.wrap)){F.wrap.unbind('.fb');}
+D.unbind('.fb');W.unbind('.fb');},bindEvents:function(){var current=F.current,keys;if(!current){return;}
+W.bind('orientationchange.fb'+(isTouch?'':' resize.fb')+(current.autoCenter&&!current.locked?' scroll.fb':''),F.update);keys=current.keys;if(keys){D.bind('keydown.fb',function(e){var code=e.which||e.keyCode,target=e.target||e.srcElement;if(code===27&&F.coming){return false;}
+if(!e.ctrlKey&&!e.altKey&&!e.shiftKey&&!e.metaKey&&!(target&&(target.type||$(target).is('[contenteditable]')))){$.each(keys,function(i,val){if(current.group.length>1&&val[code]!==undefined){F[i](val[code]);e.preventDefault();return false;}
+if($.inArray(code,val)>-1){F[i]();e.preventDefault();return false;}});}});}
+if($.fn.mousewheel&&current.mouseWheel){F.wrap.bind('mousewheel.fb',function(e,delta,deltaX,deltaY){var target=e.target||null,parent=$(target),canScroll=false;while(parent.length){if(canScroll||parent.is('.fancybox-skin')||parent.is('.fancybox-wrap')){break;}
+canScroll=isScrollable(parent[0]);parent=$(parent).parent();}
+if(delta!==0&&!canScroll){if(F.group.length>1&&!current.canShrink){if(deltaY>0||deltaX>0){F.prev(deltaY>0?'down':'left');}else if(deltaY<0||deltaX<0){F.next(deltaY<0?'up':'right');}
+e.preventDefault();}}});}},trigger:function(event,o){var ret,obj=o||F.coming||F.current;if(!obj){return;}
+if($.isFunction(obj[event])){ret=obj[event].apply(obj,Array.prototype.slice.call(arguments,1));}
+if(ret===false){return false;}
+if(obj.helpers){$.each(obj.helpers,function(helper,opts){if(opts&&F.helpers[helper]&&$.isFunction(F.helpers[helper][event])){F.helpers[helper][event]($.extend(true,{},F.helpers[helper].defaults,opts),obj);}});}
+D.trigger(event);},isImage:function(str){return isString(str)&&str.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i);},isSWF:function(str){return isString(str)&&str.match(/\.(swf)((\?|#).*)?$/i);},_start:function(index){var coming={},obj,href,type,margin,padding;index=getScalar(index);obj=F.group[index]||null;if(!obj){return false;}
+coming=$.extend(true,{},F.opts,obj);margin=coming.margin;padding=coming.padding;if($.type(margin)==='number'){coming.margin=[margin,margin,margin,margin];}
+if($.type(padding)==='number'){coming.padding=[padding,padding,padding,padding];}
+if(coming.modal){$.extend(true,coming,{closeBtn:false,closeClick:false,nextClick:false,arrows:false,mouseWheel:false,keys:null,helpers:{overlay:{closeClick:false}}});}
+if(coming.autoSize){coming.autoWidth=coming.autoHeight=true;}
+if(coming.width==='auto'){coming.autoWidth=true;}
+if(coming.height==='auto'){coming.autoHeight=true;}
+coming.group=F.group;coming.index=index;F.coming=coming;if(false===F.trigger('beforeLoad')){F.coming=null;return;}
+type=coming.type;href=coming.href;if(!type){F.coming=null;if(F.current&&F.router&&F.router!=='jumpto'){F.current.index=index;return F[F.router](F.direction);}
+return false;}
+F.isActive=true;if(type==='image'||type==='swf'){coming.autoHeight=coming.autoWidth=false;coming.scrolling='visible';}
+if(type==='image'){coming.aspectRatio=true;}
+if(type==='iframe'&&isTouch){coming.scrolling='scroll';}
+coming.wrap=$(coming.tpl.wrap).addClass('fancybox-'+(isTouch?'mobile':'desktop')+' fancybox-type-'+type+' fancybox-tmp '+coming.wrapCSS).appendTo(coming.parent||'body');$.extend(coming,{skin:$('.fancybox-skin',coming.wrap),outer:$('.fancybox-outer',coming.wrap),inner:$('.fancybox-inner',coming.wrap)});$.each(["Top","Right","Bottom","Left"],function(i,v){coming.skin.css('padding'+v,getValue(coming.padding[i]));});F.trigger('onReady');if(type==='inline'||type==='html'){if(!coming.content||!coming.content.length){return F._error('content');}}else if(!href){return F._error('href');}
+if(type==='image'){F._loadImage();}else if(type==='ajax'){F._loadAjax();}else if(type==='iframe'){F._loadIframe();}else{F._afterLoad();}},_error:function(type){$.extend(F.coming,{type:'html',autoWidth:true,autoHeight:true,minWidth:0,minHeight:0,scrolling:'no',hasError:type,content:F.coming.tpl.error});F._afterLoad();},_loadImage:function(){var img=F.imgPreload=new Image();img.onload=function(){this.onload=this.onerror=null;F.coming.width=this.width/F.opts.pixelRatio;F.coming.height=this.height/F.opts.pixelRatio;F._afterLoad();};img.onerror=function(){this.onload=this.onerror=null;F._error('image');};img.src=F.coming.href;if(img.complete!==true){F.showLoading();}},_loadAjax:function(){var coming=F.coming;F.showLoading();F.ajaxLoad=$.ajax($.extend({},coming.ajax,{url:coming.href,error:function(jqXHR,textStatus){if(F.coming&&textStatus!=='abort'){F._error('ajax',jqXHR);}else{F.hideLoading();}},success:function(data,textStatus){if(textStatus==='success'){coming.content=data;F._afterLoad();}}}));},_loadIframe:function(){var coming=F.coming,iframe=$(coming.tpl.iframe.replace(/\{rnd\}/g,new Date().getTime())).attr('scrolling',isTouch?'auto':coming.iframe.scrolling).attr('src',coming.href);$(coming.wrap).bind('onReset',function(){try{$(this).find('iframe').hide().attr('src','//about:blank').end().empty();}catch(e){}});if(coming.iframe.preload){F.showLoading();iframe.one('load',function(){$(this).data('ready',1);if(!isTouch){$(this).bind('load.fb',F.update);}
+$(this).parents('.fancybox-wrap').width('100%').removeClass('fancybox-tmp').show();F._afterLoad();});}
+coming.content=iframe.appendTo(coming.inner);if(!coming.iframe.preload){F._afterLoad();}},_preloadImages:function(){var group=F.group,current=F.current,len=group.length,cnt=current.preload?Math.min(current.preload,len-1):0,item,i;for(i=1;i<=cnt;i+=1){item=group[(current.index+i)%len];if(item.type==='image'&&item.href){new Image().src=item.href;}}},_afterLoad:function(){var coming=F.coming,previous=F.current,placeholder='fancybox-placeholder',current,content,type,scrolling,href,embed;F.hideLoading();if(!coming||F.isActive===false){return;}
+if(false===F.trigger('afterLoad',coming,previous)){coming.wrap.stop(true).trigger('onReset').remove();F.coming=null;return;}
+if(previous){F.trigger('beforeChange',previous);previous.wrap.stop(true).removeClass('fancybox-opened').find('.fancybox-item, .fancybox-nav').remove();}
+F.unbindEvents();current=coming;content=coming.content;type=coming.type;scrolling=coming.scrolling;$.extend(F,{wrap:current.wrap,skin:current.skin,outer:current.outer,inner:current.inner,current:current,previous:previous});href=current.href;switch(type){case'inline':case'ajax':case'html':if(current.selector){content=$('<div>').html(content).find(current.selector);}else if(isQuery(content)){if(!content.data(placeholder)){content.data(placeholder,$('<div class="'+placeholder+'"></div>').insertAfter(content).hide());}
+content=content.show().detach();current.wrap.bind('onReset',function(){if($(this).find(content).length){content.hide().replaceAll(content.data(placeholder)).data(placeholder,false);}});}
+break;case'image':content=current.tpl.image.replace('{href}',href);break;case'swf':content='<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+href+'"></param>';embed='';$.each(current.swf,function(name,val){content+='<param name="'+name+'" value="'+val+'"></param>';embed+=' '+name+'="'+val+'"';});content+='<embed src="'+href+'" type="application/x-shockwave-flash" width="100%" height="100%"'+embed+'></embed></object>';break;}
+if(!(isQuery(content)&&content.parent().is(current.inner))){current.inner.append(content);}
+F.trigger('beforeShow');current.inner.css('overflow',scrolling==='yes'?'scroll':(scrolling==='no'?'hidden':scrolling));F._setDimension();F.reposition();F.isOpen=false;F.coming=null;F.bindEvents();if(!F.isOpened){$('.fancybox-wrap').not(current.wrap).stop(true).trigger('onReset').remove();}else if(previous.prevMethod){F.transitions[previous.prevMethod]();}
+F.transitions[F.isOpened?current.nextMethod:current.openMethod]();F._preloadImages();},_setDimension:function(){var viewport=F.getViewport(),steps=0,canShrink=false,canExpand=false,wrap=F.wrap,skin=F.skin,inner=F.inner,current=F.current,width=current.width,height=current.height,minWidth=current.minWidth,minHeight=current.minHeight,maxWidth=current.maxWidth,maxHeight=current.maxHeight,scrolling=current.scrolling,scrollOut=current.scrollOutside?current.scrollbarWidth:0,margin=current.margin,wMargin=getScalar(margin[1]+margin[3]),hMargin=getScalar(margin[0]+margin[2]),wPadding,hPadding,wSpace,hSpace,origWidth,origHeight,origMaxWidth,origMaxHeight,ratio,width_,height_,maxWidth_,maxHeight_,iframe,body;wrap.add(skin).add(inner).width('auto').height('auto').removeClass('fancybox-tmp');wPadding=getScalar(skin.outerWidth(true)-skin.width());hPadding=getScalar(skin.outerHeight(true)-skin.height());wSpace=wMargin+wPadding;hSpace=hMargin+hPadding;origWidth=isPercentage(width)?(viewport.w-wSpace)*getScalar(width)/100:width;origHeight=isPercentage(height)?(viewport.h-hSpace)*getScalar(height)/100:height;if(current.type==='iframe'){iframe=current.content;if(current.autoHeight&&iframe.data('ready')===1){try{if(iframe[0].contentWindow.document.location){inner.width(origWidth).height(9999);body=iframe.contents().find('body');if(scrollOut){body.css('overflow-x','hidden');}
+origHeight=body.outerHeight(true);}}catch(e){}}}else if(current.autoWidth||current.autoHeight){inner.addClass('fancybox-tmp');if(!current.autoWidth){inner.width(origWidth);}
+if(!current.autoHeight){inner.height(origHeight);}
+if(current.autoWidth){origWidth=inner.width();}
+if(current.autoHeight){origHeight=inner.height();}
+inner.removeClass('fancybox-tmp');}
+width=getScalar(origWidth);height=getScalar(origHeight);ratio=origWidth/origHeight;minWidth=getScalar(isPercentage(minWidth)?getScalar(minWidth,'w')-wSpace:minWidth);maxWidth=getScalar(isPercentage(maxWidth)?getScalar(maxWidth,'w')-wSpace:maxWidth);minHeight=getScalar(isPercentage(minHeight)?getScalar(minHeight,'h')-hSpace:minHeight);maxHeight=getScalar(isPercentage(maxHeight)?getScalar(maxHeight,'h')-hSpace:maxHeight);origMaxWidth=maxWidth;origMaxHeight=maxHeight;if(current.fitToView){maxWidth=Math.min(viewport.w-wSpace,maxWidth);maxHeight=Math.min(viewport.h-hSpace,maxHeight);}
+maxWidth_=viewport.w-wMargin;maxHeight_=viewport.h-hMargin;if(current.aspectRatio){if(width>maxWidth){width=maxWidth;height=getScalar(width/ratio);}
+if(height>maxHeight){height=maxHeight;width=getScalar(height*ratio);}
+if(width<minWidth){width=minWidth;height=getScalar(width/ratio);}
+if(height<minHeight){height=minHeight;width=getScalar(height*ratio);}}else{width=Math.max(minWidth,Math.min(width,maxWidth));if(current.autoHeight&&current.type!=='iframe'){inner.width(width);height=inner.height();}
+height=Math.max(minHeight,Math.min(height,maxHeight));}
+if(current.fitToView){inner.width(width).height(height);wrap.width(width+wPadding);width_=wrap.width();height_=wrap.height();if(current.aspectRatio){while((width_>maxWidth_||height_>maxHeight_)&&width>minWidth&&height>minHeight){if(steps++>19){break;}
+height=Math.max(minHeight,Math.min(maxHeight,height-10));width=getScalar(height*ratio);if(width<minWidth){width=minWidth;height=getScalar(width/ratio);}
+if(width>maxWidth){width=maxWidth;height=getScalar(width/ratio);}
+inner.width(width).height(height);wrap.width(width+wPadding);width_=wrap.width();height_=wrap.height();}}else{width=Math.max(minWidth,Math.min(width,width-(width_-maxWidth_)));height=Math.max(minHeight,Math.min(height,height-(height_-maxHeight_)));}}
+if(scrollOut&&scrolling==='auto'&&height<origHeight&&(width+wPadding+scrollOut)<maxWidth_){width+=scrollOut;}
+inner.width(width).height(height);wrap.width(width+wPadding);width_=wrap.width();height_=wrap.height();canShrink=(width_>maxWidth_||height_>maxHeight_)&&width>minWidth&&height>minHeight;canExpand=current.aspectRatio?(width<origMaxWidth&&height<origMaxHeight&&width<origWidth&&height<origHeight):((width<origMaxWidth||height<origMaxHeight)&&(width<origWidth||height<origHeight));$.extend(current,{dim:{width:getValue(width_),height:getValue(height_)},origWidth:origWidth,origHeight:origHeight,canShrink:canShrink,canExpand:canExpand,wPadding:wPadding,hPadding:hPadding,wrapSpace:height_-skin.outerHeight(true),skinSpace:skin.height()-height});if(!iframe&&current.autoHeight&&height>minHeight&&height<maxHeight&&!canExpand){inner.height('auto');}},_getPosition:function(onlyAbsolute){var current=F.current,viewport=F.getViewport(),margin=current.margin,width=F.wrap.width()+margin[1]+margin[3],height=F.wrap.height()+margin[0]+margin[2],rez={position:'absolute',top:margin[0],left:margin[3]};if(current.autoCenter&&current.fixed&&!onlyAbsolute&&height<=viewport.h&&width<=viewport.w){rez.position='fixed';}else if(!current.locked){rez.top+=viewport.y;rez.left+=viewport.x;}
+rez.top=getValue(Math.max(rez.top,rez.top+((viewport.h-height)*current.topRatio)));rez.left=getValue(Math.max(rez.left,rez.left+((viewport.w-width)*current.leftRatio)));return rez;},_afterZoomIn:function(){var current=F.current;if(!current){return;}
+F.isOpen=F.isOpened=true;F.wrap.css('overflow','visible').addClass('fancybox-opened');F.update();if(current.closeClick||(current.nextClick&&F.group.length>1)){F.inner.css('cursor','pointer').bind('click.fb',function(e){if(!$(e.target).is('a')&&!$(e.target).parent().is('a')){e.preventDefault();F[current.closeClick?'close':'next']();}});}
+if(current.closeBtn){$(current.tpl.closeBtn).appendTo(F.skin).bind('click.fb',function(e){e.preventDefault();F.close();});}
+if(current.arrows&&F.group.length>1){if(current.loop||current.index>0){$(current.tpl.prev).appendTo(F.outer).bind('click.fb',F.prev);}
+if(current.loop||current.index<F.group.length-1){$(current.tpl.next).appendTo(F.outer).bind('click.fb',F.next);}}
+F.trigger('afterShow');if(!current.loop&&current.index===current.group.length-1){F.play(false);}else if(F.opts.autoPlay&&!F.player.isActive){F.opts.autoPlay=false;F.play();}},_afterZoomOut:function(obj){obj=obj||F.current;$('.fancybox-wrap').trigger('onReset').remove();$.extend(F,{group:{},opts:{},router:false,current:null,isActive:false,isOpened:false,isOpen:false,isClosing:false,wrap:null,skin:null,outer:null,inner:null});F.trigger('afterClose',obj);}});F.transitions={getOrigPosition:function(){var current=F.current,element=current.element,orig=current.orig,pos={},width=50,height=50,hPadding=current.hPadding,wPadding=current.wPadding,viewport=F.getViewport();if(!orig&&current.isDom&&element.is(':visible')){orig=element.find('img:first');if(!orig.length){orig=element;}}
+if(isQuery(orig)){pos=orig.offset();if(orig.is('img')){width=orig.outerWidth();height=orig.outerHeight();}}else{pos.top=viewport.y+(viewport.h-height)*current.topRatio;pos.left=viewport.x+(viewport.w-width)*current.leftRatio;}
+if(F.wrap.css('position')==='fixed'||current.locked){pos.top-=viewport.y;pos.left-=viewport.x;}
+pos={top:getValue(pos.top-hPadding*current.topRatio),left:getValue(pos.left-wPadding*current.leftRatio),width:getValue(width+wPadding),height:getValue(height+hPadding)};return pos;},step:function(now,fx){var ratio,padding,value,prop=fx.prop,current=F.current,wrapSpace=current.wrapSpace,skinSpace=current.skinSpace;if(prop==='width'||prop==='height'){ratio=fx.end===fx.start?1:(now-fx.start)/(fx.end-fx.start);if(F.isClosing){ratio=1-ratio;}
+padding=prop==='width'?current.wPadding:current.hPadding;value=now-padding;F.skin[prop](getScalar(prop==='width'?value:value-(wrapSpace*ratio)));F.inner[prop](getScalar(prop==='width'?value:value-(wrapSpace*ratio)-(skinSpace*ratio)));}},zoomIn:function(){var current=F.current,startPos=current.pos,effect=current.openEffect,elastic=effect==='elastic',endPos=$.extend({opacity:1},startPos);delete endPos.position;if(elastic){startPos=this.getOrigPosition();if(current.openOpacity){startPos.opacity=0.1;}}else if(effect==='fade'){startPos.opacity=0.1;}
+F.wrap.css(startPos).animate(endPos,{duration:effect==='none'?0:current.openSpeed,easing:current.openEasing,step:elastic?this.step:null,complete:F._afterZoomIn});},zoomOut:function(){var current=F.current,effect=current.closeEffect,elastic=effect==='elastic',endPos={opacity:0.1};if(elastic){endPos=this.getOrigPosition();if(current.closeOpacity){endPos.opacity=0.1;}}
+F.wrap.animate(endPos,{duration:effect==='none'?0:current.closeSpeed,easing:current.closeEasing,step:elastic?this.step:null,complete:F._afterZoomOut});},changeIn:function(){var current=F.current,effect=current.nextEffect,startPos=current.pos,endPos={opacity:1},direction=F.direction,distance=200,field;startPos.opacity=0.1;if(effect==='elastic'){field=direction==='down'||direction==='up'?'top':'left';if(direction==='down'||direction==='right'){startPos[field]=getValue(getScalar(startPos[field])-distance);endPos[field]='+='+distance+'px';}else{startPos[field]=getValue(getScalar(startPos[field])+distance);endPos[field]='-='+distance+'px';}}
+if(effect==='none'){F._afterZoomIn();}else{F.wrap.css(startPos).animate(endPos,{duration:current.nextSpeed,easing:current.nextEasing,complete:F._afterZoomIn});}},changeOut:function(){var previous=F.previous,effect=previous.prevEffect,endPos={opacity:0.1},direction=F.direction,distance=200;if(effect==='elastic'){endPos[direction==='down'||direction==='up'?'top':'left']=(direction==='up'||direction==='left'?'-':'+')+'='+distance+'px';}
+previous.wrap.animate(endPos,{duration:effect==='none'?0:previous.prevSpeed,easing:previous.prevEasing,complete:function(){$(this).trigger('onReset').remove();}});}};F.helpers.overlay={defaults:{closeClick:true,speedOut:200,showEarly:true,css:{},locked:!isTouch,fixed:true},overlay:null,fixed:false,el:$('html'),create:function(opts){opts=$.extend({},this.defaults,opts);if(this.overlay){this.close();}
+this.overlay=$('<div class="fancybox-overlay"></div>').appendTo(F.coming?F.coming.parent:opts.parent);this.fixed=false;if(opts.fixed&&F.defaults.fixed){this.overlay.addClass('fancybox-overlay-fixed');this.fixed=true;}},open:function(opts){var that=this;opts=$.extend({},this.defaults,opts);if(this.overlay){this.overlay.unbind('.overlay').width('auto').height('auto');}else{this.create(opts);}
+if(!this.fixed){W.bind('resize.overlay',$.proxy(this.update,this));this.update();}
+if(opts.closeClick){this.overlay.bind('click.overlay',function(e){if($(e.target).hasClass('fancybox-overlay')){if(F.isActive){F.close();}else{that.close();}
+return false;}});}
+this.overlay.css(opts.css).show();},close:function(){var scrollV,scrollH;W.unbind('resize.overlay');if(this.el.hasClass('fancybox-lock')){$('.fancybox-margin').removeClass('fancybox-margin');scrollV=W.scrollTop();scrollH=W.scrollLeft();this.el.removeClass('fancybox-lock');W.scrollTop(scrollV).scrollLeft(scrollH);}
+$('.fancybox-overlay').remove().hide();$('body').removeClass("noscroll");$.extend(this,{overlay:null,fixed:false});},update:function(){var width='100%',offsetWidth;this.overlay.width(width).height('100%');if(IE){offsetWidth=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);if(D.width()>offsetWidth){width=D.width();}}else if(D.width()>W.width()){width=D.width();}
+this.overlay.width(width).height(D.height());},onReady:function(opts,obj){var overlay=this.overlay;$('.fancybox-overlay').stop(true,true);if(!overlay){this.create(opts);}
+if(opts.locked&&this.fixed&&obj.fixed){if(!overlay){this.margin=D.height()>W.height()?$('html').css('margin-right').replace("px",""):false;}
+obj.locked=this.overlay.append(obj.wrap);obj.fixed=false;}
+if(opts.showEarly===true){this.beforeShow.apply(this,arguments);}},beforeShow:function(opts,obj){var scrollV,scrollH;if(obj.locked){if(this.margin!==false){$('*').filter(function(){return($(this).css('position')==='fixed'&&!$(this).hasClass("fancybox-overlay")&&!$(this).hasClass("fancybox-wrap"));}).addClass('fancybox-margin');this.el.addClass('fancybox-margin');}
+scrollV=W.scrollTop();scrollH=W.scrollLeft();this.el.addClass('fancybox-lock');W.scrollTop(scrollV).scrollLeft(scrollH);}
+this.open(opts);},onUpdate:function(){if(!this.fixed){this.update();}},afterClose:function(opts){if(this.overlay&&!F.coming){this.overlay.fadeOut(opts.speedOut,$.proxy(this.close,this));}}};F.helpers.title={defaults:{type:'float',position:'bottom'},beforeShow:function(opts){var current=F.current,text=current.title,type=opts.type,title,target;if($.isFunction(text)){text=text.call(current.element,current);}
+if(!isString(text)||$.trim(text)===''){return;}
+title=$('<div class="fancybox-title fancybox-title-'+type+'-wrap">'+text+'</div>');switch(type){case'inside':target=F.skin;break;case'outside':target=F.wrap;break;case'over':target=F.inner;break;default:target=F.skin;title.appendTo('body');if(IE){title.width(title.width());}
+title.wrapInner('<span class="child"></span>');F.current.margin[2]+=Math.abs(getScalar(title.css('margin-bottom')));break;}
+title[(opts.position==='top'?'prependTo':'appendTo')](target);}};$.fn.fancybox=function(options){var index,that=$(this),selector=this.selector||'',run=function(e){var what=$(this).blur(),idx=index,relType,relVal;if(!(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&!what.is('.fancybox-wrap')){relType=options.groupAttr||'data-fancybox-group';relVal=what.attr(relType);if(!relVal){relType='rel';relVal=what.get(0)[relType];}
+if(relVal&&relVal!==''&&relVal!=='nofollow'){what=selector.length?$(selector):that;what=what.filter('['+relType+'="'+relVal+'"]');idx=what.index(this);}
+options.index=idx;if(F.open(what,options)!==false){e.preventDefault();}}};options=options||{};index=options.index||0;if(!selector||options.live===false){that.unbind('click.fb-start').bind('click.fb-start',run);}else{D.undelegate(selector,'click.fb-start').delegate(selector+":not('.fancybox-item, .fancybox-nav')",'click.fb-start',run);}
+this.filter('[data-fancybox-start=1]').trigger('click');return this;};D.ready(function(){var w1,w2;if($.scrollbarWidth===undefined){$.scrollbarWidth=function(){var parent=$('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo('body'),child=parent.children(),width=child.innerWidth()-child.height(99).innerWidth();parent.remove();return width;};}
+if($.support.fixedPosition===undefined){$.support.fixedPosition=(function(){var elem=$('<div style="position:fixed;top:20px;"></div>').appendTo('body'),fixed=(elem[0].offsetTop===20||elem[0].offsetTop===15);elem.remove();return fixed;}());}
+$.extend(F.defaults,{scrollbarWidth:$.scrollbarWidth(),fixed:$.support.fixedPosition,parent:$('body')});w1=$(window).width();H.addClass('fancybox-lock-test');w2=$(window).width();H.removeClass('fancybox-lock-test');$("<style type='text/css'>.fancybox-margin{margin-right:"+(w2-w1)+"px;}</style>").appendTo("head");});}(window,document,jQuery));;
+/*
+ * Buttons helper for fancyBox
+ * version: 1.0.5 (Mon, 15 Oct 2012)
+ * @requires fancyBox v2.0 or later
+ *
+ * Usage:
+ *     $(".fancybox").fancybox({
+ *         helpers : {
+ *             buttons: {
+ *                 position : 'top'
+ *             }
+ *         }
+ *     });
+ *
+ */
+(function($){var F=$.fancybox;F.helpers.buttons={defaults:{skipSingle:false,position:'top',tpl:'<div id="fancybox-buttons"><ul><li><a class="btnPrev" title="Previous" href="javascript:;"></a></li><li><a class="btnPlay" title="Start slideshow" href="javascript:;"></a></li><li><a class="btnNext" title="Next" href="javascript:;"></a></li><li><a class="btnToggle" title="Toggle size" href="javascript:;"></a></li><li><a class="btnClose" title="Close" href="javascript:;"></a></li></ul></div>'},list:null,buttons:null,beforeLoad:function(opts,obj){if(opts.skipSingle&&obj.group.length<2){obj.helpers.buttons=false;obj.closeBtn=true;return;}
+obj.margin[opts.position==='bottom'?2:0]+=30;},onPlayStart:function(){if(this.buttons){this.buttons.play.attr('title','Pause slideshow').addClass('btnPlayOn');}},onPlayEnd:function(){if(this.buttons){this.buttons.play.attr('title','Start slideshow').removeClass('btnPlayOn');}},afterShow:function(opts,obj){var buttons=this.buttons;if(!buttons){this.list=$(opts.tpl).addClass(opts.position).appendTo('body');buttons={prev:this.list.find('.btnPrev').click(F.prev),next:this.list.find('.btnNext').click(F.next),play:this.list.find('.btnPlay').click(F.play),toggle:this.list.find('.btnToggle').click(F.toggle),close:this.list.find('.btnClose').click(F.close)}}
+if(obj.index>0||obj.loop){buttons.prev.removeClass('btnDisabled');}else{buttons.prev.addClass('btnDisabled');}
+if(obj.loop||obj.index<obj.group.length-1){buttons.next.removeClass('btnDisabled');buttons.play.removeClass('btnDisabled');}else{buttons.next.addClass('btnDisabled');buttons.play.addClass('btnDisabled');}
+this.buttons=buttons;this.onUpdate(opts,obj);},onUpdate:function(opts,obj){var toggle;if(!this.buttons){return;}
+toggle=this.buttons.toggle.removeClass('btnDisabled btnToggleOn');if(obj.canShrink){toggle.addClass('btnToggleOn');}else if(!obj.canExpand){toggle.addClass('btnDisabled');}},beforeClose:function(){if(this.list){this.list.remove();}
+this.list=null;this.buttons=null;}};}(jQuery));
diff --git a/js/bootstrap.min.js b/js/bootstrap.min.js
new file mode 100644
index 0000000..b04a0e8
--- /dev/null
+++ b/js/bootstrap.min.js
@@ -0,0 +1,6 @@
+/*!
+ * Bootstrap v3.1.1 (http://getbootstrap.com)
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.isLoading=!1};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",f.resetText||d.data("resetText",d[e]()),d[e](f[b]||this.options[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},b.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});return this.$element.trigger(j),j.isDefaultPrevented()?void 0:(this.sliding=!0,f&&this.pause(),this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")),f&&this.cycle(),this)};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("collapse in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);!e&&f.toggle&&"show"==c&&(c=!c),e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(b){a(d).remove(),a(e).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown",h),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=" li:not(.divider):visible a",i=f.find("[role=menu]"+h+", [role=listbox]"+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j<i.length-1&&j++,~j||(j=0),i.eq(j).focus()}}}};var g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.dropdown.Constructor=f,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu], [role=listbox]",f.prototype.keydown)}(jQuery),+function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show().scrollTop(0),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="modal-backdrop '+c+'" />').appendTo(document.body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());c.is("a")&&b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this,d=this.tip();this.setContent(),this.options.animation&&d.addClass("fade");var e="function"==typeof this.options.placement?this.options.placement.call(this,d[0],this.$element[0]):this.options.placement,f=/\s?auto?\s?/i,g=f.test(e);g&&(e=e.replace(f,"")||"top"),d.detach().css({top:0,left:0,display:"block"}).addClass(e),this.options.container?d.appendTo(this.options.container):d.insertAfter(this.$element);var h=this.getPosition(),i=d[0].offsetWidth,j=d[0].offsetHeight;if(g){var k=this.$element.parent(),l=e,m=document.documentElement.scrollTop||document.body.scrollTop,n="body"==this.options.container?window.innerWidth:k.outerWidth(),o="body"==this.options.container?window.innerHeight:k.outerHeight(),p="body"==this.options.container?0:k.offset().left;e="bottom"==e&&h.top+h.height+j-m>o?"top":"top"==e&&h.top-m-j<0?"bottom":"right"==e&&h.right+i>n?"left":"left"==e&&h.left-i<p?"right":e,d.removeClass(l).addClass(e)}var q=this.getCalculatedOffset(e,h,i,j);this.applyPlacement(q,e),this.hoverState=null;var r=function(){c.$element.trigger("shown.bs."+c.type)};a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,r).emulateTransitionEnd(150):r()}},b.prototype.applyPlacement=function(b,c){var d,e=this.tip(),f=e[0].offsetWidth,g=e[0].offsetHeight,h=parseInt(e.css("margin-top"),10),i=parseInt(e.css("margin-left"),10);isNaN(h)&&(h=0),isNaN(i)&&(i=0),b.top=b.top+h,b.left=b.left+i,a.offset.setOffset(e[0],a.extend({using:function(a){e.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),e.addClass("in");var j=e[0].offsetWidth,k=e[0].offsetHeight;if("top"==c&&k!=g&&(d=!0,b.top=b.top+g-k),/bottom|top/.test(c)){var l=0;b.left<0&&(l=-2*b.left,b.left=0,e.offset(b),j=e[0].offsetWidth,k=e[0].offsetHeight),this.replaceArrow(l-f+j,j,"left")}else this.replaceArrow(k-g,k,"top");d&&e.offset(b)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.bs."+c.type)}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),this.hoverState=null,this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;(e||"destroy"!=c)&&(e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]())})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this}}(jQuery),+function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;(e||"destroy"!=c)&&(e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]())})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(a(c).is("body")?window:c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);{var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})}},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(b.RESET).addClass("affix");var a=this.$window.scrollTop(),c=this.$element.offset();return this.pinnedOffset=c.top-a},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"top"==this.affixed&&(e.top+=d),"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(b.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:c-h-this.$element.height()}))}}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery);
\ No newline at end of file
diff --git a/js/classie.js b/js/classie.js
new file mode 100644
index 0000000..a967554
--- /dev/null
+++ b/js/classie.js
@@ -0,0 +1,80 @@
+/*!
+ * classie - class helper functions
+ * from bonzo https://github.com/ded/bonzo
+ * 
+ * classie.has( elem, 'my-class' ) -> true/false
+ * classie.add( elem, 'my-new-class' )
+ * classie.remove( elem, 'my-unwanted-class' )
+ * classie.toggle( elem, 'my-class' )
+ */
+
+/*jshint browser: true, strict: true, undef: true */
+/*global define: false */
+
+( function( window ) {
+
+'use strict';
+
+// class helper functions from bonzo https://github.com/ded/bonzo
+
+function classReg( className ) {
+  return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
+}
+
+// classList support for class management
+// altho to be fair, the api sucks because it won't accept multiple classes at once
+var hasClass, addClass, removeClass;
+
+if ( 'classList' in document.documentElement ) {
+  hasClass = function( elem, c ) {
+    return elem.classList.contains( c );
+  };
+  addClass = function( elem, c ) {
+    elem.classList.add( c );
+  };
+  removeClass = function( elem, c ) {
+    elem.classList.remove( c );
+  };
+}
+else {
+  hasClass = function( elem, c ) {
+    return classReg( c ).test( elem.className );
+  };
+  addClass = function( elem, c ) {
+    if ( !hasClass( elem, c ) ) {
+      elem.className = elem.className + ' ' + c;
+    }
+  };
+  removeClass = function( elem, c ) {
+    elem.className = elem.className.replace( classReg( c ), ' ' );
+  };
+}
+
+function toggleClass( elem, c ) {
+  var fn = hasClass( elem, c ) ? removeClass : addClass;
+  fn( elem, c );
+}
+
+var classie = {
+  // full names
+  hasClass: hasClass,
+  addClass: addClass,
+  removeClass: removeClass,
+  toggleClass: toggleClass,
+  // short names
+  has: hasClass,
+  add: addClass,
+  remove: removeClass,
+  toggle: toggleClass
+};
+
+// transport
+if ( typeof define === 'function' && define.amd ) {
+  // AMD
+  define( classie );
+} else {
+  // browser global
+  window.classie = classie;
+}
+
+})( window );
diff --git a/js/comptearebours.js b/js/comptearebours.js
new file mode 100644
index 0000000..892f1d6
--- /dev/null
+++ b/js/comptearebours.js
@@ -0,0 +1,81 @@
+function compte_a_rebours()
+{
+    var compte_a_rebours = document.getElementById("compte_a_rebours");
+    var date_actuelle = new Date();
+    var date_evenement = new Date("Oct 31 13:00:00 2015");
+    var total_secondes = (date_evenement - date_actuelle) / 1000;
+    var prefixe ="Pierre et BenoÃ®t sont arrivÃ©s Ã  Fressin. ";
+
+    if (total_secondes < 0)
+    {
+        prefixe = "Pierre et BenoÃ®t sont arrivÃ©s Ã  Fressin. <br/> ArrivÃ©e il y a : "; // On modifie le prÃ©fixe si la diffÃ©rence est nÃ©gatif
+        total_secondes = Math.abs(total_secondes); // On ne garde que la valeur absolue
+        
+    }
+    if (total_secondes > 0)
+    {
+        var jours = Math.floor(total_secondes / (60 * 60 * 24));
+        var heures = Math.floor((total_secondes - (jours * 60 * 60 * 24)) / (60 * 60));
+        minutes = Math.floor((total_secondes - ((jours * 60 * 60 * 24 + heures * 60 * 60))) / 60);
+        secondes = Math.floor(total_secondes - ((jours * 60 * 60 * 24 + heures * 60 * 60 + minutes * 60)));
+
+        var et = "et";
+        var mot_jour = "jours,";
+        var mot_heure = "heures,";
+        var mot_minute = "minutes,";
+        var mot_seconde = "secondes";
+
+        if (jours == 0)
+        {
+            jours = '';
+            mot_jour = '';
+        }
+        else if (jours == 1)
+        {
+            mot_jour = "jour,";
+        }
+
+        if (heures == 0)
+        {
+            heures = '';
+            mot_heure = '';
+        }
+        else if (heures == 1)
+        {
+            mot_heure = "heure,";
+        }
+
+        if (minutes == 0)
+        {
+            minutes = '';
+            mot_minute = '';
+        }
+        else if (minutes == 1)
+        {
+            mot_minute = "minute,";
+        }
+
+        if (secondes == 0)
+        {
+            secondes = '';
+            mot_seconde = '';
+            et = '';
+        }
+        else if (secondes == 1)
+        {
+            mot_seconde = "seconde";
+        }
+
+        if (minutes == 0 && heures == 0 && jours == 0)
+        {
+            et = "";
+        }
+
+        compte_a_rebours.innerHTML = prefixe + jours + ' ' + mot_jour + ' ' + heures + ' ' + mot_heure + ' ' + minutes + ' ' + mot_minute + ' ' + et + ' ' + secondes + ' ' + mot_seconde;
+    }
+    else
+    {
+        compte_a_rebours.innerHTML = 'Compte Ã  rebours terminÃ©.';
+    }
+    var actualisation = setTimeout("compte_a_rebours();", 1000);
+}
diff --git a/js/comptearebours_en.js b/js/comptearebours_en.js
new file mode 100644
index 0000000..0613e64
--- /dev/null
+++ b/js/comptearebours_en.js
@@ -0,0 +1,79 @@
+function compte_a_rebours()
+{
+    var compte_a_rebours = document.getElementById("compte_a_rebours");
+    var date_actuelle = new Date();
+    var date_evenement = new Date("Oct 31 13:00:00 2015");
+    var total_secondes = (date_evenement - date_actuelle) / 1000;
+    var prefixe = "Pierre and BenoÃ®t are arrived in Fressin, France. <br/> Expected arrival in: ";
+    if (total_secondes < 0)
+    {
+        prefixe = "Arrived in Fressin <br/> since: "  ;//On modifie le prÃ©fixe si la diffÃ©rence est nÃ©gatif
+        total_secondes = Math.abs(total_secondes); // On ne garde que la valeur absolue
+    }
+    if (total_secondes > 0)
+    {
+        var jours = Math.floor(total_secondes / (60 * 60 * 24));
+        var heures = Math.floor((total_secondes - (jours * 60 * 60 * 24)) / (60 * 60));
+        minutes = Math.floor((total_secondes - ((jours * 60 * 60 * 24 + heures * 60 * 60))) / 60);
+        secondes = Math.floor(total_secondes - ((jours * 60 * 60 * 24 + heures * 60 * 60 + minutes * 60)));
+
+        var et = "and";
+        var mot_jour = "days,";
+        var mot_heure = "hours,";
+        var mot_minute = "minutes,";
+        var mot_seconde = "seconds";
+
+        if (jours == 0)
+        {
+            jours = '';
+            mot_jour = '';
+        }
+        else if (jours == 1)
+        {
+            mot_jour = "day,";
+        }
+
+        if (heures == 0)
+        {
+            heures = '';
+            mot_heure = '';
+        }
+        else if (heures == 1)
+        {
+            mot_heure = "hour,";
+        }
+
+        if (minutes == 0)
+        {
+            minutes = '';
+            mot_minute = '';
+        }
+        else if (minutes == 1)
+        {
+            mot_minute = "minute,";
+        }
+
+        if (secondes == 0)
+        {
+            secondes = '';
+            mot_seconde = '';
+            et = '';
+        }
+        else if (secondes == 1)
+        {
+            mot_seconde = "second";
+        }
+
+        if (minutes == 0 && heures == 0 && jours == 0)
+        {
+            et = "";
+        }
+
+        compte_a_rebours.innerHTML = prefixe + jours + ' ' + mot_jour + ' ' + heures + ' ' + mot_heure + ' ' + minutes + ' ' + mot_minute + ' ' + et + ' ' + secondes + ' ' + mot_seconde;
+    }
+    else
+    {
+        compte_a_rebours.innerHTML = 'Time counter finished.';
+    }
+    var actualisation = setTimeout("compte_a_rebours();", 1000);
+}
diff --git a/js/jquery-1.8.2.js b/js/jquery-1.8.2.js
new file mode 100644
index 0000000..12c7797
--- /dev/null
+++ b/js/jquery-1.8.2.js
@@ -0,0 +1,9440 @@
+/*!
+ * jQuery JavaScript Library v1.8.2
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2012 jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: Thu Sep 20 2012 21:13:05 GMT-0400 (Eastern Daylight Time)
+ */
+(function( window, undefined ) {
+var
+	// A central reference to the root jQuery(document)
+	rootjQuery,
+
+	// The deferred used on DOM ready
+	readyList,
+
+	// Use the correct document accordingly with window argument (sandbox)
+	document = window.document,
+	location = window.location,
+	navigator = window.navigator,
+
+	// Map over jQuery in case of overwrite
+	_jQuery = window.jQuery,
+
+	// Map over the $ in case of overwrite
+	_$ = window.$,
+
+	// Save a reference to some core methods
+	core_push = Array.prototype.push,
+	core_slice = Array.prototype.slice,
+	core_indexOf = Array.prototype.indexOf,
+	core_toString = Object.prototype.toString,
+	core_hasOwn = Object.prototype.hasOwnProperty,
+	core_trim = String.prototype.trim,
+
+	// Define a local copy of jQuery
+	jQuery = function( selector, context ) {
+		// The jQuery object is actually just the init constructor 'enhanced'
+		return new jQuery.fn.init( selector, context, rootjQuery );
+	},
+
+	// Used for matching numbers
+	core_pnum = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,
+
+	// Used for detecting and trimming whitespace
+	core_rnotwhite = /\S/,
+	core_rspace = /\s+/,
+
+	// Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE)
+	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+
+	// A simple way to check for HTML strings
+	// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+	rquickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
+
+	// Match a standalone tag
+	rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
+
+	// JSON RegExp
+	rvalidchars = /^[\],:{}\s]*$/,
+	rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
+	rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
+	rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,
+
+	// Matches dashed string for camelizing
+	rmsPrefix = /^-ms-/,
+	rdashAlpha = /-([\da-z])/gi,
+
+	// Used by jQuery.camelCase as callback to replace()
+	fcamelCase = function( all, letter ) {
+		return ( letter + "" ).toUpperCase();
+	},
+
+	// The ready event handler and self cleanup method
+	DOMContentLoaded = function() {
+		if ( document.addEventListener ) {
+			document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
+			jQuery.ready();
+		} else if ( document.readyState === "complete" ) {
+			// we're here because readyState === "complete" in oldIE
+			// which is good enough for us to call the dom ready!
+			document.detachEvent( "onreadystatechange", DOMContentLoaded );
+			jQuery.ready();
+		}
+	},
+
+	// [[Class]] -> type pairs
+	class2type = {};
+
+jQuery.fn = jQuery.prototype = {
+	constructor: jQuery,
+	init: function( selector, context, rootjQuery ) {
+		var match, elem, ret, doc;
+
+		// Handle $(""), $(null), $(undefined), $(false)
+		if ( !selector ) {
+			return this;
+		}
+
+		// Handle $(DOMElement)
+		if ( selector.nodeType ) {
+			this.context = this[0] = selector;
+			this.length = 1;
+			return this;
+		}
+
+		// Handle HTML strings
+		if ( typeof selector === "string" ) {
+			if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
+				// Assume that strings that start and end with <> are HTML and skip the regex check
+				match = [ null, selector, null ];
+
+			} else {
+				match = rquickExpr.exec( selector );
+			}
+
+			// Match html or make sure no context is specified for #id
+			if ( match && (match[1] || !context) ) {
+
+				// HANDLE: $(html) -> $(array)
+				if ( match[1] ) {
+					context = context instanceof jQuery ? context[0] : context;
+					doc = ( context && context.nodeType ? context.ownerDocument || context : document );
+
+					// scripts is true for back-compat
+					selector = jQuery.parseHTML( match[1], doc, true );
+					if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
+						this.attr.call( selector, context, true );
+					}
+
+					return jQuery.merge( this, selector );
+
+				// HANDLE: $(#id)
+				} else {
+					elem = document.getElementById( match[2] );
+
+					// Check parentNode to catch when Blackberry 4.6 returns
+					// nodes that are no longer in the document #6963
+					if ( elem && elem.parentNode ) {
+						// Handle the case where IE and Opera return items
+						// by name instead of ID
+						if ( elem.id !== match[2] ) {
+							return rootjQuery.find( selector );
+						}
+
+						// Otherwise, we inject the element directly into the jQuery object
+						this.length = 1;
+						this[0] = elem;
+					}
+
+					this.context = document;
+					this.selector = selector;
+					return this;
+				}
+
+			// HANDLE: $(expr, $(...))
+			} else if ( !context || context.jquery ) {
+				return ( context || rootjQuery ).find( selector );
+
+			// HANDLE: $(expr, context)
+			// (which is just equivalent to: $(context).find(expr)
+			} else {
+				return this.constructor( context ).find( selector );
+			}
+
+		// HANDLE: $(function)
+		// Shortcut for document ready
+		} else if ( jQuery.isFunction( selector ) ) {
+			return rootjQuery.ready( selector );
+		}
+
+		if ( selector.selector !== undefined ) {
+			this.selector = selector.selector;
+			this.context = selector.context;
+		}
+
+		return jQuery.makeArray( selector, this );
+	},
+
+	// Start with an empty selector
+	selector: "",
+
+	// The current version of jQuery being used
+	jquery: "1.8.2",
+
+	// The default length of a jQuery object is 0
+	length: 0,
+
+	// The number of elements contained in the matched element set
+	size: function() {
+		return this.length;
+	},
+
+	toArray: function() {
+		return core_slice.call( this );
+	},
+
+	// Get the Nth element in the matched element set OR
+	// Get the whole matched element set as a clean array
+	get: function( num ) {
+		return num == null ?
+
+			// Return a 'clean' array
+			this.toArray() :
+
+			// Return just the object
+			( num < 0 ? this[ this.length + num ] : this[ num ] );
+	},
+
+	// Take an array of elements and push it onto the stack
+	// (returning the new matched element set)
+	pushStack: function( elems, name, selector ) {
+
+		// Build a new jQuery matched element set
+		var ret = jQuery.merge( this.constructor(), elems );
+
+		// Add the old object onto the stack (as a reference)
+		ret.prevObject = this;
+
+		ret.context = this.context;
+
+		if ( name === "find" ) {
+			ret.selector = this.selector + ( this.selector ? " " : "" ) + selector;
+		} else if ( name ) {
+			ret.selector = this.selector + "." + name + "(" + selector + ")";
+		}
+
+		// Return the newly-formed element set
+		return ret;
+	},
+
+	// Execute a callback for every element in the matched set.
+	// (You can seed the arguments with an array of args, but this is
+	// only used internally.)
+	each: function( callback, args ) {
+		return jQuery.each( this, callback, args );
+	},
+
+	ready: function( fn ) {
+		// Add the callback
+		jQuery.ready.promise().done( fn );
+
+		return this;
+	},
+
+	eq: function( i ) {
+		i = +i;
+		return i === -1 ?
+			this.slice( i ) :
+			this.slice( i, i + 1 );
+	},
+
+	first: function() {
+		return this.eq( 0 );
+	},
+
+	last: function() {
+		return this.eq( -1 );
+	},
+
+	slice: function() {
+		return this.pushStack( core_slice.apply( this, arguments ),
+			"slice", core_slice.call(arguments).join(",") );
+	},
+
+	map: function( callback ) {
+		return this.pushStack( jQuery.map(this, function( elem, i ) {
+			return callback.call( elem, i, elem );
+		}));
+	},
+
+	end: function() {
+		return this.prevObject || this.constructor(null);
+	},
+
+	// For internal use only.
+	// Behaves like an Array's method, not like a jQuery method.
+	push: core_push,
+	sort: [].sort,
+	splice: [].splice
+};
+
+// Give the init function the jQuery prototype for later instantiation
+jQuery.fn.init.prototype = jQuery.fn;
+
+jQuery.extend = jQuery.fn.extend = function() {
+	var options, name, src, copy, copyIsArray, clone,
+		target = arguments[0] || {},
+		i = 1,
+		length = arguments.length,
+		deep = false;
+
+	// Handle a deep copy situation
+	if ( typeof target === "boolean" ) {
+		deep = target;
+		target = arguments[1] || {};
+		// skip the boolean and the target
+		i = 2;
+	}
+
+	// Handle case when target is a string or something (possible in deep copy)
+	if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
+		target = {};
+	}
+
+	// extend jQuery itself if only one argument is passed
+	if ( length === i ) {
+		target = this;
+		--i;
+	}
+
+	for ( ; i < length; i++ ) {
+		// Only deal with non-null/undefined values
+		if ( (options = arguments[ i ]) != null ) {
+			// Extend the base object
+			for ( name in options ) {
+				src = target[ name ];
+				copy = options[ name ];
+
+				// Prevent never-ending loop
+				if ( target === copy ) {
+					continue;
+				}
+
+				// Recurse if we're merging plain objects or arrays
+				if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
+					if ( copyIsArray ) {
+						copyIsArray = false;
+						clone = src && jQuery.isArray(src) ? src : [];
+
+					} else {
+						clone = src && jQuery.isPlainObject(src) ? src : {};
+					}
+
+					// Never move original objects, clone them
+					target[ name ] = jQuery.extend( deep, clone, copy );
+
+				// Don't bring in undefined values
+				} else if ( copy !== undefined ) {
+					target[ name ] = copy;
+				}
+			}
+		}
+	}
+
+	// Return the modified object
+	return target;
+};
+
+jQuery.extend({
+	noConflict: function( deep ) {
+		if ( window.$ === jQuery ) {
+			window.$ = _$;
+		}
+
+		if ( deep && window.jQuery === jQuery ) {
+			window.jQuery = _jQuery;
+		}
+
+		return jQuery;
+	},
+
+	// Is the DOM ready to be used? Set to true once it occurs.
+	isReady: false,
+
+	// A counter to track how many items to wait for before
+	// the ready event fires. See #6781
+	readyWait: 1,
+
+	// Hold (or release) the ready event
+	holdReady: function( hold ) {
+		if ( hold ) {
+			jQuery.readyWait++;
+		} else {
+			jQuery.ready( true );
+		}
+	},
+
+	// Handle when the DOM is ready
+	ready: function( wait ) {
+
+		// Abort if there are pending holds or we're already ready
+		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+			return;
+		}
+
+		// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
+		if ( !document.body ) {
+			return setTimeout( jQuery.ready, 1 );
+		}
+
+		// Remember that the DOM is ready
+		jQuery.isReady = true;
+
+		// If a normal DOM Ready event fired, decrement, and wait if need be
+		if ( wait !== true && --jQuery.readyWait > 0 ) {
+			return;
+		}
+
+		// If there are functions bound, to execute
+		readyList.resolveWith( document, [ jQuery ] );
+
+		// Trigger any bound ready events
+		if ( jQuery.fn.trigger ) {
+			jQuery( document ).trigger("ready").off("ready");
+		}
+	},
+
+	// See test/unit/core.js for details concerning isFunction.
+	// Since version 1.3, DOM methods and functions like alert
+	// aren't supported. They return false on IE (#2968).
+	isFunction: function( obj ) {
+		return jQuery.type(obj) === "function";
+	},
+
+	isArray: Array.isArray || function( obj ) {
+		return jQuery.type(obj) === "array";
+	},
+
+	isWindow: function( obj ) {
+		return obj != null && obj == obj.window;
+	},
+
+	isNumeric: function( obj ) {
+		return !isNaN( parseFloat(obj) ) && isFinite( obj );
+	},
+
+	type: function( obj ) {
+		return obj == null ?
+			String( obj ) :
+			class2type[ core_toString.call(obj) ] || "object";
+	},
+
+	isPlainObject: function( obj ) {
+		// Must be an Object.
+		// Because of IE, we also have to check the presence of the constructor property.
+		// Make sure that DOM nodes and window objects don't pass through, as well
+		if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
+			return false;
+		}
+
+		try {
+			// Not own constructor property must be Object
+			if ( obj.constructor &&
+				!core_hasOwn.call(obj, "constructor") &&
+				!core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
+				return false;
+			}
+		} catch ( e ) {
+			// IE8,9 Will throw exceptions on certain host objects #9897
+			return false;
+		}
+
+		// Own properties are enumerated firstly, so to speed up,
+		// if last one is own, then all properties are own.
+
+		var key;
+		for ( key in obj ) {}
+
+		return key === undefined || core_hasOwn.call( obj, key );
+	},
+
+	isEmptyObject: function( obj ) {
+		var name;
+		for ( name in obj ) {
+			return false;
+		}
+		return true;
+	},
+
+	error: function( msg ) {
+		throw new Error( msg );
+	},
+
+	// data: string of html
+	// context (optional): If specified, the fragment will be created in this context, defaults to document
+	// scripts (optional): If true, will include scripts passed in the html string
+	parseHTML: function( data, context, scripts ) {
+		var parsed;
+		if ( !data || typeof data !== "string" ) {
+			return null;
+		}
+		if ( typeof context === "boolean" ) {
+			scripts = context;
+			context = 0;
+		}
+		context = context || document;
+
+		// Single tag
+		if ( (parsed = rsingleTag.exec( data )) ) {
+			return [ context.createElement( parsed[1] ) ];
+		}
+
+		parsed = jQuery.buildFragment( [ data ], context, scripts ? null : [] );
+		return jQuery.merge( [],
+			(parsed.cacheable ? jQuery.clone( parsed.fragment ) : parsed.fragment).childNodes );
+	},
+
+	parseJSON: function( data ) {
+		if ( !data || typeof data !== "string") {
+			return null;
+		}
+
+		// Make sure leading/trailing whitespace is removed (IE can't handle it)
+		data = jQuery.trim( data );
+
+		// Attempt to parse using the native JSON parser first
+		if ( window.JSON && window.JSON.parse ) {
+			return window.JSON.parse( data );
+		}
+
+		// Make sure the incoming data is actual JSON
+		// Logic borrowed from http://json.org/json2.js
+		if ( rvalidchars.test( data.replace( rvalidescape, "@" )
+			.replace( rvalidtokens, "]" )
+			.replace( rvalidbraces, "")) ) {
+
+			return ( new Function( "return " + data ) )();
+
+		}
+		jQuery.error( "Invalid JSON: " + data );
+	},
+
+	// Cross-browser xml parsing
+	parseXML: function( data ) {
+		var xml, tmp;
+		if ( !data || typeof data !== "string" ) {
+			return null;
+		}
+		try {
+			if ( window.DOMParser ) { // Standard
+				tmp = new DOMParser();
+				xml = tmp.parseFromString( data , "text/xml" );
+			} else { // IE
+				xml = new ActiveXObject( "Microsoft.XMLDOM" );
+				xml.async = "false";
+				xml.loadXML( data );
+			}
+		} catch( e ) {
+			xml = undefined;
+		}
+		if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
+			jQuery.error( "Invalid XML: " + data );
+		}
+		return xml;
+	},
+
+	noop: function() {},
+
+	// Evaluates a script in a global context
+	// Workarounds based on findings by Jim Driscoll
+	// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
+	globalEval: function( data ) {
+		if ( data && core_rnotwhite.test( data ) ) {
+			// We use execScript on Internet Explorer
+			// We use an anonymous function so that context is window
+			// rather than jQuery in Firefox
+			( window.execScript || function( data ) {
+				window[ "eval" ].call( window, data );
+			} )( data );
+		}
+	},
+
+	// Convert dashed to camelCase; used by the css and data modules
+	// Microsoft forgot to hump their vendor prefix (#9572)
+	camelCase: function( string ) {
+		return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+	},
+
+	nodeName: function( elem, name ) {
+		return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+	},
+
+	// args is for internal usage only
+	each: function( obj, callback, args ) {
+		var name,
+			i = 0,
+			length = obj.length,
+			isObj = length === undefined || jQuery.isFunction( obj );
+
+		if ( args ) {
+			if ( isObj ) {
+				for ( name in obj ) {
+					if ( callback.apply( obj[ name ], args ) === false ) {
+						break;
+					}
+				}
+			} else {
+				for ( ; i < length; ) {
+					if ( callback.apply( obj[ i++ ], args ) === false ) {
+						break;
+					}
+				}
+			}
+
+		// A special, fast, case for the most common use of each
+		} else {
+			if ( isObj ) {
+				for ( name in obj ) {
+					if ( callback.call( obj[ name ], name, obj[ name ] ) === false ) {
+						break;
+					}
+				}
+			} else {
+				for ( ; i < length; ) {
+					if ( callback.call( obj[ i ], i, obj[ i++ ] ) === false ) {
+						break;
+					}
+				}
+			}
+		}
+
+		return obj;
+	},
+
+	// Use native String.trim function wherever possible
+	trim: core_trim && !core_trim.call("\uFEFF\xA0") ?
+		function( text ) {
+			return text == null ?
+				"" :
+				core_trim.call( text );
+		} :
+
+		// Otherwise use our own trimming functionality
+		function( text ) {
+			return text == null ?
+				"" :
+				( text + "" ).replace( rtrim, "" );
+		},
+
+	// results is for internal usage only
+	makeArray: function( arr, results ) {
+		var type,
+			ret = results || [];
+
+		if ( arr != null ) {
+			// The window, strings (and functions) also have 'length'
+			// Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930
+			type = jQuery.type( arr );
+
+			if ( arr.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( arr ) ) {
+				core_push.call( ret, arr );
+			} else {
+				jQuery.merge( ret, arr );
+			}
+		}
+
+		return ret;
+	},
+
+	inArray: function( elem, arr, i ) {
+		var len;
+
+		if ( arr ) {
+			if ( core_indexOf ) {
+				return core_indexOf.call( arr, elem, i );
+			}
+
+			len = arr.length;
+			i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;
+
+			for ( ; i < len; i++ ) {
+				// Skip accessing in sparse arrays
+				if ( i in arr && arr[ i ] === elem ) {
+					return i;
+				}
+			}
+		}
+
+		return -1;
+	},
+
+	merge: function( first, second ) {
+		var l = second.length,
+			i = first.length,
+			j = 0;
+
+		if ( typeof l === "number" ) {
+			for ( ; j < l; j++ ) {
+				first[ i++ ] = second[ j ];
+			}
+
+		} else {
+			while ( second[j] !== undefined ) {
+				first[ i++ ] = second[ j++ ];
+			}
+		}
+
+		first.length = i;
+
+		return first;
+	},
+
+	grep: function( elems, callback, inv ) {
+		var retVal,
+			ret = [],
+			i = 0,
+			length = elems.length;
+		inv = !!inv;
+
+		// Go through the array, only saving the items
+		// that pass the validator function
+		for ( ; i < length; i++ ) {
+			retVal = !!callback( elems[ i ], i );
+			if ( inv !== retVal ) {
+				ret.push( elems[ i ] );
+			}
+		}
+
+		return ret;
+	},
+
+	// arg is for internal usage only
+	map: function( elems, callback, arg ) {
+		var value, key,
+			ret = [],
+			i = 0,
+			length = elems.length,
+			// jquery objects are treated as arrays
+			isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ;
+
+		// Go through the array, translating each of the items to their
+		if ( isArray ) {
+			for ( ; i < length; i++ ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret[ ret.length ] = value;
+				}
+			}
+
+		// Go through every key on the object,
+		} else {
+			for ( key in elems ) {
+				value = callback( elems[ key ], key, arg );
+
+				if ( value != null ) {
+					ret[ ret.length ] = value;
+				}
+			}
+		}
+
+		// Flatten any nested arrays
+		return ret.concat.apply( [], ret );
+	},
+
+	// A global GUID counter for objects
+	guid: 1,
+
+	// Bind a function to a context, optionally partially applying any
+	// arguments.
+	proxy: function( fn, context ) {
+		var tmp, args, proxy;
+
+		if ( typeof context === "string" ) {
+			tmp = fn[ context ];
+			context = fn;
+			fn = tmp;
+		}
+
+		// Quick check to determine if target is callable, in the spec
+		// this throws a TypeError, but we will just return undefined.
+		if ( !jQuery.isFunction( fn ) ) {
+			return undefined;
+		}
+
+		// Simulated bind
+		args = core_slice.call( arguments, 2 );
+		proxy = function() {
+			return fn.apply( context, args.concat( core_slice.call( arguments ) ) );
+		};
+
+		// Set the guid of unique handler to the same of original handler, so it can be removed
+		proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+		return proxy;
+	},
+
+	// Multifunctional method to get and set values of a collection
+	// The value/s can optionally be executed if it's a function
+	access: function( elems, fn, key, value, chainable, emptyGet, pass ) {
+		var exec,
+			bulk = key == null,
+			i = 0,
+			length = elems.length;
+
+		// Sets many values
+		if ( key && typeof key === "object" ) {
+			for ( i in key ) {
+				jQuery.access( elems, fn, i, key[i], 1, emptyGet, value );
+			}
+			chainable = 1;
+
+		// Sets one value
+		} else if ( value !== undefined ) {
+			// Optionally, function values get executed if exec is true
+			exec = pass === undefined && jQuery.isFunction( value );
+
+			if ( bulk ) {
+				// Bulk operations only iterate when executing function values
+				if ( exec ) {
+					exec = fn;
+					fn = function( elem, key, value ) {
+						return exec.call( jQuery( elem ), value );
+					};
+
+				// Otherwise they run against the entire set
+				} else {
+					fn.call( elems, value );
+					fn = null;
+				}
+			}
+
+			if ( fn ) {
+				for (; i < length; i++ ) {
+					fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
+				}
+			}
+
+			chainable = 1;
+		}
+
+		return chainable ?
+			elems :
+
+			// Gets
+			bulk ?
+				fn.call( elems ) :
+				length ? fn( elems[0], key ) : emptyGet;
+	},
+
+	now: function() {
+		return ( new Date() ).getTime();
+	}
+});
+
+jQuery.ready.promise = function( obj ) {
+	if ( !readyList ) {
+
+		readyList = jQuery.Deferred();
+
+		// Catch cases where $(document).ready() is called after the browser event has already occurred.
+		// we once tried to use readyState "interactive" here, but it caused issues like the one
+		// discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
+		if ( document.readyState === "complete" ) {
+			// Handle it asynchronously to allow scripts the opportunity to delay ready
+			setTimeout( jQuery.ready, 1 );
+
+		// Standards-based browsers support DOMContentLoaded
+		} else if ( document.addEventListener ) {
+			// Use the handy event callback
+			document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
+
+			// A fallback to window.onload, that will always work
+			window.addEventListener( "load", jQuery.ready, false );
+
+		// If IE event model is used
+		} else {
+			// Ensure firing before onload, maybe late but safe also for iframes
+			document.attachEvent( "onreadystatechange", DOMContentLoaded );
+
+			// A fallback to window.onload, that will always work
+			window.attachEvent( "onload", jQuery.ready );
+
+			// If IE and not a frame
+			// continually check to see if the document is ready
+			var top = false;
+
+			try {
+				top = window.frameElement == null && document.documentElement;
+			} catch(e) {}
+
+			if ( top && top.doScroll ) {
+				(function doScrollCheck() {
+					if ( !jQuery.isReady ) {
+
+						try {
+							// Use the trick by Diego Perini
+							// http://javascript.nwbox.com/IEContentLoaded/
+							top.doScroll("left");
+						} catch(e) {
+							return setTimeout( doScrollCheck, 50 );
+						}
+
+						// and execute any waiting functions
+						jQuery.ready();
+					}
+				})();
+			}
+		}
+	}
+	return readyList.promise( obj );
+};
+
+// Populate the class2type map
+jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
+	class2type[ "[object " + name + "]" ] = name.toLowerCase();
+});
+
+// All jQuery objects should point back to these
+rootjQuery = jQuery(document);
+// String to Object options format cache
+var optionsCache = {};
+
+// Convert String-formatted options into Object-formatted ones and store in cache
+function createOptions( options ) {
+	var object = optionsCache[ options ] = {};
+	jQuery.each( options.split( core_rspace ), function( _, flag ) {
+		object[ flag ] = true;
+	});
+	return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ *	options: an optional list of space-separated options that will change how
+ *			the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ *	once:			will ensure the callback list can only be fired once (like a Deferred)
+ *
+ *	memory:			will keep track of previous values and will call any callback added
+ *					after the list has been fired right away with the latest "memorized"
+ *					values (like a Deferred)
+ *
+ *	unique:			will ensure a callback can only be added once (no duplicate in the list)
+ *
+ *	stopOnFalse:	interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+	// Convert options from String-formatted to Object-formatted if needed
+	// (we check in cache first)
+	options = typeof options === "string" ?
+		( optionsCache[ options ] || createOptions( options ) ) :
+		jQuery.extend( {}, options );
+
+	var // Last fire value (for non-forgettable lists)
+		memory,
+		// Flag to know if list was already fired
+		fired,
+		// Flag to know if list is currently firing
+		firing,
+		// First callback to fire (used internally by add and fireWith)
+		firingStart,
+		// End of the loop when firing
+		firingLength,
+		// Index of currently firing callback (modified by remove if needed)
+		firingIndex,
+		// Actual callback list
+		list = [],
+		// Stack of fire calls for repeatable lists
+		stack = !options.once && [],
+		// Fire callbacks
+		fire = function( data ) {
+			memory = options.memory && data;
+			fired = true;
+			firingIndex = firingStart || 0;
+			firingStart = 0;
+			firingLength = list.length;
+			firing = true;
+			for ( ; list && firingIndex < firingLength; firingIndex++ ) {
+				if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {
+					memory = false; // To prevent further calls using add
+					break;
+				}
+			}
+			firing = false;
+			if ( list ) {
+				if ( stack ) {
+					if ( stack.length ) {
+						fire( stack.shift() );
+					}
+				} else if ( memory ) {
+					list = [];
+				} else {
+					self.disable();
+				}
+			}
+		},
+		// Actual Callbacks object
+		self = {
+			// Add a callback or a collection of callbacks to the list
+			add: function() {
+				if ( list ) {
+					// First, we save the current length
+					var start = list.length;
+					(function add( args ) {
+						jQuery.each( args, function( _, arg ) {
+							var type = jQuery.type( arg );
+							if ( type === "function" && ( !options.unique || !self.has( arg ) ) ) {
+								list.push( arg );
+							} else if ( arg && arg.length && type !== "string" ) {
+								// Inspect recursively
+								add( arg );
+							}
+						});
+					})( arguments );
+					// Do we need to add the callbacks to the
+					// current firing batch?
+					if ( firing ) {
+						firingLength = list.length;
+					// With memory, if we're not firing then
+					// we should call right away
+					} else if ( memory ) {
+						firingStart = start;
+						fire( memory );
+					}
+				}
+				return this;
+			},
+			// Remove a callback from the list
+			remove: function() {
+				if ( list ) {
+					jQuery.each( arguments, function( _, arg ) {
+						var index;
+						while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+							list.splice( index, 1 );
+							// Handle firing indexes
+							if ( firing ) {
+								if ( index <= firingLength ) {
+									firingLength--;
+								}
+								if ( index <= firingIndex ) {
+									firingIndex--;
+								}
+							}
+						}
+					});
+				}
+				return this;
+			},
+			// Control if a given callback is in the list
+			has: function( fn ) {
+				return jQuery.inArray( fn, list ) > -1;
+			},
+			// Remove all callbacks from the list
+			empty: function() {
+				list = [];
+				return this;
+			},
+			// Have the list do nothing anymore
+			disable: function() {
+				list = stack = memory = undefined;
+				return this;
+			},
+			// Is it disabled?
+			disabled: function() {
+				return !list;
+			},
+			// Lock the list in its current state
+			lock: function() {
+				stack = undefined;
+				if ( !memory ) {
+					self.disable();
+				}
+				return this;
+			},
+			// Is it locked?
+			locked: function() {
+				return !stack;
+			},
+			// Call all callbacks with the given context and arguments
+			fireWith: function( context, args ) {
+				args = args || [];
+				args = [ context, args.slice ? args.slice() : args ];
+				if ( list && ( !fired || stack ) ) {
+					if ( firing ) {
+						stack.push( args );
+					} else {
+						fire( args );
+					}
+				}
+				return this;
+			},
+			// Call all the callbacks with the given arguments
+			fire: function() {
+				self.fireWith( this, arguments );
+				return this;
+			},
+			// To know if the callbacks have already been called at least once
+			fired: function() {
+				return !!fired;
+			}
+		};
+
+	return self;
+};
+jQuery.extend({
+
+	Deferred: function( func ) {
+		var tuples = [
+				// action, add listener, listener list, final state
+				[ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ],
+				[ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ],
+				[ "notify", "progress", jQuery.Callbacks("memory") ]
+			],
+			state = "pending",
+			promise = {
+				state: function() {
+					return state;
+				},
+				always: function() {
+					deferred.done( arguments ).fail( arguments );
+					return this;
+				},
+				then: function( /* fnDone, fnFail, fnProgress */ ) {
+					var fns = arguments;
+					return jQuery.Deferred(function( newDefer ) {
+						jQuery.each( tuples, function( i, tuple ) {
+							var action = tuple[ 0 ],
+								fn = fns[ i ];
+							// deferred[ done | fail | progress ] for forwarding actions to newDefer
+							deferred[ tuple[1] ]( jQuery.isFunction( fn ) ?
+								function() {
+									var returned = fn.apply( this, arguments );
+									if ( returned && jQuery.isFunction( returned.promise ) ) {
+										returned.promise()
+											.done( newDefer.resolve )
+											.fail( newDefer.reject )
+											.progress( newDefer.notify );
+									} else {
+										newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] );
+									}
+								} :
+								newDefer[ action ]
+							);
+						});
+						fns = null;
+					}).promise();
+				},
+				// Get a promise for this deferred
+				// If obj is provided, the promise aspect is added to the object
+				promise: function( obj ) {
+					return obj != null ? jQuery.extend( obj, promise ) : promise;
+				}
+			},
+			deferred = {};
+
+		// Keep pipe for back-compat
+		promise.pipe = promise.then;
+
+		// Add list-specific methods
+		jQuery.each( tuples, function( i, tuple ) {
+			var list = tuple[ 2 ],
+				stateString = tuple[ 3 ];
+
+			// promise[ done | fail | progress ] = list.add
+			promise[ tuple[1] ] = list.add;
+
+			// Handle state
+			if ( stateString ) {
+				list.add(function() {
+					// state = [ resolved | rejected ]
+					state = stateString;
+
+				// [ reject_list | resolve_list ].disable; progress_list.lock
+				}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
+			}
+
+			// deferred[ resolve | reject | notify ] = list.fire
+			deferred[ tuple[0] ] = list.fire;
+			deferred[ tuple[0] + "With" ] = list.fireWith;
+		});
+
+		// Make the deferred a promise
+		promise.promise( deferred );
+
+		// Call given func if any
+		if ( func ) {
+			func.call( deferred, deferred );
+		}
+
+		// All done!
+		return deferred;
+	},
+
+	// Deferred helper
+	when: function( subordinate /* , ..., subordinateN */ ) {
+		var i = 0,
+			resolveValues = core_slice.call( arguments ),
+			length = resolveValues.length,
+
+			// the count of uncompleted subordinates
+			remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,
+
+			// the master Deferred. If resolveValues consist of only a single Deferred, just use that.
+			deferred = remaining === 1 ? subordinate : jQuery.Deferred(),
+
+			// Update function for both resolve and progress values
+			updateFunc = function( i, contexts, values ) {
+				return function( value ) {
+					contexts[ i ] = this;
+					values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value;
+					if( values === progressValues ) {
+						deferred.notifyWith( contexts, values );
+					} else if ( !( --remaining ) ) {
+						deferred.resolveWith( contexts, values );
+					}
+				};
+			},
+
+			progressValues, progressContexts, resolveContexts;
+
+		// add listeners to Deferred subordinates; treat others as resolved
+		if ( length > 1 ) {
+			progressValues = new Array( length );
+			progressContexts = new Array( length );
+			resolveContexts = new Array( length );
+			for ( ; i < length; i++ ) {
+				if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
+					resolveValues[ i ].promise()
+						.done( updateFunc( i, resolveContexts, resolveValues ) )
+						.fail( deferred.reject )
+						.progress( updateFunc( i, progressContexts, progressValues ) );
+				} else {
+					--remaining;
+				}
+			}
+		}
+
+		// if we're not waiting on anything, resolve the master
+		if ( !remaining ) {
+			deferred.resolveWith( resolveContexts, resolveValues );
+		}
+
+		return deferred.promise();
+	}
+});
+jQuery.support = (function() {
+
+	var support,
+		all,
+		a,
+		select,
+		opt,
+		input,
+		fragment,
+		eventName,
+		i,
+		isSupported,
+		clickFn,
+		div = document.createElement("div");
+
+	// Preliminary tests
+	div.setAttribute( "className", "t" );
+	div.innerHTML = "  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";
+
+	all = div.getElementsByTagName("*");
+	a = div.getElementsByTagName("a")[ 0 ];
+	a.style.cssText = "top:1px;float:left;opacity:.5";
+
+	// Can't get basic test support
+	if ( !all || !all.length ) {
+		return {};
+	}
+
+	// First batch of supports tests
+	select = document.createElement("select");
+	opt = select.appendChild( document.createElement("option") );
+	input = div.getElementsByTagName("input")[ 0 ];
+
+	support = {
+		// IE strips leading whitespace when .innerHTML is used
+		leadingWhitespace: ( div.firstChild.nodeType === 3 ),
+
+		// Make sure that tbody elements aren't automatically inserted
+		// IE will insert them into empty tables
+		tbody: !div.getElementsByTagName("tbody").length,
+
+		// Make sure that link elements get serialized correctly by innerHTML
+		// This requires a wrapper element in IE
+		htmlSerialize: !!div.getElementsByTagName("link").length,
+
+		// Get the style information from getAttribute
+		// (IE uses .cssText instead)
+		style: /top/.test( a.getAttribute("style") ),
+
+		// Make sure that URLs aren't manipulated
+		// (IE normalizes it by default)
+		hrefNormalized: ( a.getAttribute("href") === "/a" ),
+
+		// Make sure that element opacity exists
+		// (IE uses filter instead)
+		// Use a regex to work around a WebKit issue. See #5145
+		opacity: /^0.5/.test( a.style.opacity ),
+
+		// Verify style float existence
+		// (IE uses styleFloat instead of cssFloat)
+		cssFloat: !!a.style.cssFloat,
+
+		// Make sure that if no value is specified for a checkbox
+		// that it defaults to "on".
+		// (WebKit defaults to "" instead)
+		checkOn: ( input.value === "on" ),
+
+		// Make sure that a selected-by-default option has a working selected property.
+		// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
+		optSelected: opt.selected,
+
+		// Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)
+		getSetAttribute: div.className !== "t",
+
+		// Tests for enctype support on a form(#6743)
+		enctype: !!document.createElement("form").enctype,
+
+		// Makes sure cloning an html5 element does not cause problems
+		// Where outerHTML is undefined, this still works
+		html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav></:nav>",
+
+		// jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode
+		boxModel: ( document.compatMode === "CSS1Compat" ),
+
+		// Will be defined later
+		submitBubbles: true,
+		changeBubbles: true,
+		focusinBubbles: false,
+		deleteExpando: true,
+		noCloneEvent: true,
+		inlineBlockNeedsLayout: false,
+		shrinkWrapBlocks: false,
+		reliableMarginRight: true,
+		boxSizingReliable: true,
+		pixelPosition: false
+	};
+
+	// Make sure checked status is properly cloned
+	input.checked = true;
+	support.noCloneChecked = input.cloneNode( true ).checked;
+
+	// Make sure that the options inside disabled selects aren't marked as disabled
+	// (WebKit marks them as disabled)
+	select.disabled = true;
+	support.optDisabled = !opt.disabled;
+
+	// Test to see if it's possible to delete an expando from an element
+	// Fails in Internet Explorer
+	try {
+		delete div.test;
+	} catch( e ) {
+		support.deleteExpando = false;
+	}
+
+	if ( !div.addEventListener && div.attachEvent && div.fireEvent ) {
+		div.attachEvent( "onclick", clickFn = function() {
+			// Cloning a node shouldn't copy over any
+			// bound event handlers (IE does this)
+			support.noCloneEvent = false;
+		});
+		div.cloneNode( true ).fireEvent("onclick");
+		div.detachEvent( "onclick", clickFn );
+	}
+
+	// Check if a radio maintains its value
+	// after being appended to the DOM
+	input = document.createElement("input");
+	input.value = "t";
+	input.setAttribute( "type", "radio" );
+	support.radioValue = input.value === "t";
+
+	input.setAttribute( "checked", "checked" );
+
+	// #11217 - WebKit loses check when the name is after the checked attribute
+	input.setAttribute( "name", "t" );
+
+	div.appendChild( input );
+	fragment = document.createDocumentFragment();
+	fragment.appendChild( div.lastChild );
+
+	// WebKit doesn't clone checked state correctly in fragments
+	support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+	// Check if a disconnected checkbox will retain its checked
+	// value of true after appended to the DOM (IE6/7)
+	support.appendChecked = input.checked;
+
+	fragment.removeChild( input );
+	fragment.appendChild( div );
+
+	// Technique from Juriy Zaytsev
+	// http://perfectionkills.com/detecting-event-support-without-browser-sniffing/
+	// We only care about the case where non-standard event systems
+	// are used, namely in IE. Short-circuiting here helps us to
+	// avoid an eval call (in setAttribute) which can cause CSP
+	// to go haywire. See: https://developer.mozilla.org/en/Security/CSP
+	if ( div.attachEvent ) {
+		for ( i in {
+			submit: true,
+			change: true,
+			focusin: true
+		}) {
+			eventName = "on" + i;
+			isSupported = ( eventName in div );
+			if ( !isSupported ) {
+				div.setAttribute( eventName, "return;" );
+				isSupported = ( typeof div[ eventName ] === "function" );
+			}
+			support[ i + "Bubbles" ] = isSupported;
+		}
+	}
+
+	// Run tests that need a body at doc ready
+	jQuery(function() {
+		var container, div, tds, marginDiv,
+			divReset = "padding:0;margin:0;border:0;display:block;overflow:hidden;",
+			body = document.getElementsByTagName("body")[0];
+
+		if ( !body ) {
+			// Return for frameset docs that don't have a body
+			return;
+		}
+
+		container = document.createElement("div");
+		container.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px";
+		body.insertBefore( container, body.firstChild );
+
+		// Construct the test element
+		div = document.createElement("div");
+		container.appendChild( div );
+
+		// Check if table cells still have offsetWidth/Height when they are set
+		// to display:none and there are still other visible table cells in a
+		// table row; if so, offsetWidth/Height are not reliable for use when
+		// determining if an element has been hidden directly using
+		// display:none (it is still safe to use offsets if a parent element is
+		// hidden; don safety goggles and see bug #4512 for more information).
+		// (only IE 8 fails this test)
+		div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>";
+		tds = div.getElementsByTagName("td");
+		tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none";
+		isSupported = ( tds[ 0 ].offsetHeight === 0 );
+
+		tds[ 0 ].style.display = "";
+		tds[ 1 ].style.display = "none";
+
+		// Check if empty table cells still have offsetWidth/Height
+		// (IE <= 8 fail this test)
+		support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 );
+
+		// Check box-sizing and margin behavior
+		div.innerHTML = "";
+		div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";
+		support.boxSizing = ( div.offsetWidth === 4 );
+		support.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 );
+
+		// NOTE: To any future maintainer, we've window.getComputedStyle
+		// because jsdom on node.js will break without it.
+		if ( window.getComputedStyle ) {
+			support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%";
+			support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px";
+
+			// Check if div with explicit width and no margin-right incorrectly
+			// gets computed margin-right based on width of container. For more
+			// info see bug #3333
+			// Fails in WebKit before Feb 2011 nightlies
+			// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
+			marginDiv = document.createElement("div");
+			marginDiv.style.cssText = div.style.cssText = divReset;
+			marginDiv.style.marginRight = marginDiv.style.width = "0";
+			div.style.width = "1px";
+			div.appendChild( marginDiv );
+			support.reliableMarginRight =
+				!parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight );
+		}
+
+		if ( typeof div.style.zoom !== "undefined" ) {
+			// Check if natively block-level elements act like inline-block
+			// elements when setting their display to 'inline' and giving
+			// them layout
+			// (IE < 8 does this)
+			div.innerHTML = "";
+			div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1";
+			support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 );
+
+			// Check if elements with layout shrink-wrap their children
+			// (IE 6 does this)
+			div.style.display = "block";
+			div.style.overflow = "visible";
+			div.innerHTML = "<div></div>";
+			div.firstChild.style.width = "5px";
+			support.shrinkWrapBlocks = ( div.offsetWidth !== 3 );
+
+			container.style.zoom = 1;
+		}
+
+		// Null elements to avoid leaks in IE
+		body.removeChild( container );
+		container = div = tds = marginDiv = null;
+	});
+
+	// Null elements to avoid leaks in IE
+	fragment.removeChild( div );
+	all = a = select = opt = input = fragment = div = null;
+
+	return support;
+})();
+var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
+	rmultiDash = /([A-Z])/g;
+
+jQuery.extend({
+	cache: {},
+
+	deletedIds: [],
+
+	// Remove at next major release (1.9/2.0)
+	uuid: 0,
+
+	// Unique for each copy of jQuery on the page
+	// Non-digits removed to match rinlinejQuery
+	expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ),
+
+	// The following elements throw uncatchable exceptions if you
+	// attempt to add expando properties to them.
+	noData: {
+		"embed": true,
+		// Ban all objects except for Flash (which handle expandos)
+		"object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
+		"applet": true
+	},
+
+	hasData: function( elem ) {
+		elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ];
+		return !!elem && !isEmptyDataObject( elem );
+	},
+
+	data: function( elem, name, data, pvt /* Internal Use Only */ ) {
+		if ( !jQuery.acceptData( elem ) ) {
+			return;
+		}
+
+		var thisCache, ret,
+			internalKey = jQuery.expando,
+			getByName = typeof name === "string",
+
+			// We have to handle DOM nodes and JS objects differently because IE6-7
+			// can't GC object references properly across the DOM-JS boundary
+			isNode = elem.nodeType,
+
+			// Only DOM nodes need the global jQuery cache; JS object data is
+			// attached directly to the object so GC can occur automatically
+			cache = isNode ? jQuery.cache : elem,
+
+			// Only defining an ID for JS objects if its cache already exists allows
+			// the code to shortcut on the same path as a DOM node with no cache
+			id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey;
+
+		// Avoid doing any more work than we need to when trying to get data on an
+		// object that has no data at all
+		if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) {
+			return;
+		}
+
+		if ( !id ) {
+			// Only DOM nodes need a new unique ID for each element since their data
+			// ends up in the global cache
+			if ( isNode ) {
+				elem[ internalKey ] = id = jQuery.deletedIds.pop() || jQuery.guid++;
+			} else {
+				id = internalKey;
+			}
+		}
+
+		if ( !cache[ id ] ) {
+			cache[ id ] = {};
+
+			// Avoids exposing jQuery metadata on plain JS objects when the object
+			// is serialized using JSON.stringify
+			if ( !isNode ) {
+				cache[ id ].toJSON = jQuery.noop;
+			}
+		}
+
+		// An object can be passed to jQuery.data instead of a key/value pair; this gets
+		// shallow copied over onto the existing cache
+		if ( typeof name === "object" || typeof name === "function" ) {
+			if ( pvt ) {
+				cache[ id ] = jQuery.extend( cache[ id ], name );
+			} else {
+				cache[ id ].data = jQuery.extend( cache[ id ].data, name );
+			}
+		}
+
+		thisCache = cache[ id ];
+
+		// jQuery data() is stored in a separate object inside the object's internal data
+		// cache in order to avoid key collisions between internal data and user-defined
+		// data.
+		if ( !pvt ) {
+			if ( !thisCache.data ) {
+				thisCache.data = {};
+			}
+
+			thisCache = thisCache.data;
+		}
+
+		if ( data !== undefined ) {
+			thisCache[ jQuery.camelCase( name ) ] = data;
+		}
+
+		// Check for both converted-to-camel and non-converted data property names
+		// If a data property was specified
+		if ( getByName ) {
+
+			// First Try to find as-is property data
+			ret = thisCache[ name ];
+
+			// Test for null|undefined property data
+			if ( ret == null ) {
+
+				// Try to find the camelCased property
+				ret = thisCache[ jQuery.camelCase( name ) ];
+			}
+		} else {
+			ret = thisCache;
+		}
+
+		return ret;
+	},
+
+	removeData: function( elem, name, pvt /* Internal Use Only */ ) {
+		if ( !jQuery.acceptData( elem ) ) {
+			return;
+		}
+
+		var thisCache, i, l,
+
+			isNode = elem.nodeType,
+
+			// See jQuery.data for more information
+			cache = isNode ? jQuery.cache : elem,
+			id = isNode ? elem[ jQuery.expando ] : jQuery.expando;
+
+		// If there is already no cache entry for this object, there is no
+		// purpose in continuing
+		if ( !cache[ id ] ) {
+			return;
+		}
+
+		if ( name ) {
+
+			thisCache = pvt ? cache[ id ] : cache[ id ].data;
+
+			if ( thisCache ) {
+
+				// Support array or space separated string names for data keys
+				if ( !jQuery.isArray( name ) ) {
+
+					// try the string as a key before any manipulation
+					if ( name in thisCache ) {
+						name = [ name ];
+					} else {
+
+						// split the camel cased version by spaces unless a key with the spaces exists
+						name = jQuery.camelCase( name );
+						if ( name in thisCache ) {
+							name = [ name ];
+						} else {
+							name = name.split(" ");
+						}
+					}
+				}
+
+				for ( i = 0, l = name.length; i < l; i++ ) {
+					delete thisCache[ name[i] ];
+				}
+
+				// If there is no data left in the cache, we want to continue
+				// and let the cache object itself get destroyed
+				if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) {
+					return;
+				}
+			}
+		}
+
+		// See jQuery.data for more information
+		if ( !pvt ) {
+			delete cache[ id ].data;
+
+			// Don't destroy the parent cache unless the internal data object
+			// had been the only thing left in it
+			if ( !isEmptyDataObject( cache[ id ] ) ) {
+				return;
+			}
+		}
+
+		// Destroy the cache
+		if ( isNode ) {
+			jQuery.cleanData( [ elem ], true );
+
+		// Use delete when supported for expandos or `cache` is not a window per isWindow (#10080)
+		} else if ( jQuery.support.deleteExpando || cache != cache.window ) {
+			delete cache[ id ];
+
+		// When all else fails, null
+		} else {
+			cache[ id ] = null;
+		}
+	},
+
+	// For internal use only.
+	_data: function( elem, name, data ) {
+		return jQuery.data( elem, name, data, true );
+	},
+
+	// A method for determining if a DOM node can handle the data expando
+	acceptData: function( elem ) {
+		var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ];
+
+		// nodes accept data unless otherwise specified; rejection can be conditional
+		return !noData || noData !== true && elem.getAttribute("classid") === noData;
+	}
+});
+
+jQuery.fn.extend({
+	data: function( key, value ) {
+		var parts, part, attr, name, l,
+			elem = this[0],
+			i = 0,
+			data = null;
+
+		// Gets all values
+		if ( key === undefined ) {
+			if ( this.length ) {
+				data = jQuery.data( elem );
+
+				if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) {
+					attr = elem.attributes;
+					for ( l = attr.length; i < l; i++ ) {
+						name = attr[i].name;
+
+						if ( !name.indexOf( "data-" ) ) {
+							name = jQuery.camelCase( name.substring(5) );
+
+							dataAttr( elem, name, data[ name ] );
+						}
+					}
+					jQuery._data( elem, "parsedAttrs", true );
+				}
+			}
+
+			return data;
+		}
+
+		// Sets multiple values
+		if ( typeof key === "object" ) {
+			return this.each(function() {
+				jQuery.data( this, key );
+			});
+		}
+
+		parts = key.split( ".", 2 );
+		parts[1] = parts[1] ? "." + parts[1] : "";
+		part = parts[1] + "!";
+
+		return jQuery.access( this, function( value ) {
+
+			if ( value === undefined ) {
+				data = this.triggerHandler( "getData" + part, [ parts[0] ] );
+
+				// Try to fetch any internally stored data first
+				if ( data === undefined && elem ) {
+					data = jQuery.data( elem, key );
+					data = dataAttr( elem, key, data );
+				}
+
+				return data === undefined && parts[1] ?
+					this.data( parts[0] ) :
+					data;
+			}
+
+			parts[1] = value;
+			this.each(function() {
+				var self = jQuery( this );
+
+				self.triggerHandler( "setData" + part, parts );
+				jQuery.data( this, key, value );
+				self.triggerHandler( "changeData" + part, parts );
+			});
+		}, null, value, arguments.length > 1, null, false );
+	},
+
+	removeData: function( key ) {
+		return this.each(function() {
+			jQuery.removeData( this, key );
+		});
+	}
+});
+
+function dataAttr( elem, key, data ) {
+	// If nothing was found internally, try to fetch any
+	// data from the HTML5 data-* attribute
+	if ( data === undefined && elem.nodeType === 1 ) {
+
+		var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
+
+		data = elem.getAttribute( name );
+
+		if ( typeof data === "string" ) {
+			try {
+				data = data === "true" ? true :
+				data === "false" ? false :
+				data === "null" ? null :
+				// Only convert to a number if it doesn't change the string
+				+data + "" === data ? +data :
+				rbrace.test( data ) ? jQuery.parseJSON( data ) :
+					data;
+			} catch( e ) {}
+
+			// Make sure we set the data so it isn't changed later
+			jQuery.data( elem, key, data );
+
+		} else {
+			data = undefined;
+		}
+	}
+
+	return data;
+}
+
+// checks a cache object for emptiness
+function isEmptyDataObject( obj ) {
+	var name;
+	for ( name in obj ) {
+
+		// if the public data object is empty, the private is still empty
+		if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) {
+			continue;
+		}
+		if ( name !== "toJSON" ) {
+			return false;
+		}
+	}
+
+	return true;
+}
+jQuery.extend({
+	queue: function( elem, type, data ) {
+		var queue;
+
+		if ( elem ) {
+			type = ( type || "fx" ) + "queue";
+			queue = jQuery._data( elem, type );
+
+			// Speed up dequeue by getting out quickly if this is just a lookup
+			if ( data ) {
+				if ( !queue || jQuery.isArray(data) ) {
+					queue = jQuery._data( elem, type, jQuery.makeArray(data) );
+				} else {
+					queue.push( data );
+				}
+			}
+			return queue || [];
+		}
+	},
+
+	dequeue: function( elem, type ) {
+		type = type || "fx";
+
+		var queue = jQuery.queue( elem, type ),
+			startLength = queue.length,
+			fn = queue.shift(),
+			hooks = jQuery._queueHooks( elem, type ),
+			next = function() {
+				jQuery.dequeue( elem, type );
+			};
+
+		// If the fx queue is dequeued, always remove the progress sentinel
+		if ( fn === "inprogress" ) {
+			fn = queue.shift();
+			startLength--;
+		}
+
+		if ( fn ) {
+
+			// Add a progress sentinel to prevent the fx queue from being
+			// automatically dequeued
+			if ( type === "fx" ) {
+				queue.unshift( "inprogress" );
+			}
+
+			// clear up the last queue stop function
+			delete hooks.stop;
+			fn.call( elem, next, hooks );
+		}
+
+		if ( !startLength && hooks ) {
+			hooks.empty.fire();
+		}
+	},
+
+	// not intended for public consumption - generates a queueHooks object, or returns the current one
+	_queueHooks: function( elem, type ) {
+		var key = type + "queueHooks";
+		return jQuery._data( elem, key ) || jQuery._data( elem, key, {
+			empty: jQuery.Callbacks("once memory").add(function() {
+				jQuery.removeData( elem, type + "queue", true );
+				jQuery.removeData( elem, key, true );
+			})
+		});
+	}
+});
+
+jQuery.fn.extend({
+	queue: function( type, data ) {
+		var setter = 2;
+
+		if ( typeof type !== "string" ) {
+			data = type;
+			type = "fx";
+			setter--;
+		}
+
+		if ( arguments.length < setter ) {
+			return jQuery.queue( this[0], type );
+		}
+
+		return data === undefined ?
+			this :
+			this.each(function() {
+				var queue = jQuery.queue( this, type, data );
+
+				// ensure a hooks for this queue
+				jQuery._queueHooks( this, type );
+
+				if ( type === "fx" && queue[0] !== "inprogress" ) {
+					jQuery.dequeue( this, type );
+				}
+			});
+	},
+	dequeue: function( type ) {
+		return this.each(function() {
+			jQuery.dequeue( this, type );
+		});
+	},
+	// Based off of the plugin by Clint Helfers, with permission.
+	// http://blindsignals.com/index.php/2009/07/jquery-delay/
+	delay: function( time, type ) {
+		time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+		type = type || "fx";
+
+		return this.queue( type, function( next, hooks ) {
+			var timeout = setTimeout( next, time );
+			hooks.stop = function() {
+				clearTimeout( timeout );
+			};
+		});
+	},
+	clearQueue: function( type ) {
+		return this.queue( type || "fx", [] );
+	},
+	// Get a promise resolved when queues of a certain type
+	// are emptied (fx is the type by default)
+	promise: function( type, obj ) {
+		var tmp,
+			count = 1,
+			defer = jQuery.Deferred(),
+			elements = this,
+			i = this.length,
+			resolve = function() {
+				if ( !( --count ) ) {
+					defer.resolveWith( elements, [ elements ] );
+				}
+			};
+
+		if ( typeof type !== "string" ) {
+			obj = type;
+			type = undefined;
+		}
+		type = type || "fx";
+
+		while( i-- ) {
+			tmp = jQuery._data( elements[ i ], type + "queueHooks" );
+			if ( tmp && tmp.empty ) {
+				count++;
+				tmp.empty.add( resolve );
+			}
+		}
+		resolve();
+		return defer.promise( obj );
+	}
+});
+var nodeHook, boolHook, fixSpecified,
+	rclass = /[\t\r\n]/g,
+	rreturn = /\r/g,
+	rtype = /^(?:button|input)$/i,
+	rfocusable = /^(?:button|input|object|select|textarea)$/i,
+	rclickable = /^a(?:rea|)$/i,
+	rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
+	getSetAttribute = jQuery.support.getSetAttribute;
+
+jQuery.fn.extend({
+	attr: function( name, value ) {
+		return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 );
+	},
+
+	removeAttr: function( name ) {
+		return this.each(function() {
+			jQuery.removeAttr( this, name );
+		});
+	},
+
+	prop: function( name, value ) {
+		return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 );
+	},
+
+	removeProp: function( name ) {
+		name = jQuery.propFix[ name ] || name;
+		return this.each(function() {
+			// try/catch handles cases where IE balks (such as removing a property on window)
+			try {
+				this[ name ] = undefined;
+				delete this[ name ];
+			} catch( e ) {}
+		});
+	},
+
+	addClass: function( value ) {
+		var classNames, i, l, elem,
+			setClass, c, cl;
+
+		if ( jQuery.isFunction( value ) ) {
+			return this.each(function( j ) {
+				jQuery( this ).addClass( value.call(this, j, this.className) );
+			});
+		}
+
+		if ( value && typeof value === "string" ) {
+			classNames = value.split( core_rspace );
+
+			for ( i = 0, l = this.length; i < l; i++ ) {
+				elem = this[ i ];
+
+				if ( elem.nodeType === 1 ) {
+					if ( !elem.className && classNames.length === 1 ) {
+						elem.className = value;
+
+					} else {
+						setClass = " " + elem.className + " ";
+
+						for ( c = 0, cl = classNames.length; c < cl; c++ ) {
+							if ( setClass.indexOf( " " + classNames[ c ] + " " ) < 0 ) {
+								setClass += classNames[ c ] + " ";
+							}
+						}
+						elem.className = jQuery.trim( setClass );
+					}
+				}
+			}
+		}
+
+		return this;
+	},
+
+	removeClass: function( value ) {
+		var removes, className, elem, c, cl, i, l;
+
+		if ( jQuery.isFunction( value ) ) {
+			return this.each(function( j ) {
+				jQuery( this ).removeClass( value.call(this, j, this.className) );
+			});
+		}
+		if ( (value && typeof value === "string") || value === undefined ) {
+			removes = ( value || "" ).split( core_rspace );
+
+			for ( i = 0, l = this.length; i < l; i++ ) {
+				elem = this[ i ];
+				if ( elem.nodeType === 1 && elem.className ) {
+
+					className = (" " + elem.className + " ").replace( rclass, " " );
+
+					// loop over each item in the removal list
+					for ( c = 0, cl = removes.length; c < cl; c++ ) {
+						// Remove until there is nothing to remove,
+						while ( className.indexOf(" " + removes[ c ] + " ") >= 0 ) {
+							className = className.replace( " " + removes[ c ] + " " , " " );
+						}
+					}
+					elem.className = value ? jQuery.trim( className ) : "";
+				}
+			}
+		}
+
+		return this;
+	},
+
+	toggleClass: function( value, stateVal ) {
+		var type = typeof value,
+			isBool = typeof stateVal === "boolean";
+
+		if ( jQuery.isFunction( value ) ) {
+			return this.each(function( i ) {
+				jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );
+			});
+		}
+
+		return this.each(function() {
+			if ( type === "string" ) {
+				// toggle individual class names
+				var className,
+					i = 0,
+					self = jQuery( this ),
+					state = stateVal,
+					classNames = value.split( core_rspace );
+
+				while ( (className = classNames[ i++ ]) ) {
+					// check each className given, space separated list
+					state = isBool ? state : !self.hasClass( className );
+					self[ state ? "addClass" : "removeClass" ]( className );
+				}
+
+			} else if ( type === "undefined" || type === "boolean" ) {
+				if ( this.className ) {
+					// store className if set
+					jQuery._data( this, "__className__", this.className );
+				}
+
+				// toggle whole className
+				this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || "";
+			}
+		});
+	},
+
+	hasClass: function( selector ) {
+		var className = " " + selector + " ",
+			i = 0,
+			l = this.length;
+		for ( ; i < l; i++ ) {
+			if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) {
+				return true;
+			}
+		}
+
+		return false;
+	},
+
+	val: function( value ) {
+		var hooks, ret, isFunction,
+			elem = this[0];
+
+		if ( !arguments.length ) {
+			if ( elem ) {
+				hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+
+				if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
+					return ret;
+				}
+
+				ret = elem.value;
+
+				return typeof ret === "string" ?
+					// handle most common string cases
+					ret.replace(rreturn, "") :
+					// handle cases where value is null/undef or number
+					ret == null ? "" : ret;
+			}
+
+			return;
+		}
+
+		isFunction = jQuery.isFunction( value );
+
+		return this.each(function( i ) {
+			var val,
+				self = jQuery(this);
+
+			if ( this.nodeType !== 1 ) {
+				return;
+			}
+
+			if ( isFunction ) {
+				val = value.call( this, i, self.val() );
+			} else {
+				val = value;
+			}
+
+			// Treat null/undefined as ""; convert numbers to string
+			if ( val == null ) {
+				val = "";
+			} else if ( typeof val === "number" ) {
+				val += "";
+			} else if ( jQuery.isArray( val ) ) {
+				val = jQuery.map(val, function ( value ) {
+					return value == null ? "" : value + "";
+				});
+			}
+
+			hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+
+			// If set returns undefined, fall back to normal setting
+			if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
+				this.value = val;
+			}
+		});
+	}
+});
+
+jQuery.extend({
+	valHooks: {
+		option: {
+			get: function( elem ) {
+				// attributes.value is undefined in Blackberry 4.7 but
+				// uses .value. See #6932
+				var val = elem.attributes.value;
+				return !val || val.specified ? elem.value : elem.text;
+			}
+		},
+		select: {
+			get: function( elem ) {
+				var value, i, max, option,
+					index = elem.selectedIndex,
+					values = [],
+					options = elem.options,
+					one = elem.type === "select-one";
+
+				// Nothing was selected
+				if ( index < 0 ) {
+					return null;
+				}
+
+				// Loop through all the selected options
+				i = one ? index : 0;
+				max = one ? index + 1 : options.length;
+				for ( ; i < max; i++ ) {
+					option = options[ i ];
+
+					// Don't return options that are disabled or in a disabled optgroup
+					if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) &&
+							(!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {
+
+						// Get the specific value for the option
+						value = jQuery( option ).val();
+
+						// We don't need an array for one selects
+						if ( one ) {
+							return value;
+						}
+
+						// Multi-Selects return an array
+						values.push( value );
+					}
+				}
+
+				// Fixes Bug #2551 -- select.val() broken in IE after form.reset()
+				if ( one && !values.length && options.length ) {
+					return jQuery( options[ index ] ).val();
+				}
+
+				return values;
+			},
+
+			set: function( elem, value ) {
+				var values = jQuery.makeArray( value );
+
+				jQuery(elem).find("option").each(function() {
+					this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
+				});
+
+				if ( !values.length ) {
+					elem.selectedIndex = -1;
+				}
+				return values;
+			}
+		}
+	},
+
+	// Unused in 1.8, left in so attrFn-stabbers won't die; remove in 1.9
+	attrFn: {},
+
+	attr: function( elem, name, value, pass ) {
+		var ret, hooks, notxml,
+			nType = elem.nodeType;
+
+		// don't get/set attributes on text, comment and attribute nodes
+		if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
+			return;
+		}
+
+		if ( pass && jQuery.isFunction( jQuery.fn[ name ] ) ) {
+			return jQuery( elem )[ name ]( value );
+		}
+
+		// Fallback to prop when attributes are not supported
+		if ( typeof elem.getAttribute === "undefined" ) {
+			return jQuery.prop( elem, name, value );
+		}
+
+		notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
+
+		// All attributes are lowercase
+		// Grab necessary hook if one is defined
+		if ( notxml ) {
+			name = name.toLowerCase();
+			hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook );
+		}
+
+		if ( value !== undefined ) {
+
+			if ( value === null ) {
+				jQuery.removeAttr( elem, name );
+				return;
+
+			} else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) {
+				return ret;
+
+			} else {
+				elem.setAttribute( name, value + "" );
+				return value;
+			}
+
+		} else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) {
+			return ret;
+
+		} else {
+
+			ret = elem.getAttribute( name );
+
+			// Non-existent attributes return null, we normalize to undefined
+			return ret === null ?
+				undefined :
+				ret;
+		}
+	},
+
+	removeAttr: function( elem, value ) {
+		var propName, attrNames, name, isBool,
+			i = 0;
+
+		if ( value && elem.nodeType === 1 ) {
+
+			attrNames = value.split( core_rspace );
+
+			for ( ; i < attrNames.length; i++ ) {
+				name = attrNames[ i ];
+
+				if ( name ) {
+					propName = jQuery.propFix[ name ] || name;
+					isBool = rboolean.test( name );
+
+					// See #9699 for explanation of this approach (setting first, then removal)
+					// Do not do this for boolean attributes (see #10870)
+					if ( !isBool ) {
+						jQuery.attr( elem, name, "" );
+					}
+					elem.removeAttribute( getSetAttribute ? name : propName );
+
+					// Set corresponding property to false for boolean attributes
+					if ( isBool && propName in elem ) {
+						elem[ propName ] = false;
+					}
+				}
+			}
+		}
+	},
+
+	attrHooks: {
+		type: {
+			set: function( elem, value ) {
+				// We can't allow the type property to be changed (since it causes problems in IE)
+				if ( rtype.test( elem.nodeName ) && elem.parentNode ) {
+					jQuery.error( "type property can't be changed" );
+				} else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) {
+					// Setting the type on a radio button after the value resets the value in IE6-9
+					// Reset value to it's default in case type is set after value
+					// This is for element creation
+					var val = elem.value;
+					elem.setAttribute( "type", value );
+					if ( val ) {
+						elem.value = val;
+					}
+					return value;
+				}
+			}
+		},
+		// Use the value property for back compat
+		// Use the nodeHook for button elements in IE6/7 (#1954)
+		value: {
+			get: function( elem, name ) {
+				if ( nodeHook && jQuery.nodeName( elem, "button" ) ) {
+					return nodeHook.get( elem, name );
+				}
+				return name in elem ?
+					elem.value :
+					null;
+			},
+			set: function( elem, value, name ) {
+				if ( nodeHook && jQuery.nodeName( elem, "button" ) ) {
+					return nodeHook.set( elem, value, name );
+				}
+				// Does not return so that setAttribute is also used
+				elem.value = value;
+			}
+		}
+	},
+
+	propFix: {
+		tabindex: "tabIndex",
+		readonly: "readOnly",
+		"for": "htmlFor",
+		"class": "className",
+		maxlength: "maxLength",
+		cellspacing: "cellSpacing",
+		cellpadding: "cellPadding",
+		rowspan: "rowSpan",
+		colspan: "colSpan",
+		usemap: "useMap",
+		frameborder: "frameBorder",
+		contenteditable: "contentEditable"
+	},
+
+	prop: function( elem, name, value ) {
+		var ret, hooks, notxml,
+			nType = elem.nodeType;
+
+		// don't get/set properties on text, comment and attribute nodes
+		if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
+			return;
+		}
+
+		notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
+
+		if ( notxml ) {
+			// Fix name and attach hooks
+			name = jQuery.propFix[ name ] || name;
+			hooks = jQuery.propHooks[ name ];
+		}
+
+		if ( value !== undefined ) {
+			if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
+				return ret;
+
+			} else {
+				return ( elem[ name ] = value );
+			}
+
+		} else {
+			if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
+				return ret;
+
+			} else {
+				return elem[ name ];
+			}
+		}
+	},
+
+	propHooks: {
+		tabIndex: {
+			get: function( elem ) {
+				// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
+				// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+				var attributeNode = elem.getAttributeNode("tabindex");
+
+				return attributeNode && attributeNode.specified ?
+					parseInt( attributeNode.value, 10 ) :
+					rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
+						0 :
+						undefined;
+			}
+		}
+	}
+});
+
+// Hook for boolean attributes
+boolHook = {
+	get: function( elem, name ) {
+		// Align boolean attributes with corresponding properties
+		// Fall back to attribute presence where some booleans are not supported
+		var attrNode,
+			property = jQuery.prop( elem, name );
+		return property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?
+			name.toLowerCase() :
+			undefined;
+	},
+	set: function( elem, value, name ) {
+		var propName;
+		if ( value === false ) {
+			// Remove boolean attributes when set to false
+			jQuery.removeAttr( elem, name );
+		} else {
+			// value is true since we know at this point it's type boolean and not false
+			// Set boolean attributes to the same name and set the DOM property
+			propName = jQuery.propFix[ name ] || name;
+			if ( propName in elem ) {
+				// Only set the IDL specifically if it already exists on the element
+				elem[ propName ] = true;
+			}
+
+			elem.setAttribute( name, name.toLowerCase() );
+		}
+		return name;
+	}
+};
+
+// IE6/7 do not support getting/setting some attributes with get/setAttribute
+if ( !getSetAttribute ) {
+
+	fixSpecified = {
+		name: true,
+		id: true,
+		coords: true
+	};
+
+	// Use this for any attribute in IE6/7
+	// This fixes almost every IE6/7 issue
+	nodeHook = jQuery.valHooks.button = {
+		get: function( elem, name ) {
+			var ret;
+			ret = elem.getAttributeNode( name );
+			return ret && ( fixSpecified[ name ] ? ret.value !== "" : ret.specified ) ?
+				ret.value :
+				undefined;
+		},
+		set: function( elem, value, name ) {
+			// Set the existing or create a new attribute node
+			var ret = elem.getAttributeNode( name );
+			if ( !ret ) {
+				ret = document.createAttribute( name );
+				elem.setAttributeNode( ret );
+			}
+			return ( ret.value = value + "" );
+		}
+	};
+
+	// Set width and height to auto instead of 0 on empty string( Bug #8150 )
+	// This is for removals
+	jQuery.each([ "width", "height" ], function( i, name ) {
+		jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
+			set: function( elem, value ) {
+				if ( value === "" ) {
+					elem.setAttribute( name, "auto" );
+					return value;
+				}
+			}
+		});
+	});
+
+	// Set contenteditable to false on removals(#10429)
+	// Setting to empty string throws an error as an invalid value
+	jQuery.attrHooks.contenteditable = {
+		get: nodeHook.get,
+		set: function( elem, value, name ) {
+			if ( value === "" ) {
+				value = "false";
+			}
+			nodeHook.set( elem, value, name );
+		}
+	};
+}
+
+
+// Some attributes require a special call on IE
+if ( !jQuery.support.hrefNormalized ) {
+	jQuery.each([ "href", "src", "width", "height" ], function( i, name ) {
+		jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
+			get: function( elem ) {
+				var ret = elem.getAttribute( name, 2 );
+				return ret === null ? undefined : ret;
+			}
+		});
+	});
+}
+
+if ( !jQuery.support.style ) {
+	jQuery.attrHooks.style = {
+		get: function( elem ) {
+			// Return undefined in the case of empty string
+			// Normalize to lowercase since IE uppercases css property names
+			return elem.style.cssText.toLowerCase() || undefined;
+		},
+		set: function( elem, value ) {
+			return ( elem.style.cssText = value + "" );
+		}
+	};
+}
+
+// Safari mis-reports the default selected property of an option
+// Accessing the parent's selectedIndex property fixes it
+if ( !jQuery.support.optSelected ) {
+	jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, {
+		get: function( elem ) {
+			var parent = elem.parentNode;
+
+			if ( parent ) {
+				parent.selectedIndex;
+
+				// Make sure that it also works with optgroups, see #5701
+				if ( parent.parentNode ) {
+					parent.parentNode.selectedIndex;
+				}
+			}
+			return null;
+		}
+	});
+}
+
+// IE6/7 call enctype encoding
+if ( !jQuery.support.enctype ) {
+	jQuery.propFix.enctype = "encoding";
+}
+
+// Radios and checkboxes getter/setter
+if ( !jQuery.support.checkOn ) {
+	jQuery.each([ "radio", "checkbox" ], function() {
+		jQuery.valHooks[ this ] = {
+			get: function( elem ) {
+				// Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
+				return elem.getAttribute("value") === null ? "on" : elem.value;
+			}
+		};
+	});
+}
+jQuery.each([ "radio", "checkbox" ], function() {
+	jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], {
+		set: function( elem, value ) {
+			if ( jQuery.isArray( value ) ) {
+				return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );
+			}
+		}
+	});
+});
+var rformElems = /^(?:textarea|input|select)$/i,
+	rtypenamespace = /^([^\.]*|)(?:\.(.+)|)$/,
+	rhoverHack = /(?:^|\s)hover(\.\S+|)\b/,
+	rkeyEvent = /^key/,
+	rmouseEvent = /^(?:mouse|contextmenu)|click/,
+	rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
+	hoverHack = function( events ) {
+		return jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
+	};
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+	add: function( elem, types, handler, data, selector ) {
+
+		var elemData, eventHandle, events,
+			t, tns, type, namespaces, handleObj,
+			handleObjIn, handlers, special;
+
+		// Don't attach events to noData or text/comment nodes (allow plain objects tho)
+		if ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) {
+			return;
+		}
+
+		// Caller can pass in an object of custom data in lieu of the handler
+		if ( handler.handler ) {
+			handleObjIn = handler;
+			handler = handleObjIn.handler;
+			selector = handleObjIn.selector;
+		}
+
+		// Make sure that the handler has a unique ID, used to find/remove it later
+		if ( !handler.guid ) {
+			handler.guid = jQuery.guid++;
+		}
+
+		// Init the element's event structure and main handler, if this is the first
+		events = elemData.events;
+		if ( !events ) {
+			elemData.events = events = {};
+		}
+		eventHandle = elemData.handle;
+		if ( !eventHandle ) {
+			elemData.handle = eventHandle = function( e ) {
+				// Discard the second event of a jQuery.event.trigger() and
+				// when an event is called after a page has unloaded
+				return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ?
+					jQuery.event.dispatch.apply( eventHandle.elem, arguments ) :
+					undefined;
+			};
+			// Add elem as a property of the handle fn to prevent a memory leak with IE non-native events
+			eventHandle.elem = elem;
+		}
+
+		// Handle multiple events separated by a space
+		// jQuery(...).bind("mouseover mouseout", fn);
+		types = jQuery.trim( hoverHack(types) ).split( " " );
+		for ( t = 0; t < types.length; t++ ) {
+
+			tns = rtypenamespace.exec( types[t] ) || [];
+			type = tns[1];
+			namespaces = ( tns[2] || "" ).split( "." ).sort();
+
+			// If event changes its type, use the special event handlers for the changed type
+			special = jQuery.event.special[ type ] || {};
+
+			// If selector defined, determine special event api type, otherwise given type
+			type = ( selector ? special.delegateType : special.bindType ) || type;
+
+			// Update special based on newly reset type
+			special = jQuery.event.special[ type ] || {};
+
+			// handleObj is passed to all event handlers
+			handleObj = jQuery.extend({
+				type: type,
+				origType: tns[1],
+				data: data,
+				handler: handler,
+				guid: handler.guid,
+				selector: selector,
+				needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+				namespace: namespaces.join(".")
+			}, handleObjIn );
+
+			// Init the event handler queue if we're the first
+			handlers = events[ type ];
+			if ( !handlers ) {
+				handlers = events[ type ] = [];
+				handlers.delegateCount = 0;
+
+				// Only use addEventListener/attachEvent if the special events handler returns false
+				if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+					// Bind the global event handler to the element
+					if ( elem.addEventListener ) {
+						elem.addEventListener( type, eventHandle, false );
+
+					} else if ( elem.attachEvent ) {
+						elem.attachEvent( "on" + type, eventHandle );
+					}
+				}
+			}
+
+			if ( special.add ) {
+				special.add.call( elem, handleObj );
+
+				if ( !handleObj.handler.guid ) {
+					handleObj.handler.guid = handler.guid;
+				}
+			}
+
+			// Add to the element's handler list, delegates in front
+			if ( selector ) {
+				handlers.splice( handlers.delegateCount++, 0, handleObj );
+			} else {
+				handlers.push( handleObj );
+			}
+
+			// Keep track of which events have ever been used, for event optimization
+			jQuery.event.global[ type ] = true;
+		}
+
+		// Nullify elem to prevent memory leaks in IE
+		elem = null;
+	},
+
+	global: {},
+
+	// Detach an event or set of events from an element
+	remove: function( elem, types, handler, selector, mappedTypes ) {
+
+		var t, tns, type, origType, namespaces, origCount,
+			j, events, special, eventType, handleObj,
+			elemData = jQuery.hasData( elem ) && jQuery._data( elem );
+
+		if ( !elemData || !(events = elemData.events) ) {
+			return;
+		}
+
+		// Once for each type.namespace in types; type may be omitted
+		types = jQuery.trim( hoverHack( types || "" ) ).split(" ");
+		for ( t = 0; t < types.length; t++ ) {
+			tns = rtypenamespace.exec( types[t] ) || [];
+			type = origType = tns[1];
+			namespaces = tns[2];
+
+			// Unbind all events (on this namespace, if provided) for the element
+			if ( !type ) {
+				for ( type in events ) {
+					jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+				}
+				continue;
+			}
+
+			special = jQuery.event.special[ type ] || {};
+			type = ( selector? special.delegateType : special.bindType ) || type;
+			eventType = events[ type ] || [];
+			origCount = eventType.length;
+			namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null;
+
+			// Remove matching events
+			for ( j = 0; j < eventType.length; j++ ) {
+				handleObj = eventType[ j ];
+
+				if ( ( mappedTypes || origType === handleObj.origType ) &&
+					 ( !handler || handler.guid === handleObj.guid ) &&
+					 ( !namespaces || namespaces.test( handleObj.namespace ) ) &&
+					 ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
+					eventType.splice( j--, 1 );
+
+					if ( handleObj.selector ) {
+						eventType.delegateCount--;
+					}
+					if ( special.remove ) {
+						special.remove.call( elem, handleObj );
+					}
+				}
+			}
+
+			// Remove generic event handler if we removed something and no more handlers exist
+			// (avoids potential for endless recursion during removal of special event handlers)
+			if ( eventType.length === 0 && origCount !== eventType.length ) {
+				if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+					jQuery.removeEvent( elem, type, elemData.handle );
+				}
+
+				delete events[ type ];
+			}
+		}
+
+		// Remove the expando if it's no longer used
+		if ( jQuery.isEmptyObject( events ) ) {
+			delete elemData.handle;
+
+			// removeData also checks for emptiness and clears the expando if empty
+			// so use it instead of delete
+			jQuery.removeData( elem, "events", true );
+		}
+	},
+
+	// Events that are safe to short-circuit if no handlers are attached.
+	// Native DOM events should not be added, they may have inline handlers.
+	customEvent: {
+		"getData": true,
+		"setData": true,
+		"changeData": true
+	},
+
+	trigger: function( event, data, elem, onlyHandlers ) {
+		// Don't do events on text and comment nodes
+		if ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) {
+			return;
+		}
+
+		// Event object or event type
+		var cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType,
+			type = event.type || event,
+			namespaces = [];
+
+		// focus/blur morphs to focusin/out; ensure we're not firing them right now
+		if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+			return;
+		}
+
+		if ( type.indexOf( "!" ) >= 0 ) {
+			// Exclusive events trigger only for the exact event (no namespaces)
+			type = type.slice(0, -1);
+			exclusive = true;
+		}
+
+		if ( type.indexOf( "." ) >= 0 ) {
+			// Namespaced trigger; create a regexp to match event type in handle()
+			namespaces = type.split(".");
+			type = namespaces.shift();
+			namespaces.sort();
+		}
+
+		if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) {
+			// No jQuery handlers for this event type, and it can't have inline handlers
+			return;
+		}
+
+		// Caller can pass in an Event, Object, or just an event type string
+		event = typeof event === "object" ?
+			// jQuery.Event object
+			event[ jQuery.expando ] ? event :
+			// Object literal
+			new jQuery.Event( type, event ) :
+			// Just the event type (string)
+			new jQuery.Event( type );
+
+		event.type = type;
+		event.isTrigger = true;
+		event.exclusive = exclusive;
+		event.namespace = namespaces.join( "." );
+		event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)") : null;
+		ontype = type.indexOf( ":" ) < 0 ? "on" + type : "";
+
+		// Handle a global trigger
+		if ( !elem ) {
+
+			// TODO: Stop taunting the data cache; remove global events and always attach to document
+			cache = jQuery.cache;
+			for ( i in cache ) {
+				if ( cache[ i ].events && cache[ i ].events[ type ] ) {
+					jQuery.event.trigger( event, data, cache[ i ].handle.elem, true );
+				}
+			}
+			return;
+		}
+
+		// Clean up the event in case it is being reused
+		event.result = undefined;
+		if ( !event.target ) {
+			event.target = elem;
+		}
+
+		// Clone any incoming data and prepend the event, creating the handler arg list
+		data = data != null ? jQuery.makeArray( data ) : [];
+		data.unshift( event );
+
+		// Allow special events to draw outside the lines
+		special = jQuery.event.special[ type ] || {};
+		if ( special.trigger && special.trigger.apply( elem, data ) === false ) {
+			return;
+		}
+
+		// Determine event propagation path in advance, per W3C events spec (#9951)
+		// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+		eventPath = [[ elem, special.bindType || type ]];
+		if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
+
+			bubbleType = special.delegateType || type;
+			cur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode;
+			for ( old = elem; cur; cur = cur.parentNode ) {
+				eventPath.push([ cur, bubbleType ]);
+				old = cur;
+			}
+
+			// Only add window if we got to document (e.g., not plain obj or detached DOM)
+			if ( old === (elem.ownerDocument || document) ) {
+				eventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]);
+			}
+		}
+
+		// Fire handlers on the event path
+		for ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) {
+
+			cur = eventPath[i][0];
+			event.type = eventPath[i][1];
+
+			handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" );
+			if ( handle ) {
+				handle.apply( cur, data );
+			}
+			// Note that this is a bare JS function and not a jQuery handler
+			handle = ontype && cur[ ontype ];
+			if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) {
+				event.preventDefault();
+			}
+		}
+		event.type = type;
+
+		// If nobody prevented the default action, do it now
+		if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+			if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) &&
+				!(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) {
+
+				// Call a native DOM method on the target with the same name name as the event.
+				// Can't use an .isFunction() check here because IE6/7 fails that test.
+				// Don't do default actions on window, that's where global variables be (#6170)
+				// IE<9 dies on focus/blur to hidden element (#1486)
+				if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) {
+
+					// Don't re-trigger an onFOO event when we call its FOO() method
+					old = elem[ ontype ];
+
+					if ( old ) {
+						elem[ ontype ] = null;
+					}
+
+					// Prevent re-triggering of the same event, since we already bubbled it above
+					jQuery.event.triggered = type;
+					elem[ type ]();
+					jQuery.event.triggered = undefined;
+
+					if ( old ) {
+						elem[ ontype ] = old;
+					}
+				}
+			}
+		}
+
+		return event.result;
+	},
+
+	dispatch: function( event ) {
+
+		// Make a writable jQuery.Event from the native event object
+		event = jQuery.event.fix( event || window.event );
+
+		var i, j, cur, ret, selMatch, matched, matches, handleObj, sel, related,
+			handlers = ( (jQuery._data( this, "events" ) || {} )[ event.type ] || []),
+			delegateCount = handlers.delegateCount,
+			args = core_slice.call( arguments ),
+			run_all = !event.exclusive && !event.namespace,
+			special = jQuery.event.special[ event.type ] || {},
+			handlerQueue = [];
+
+		// Use the fix-ed jQuery.Event rather than the (read-only) native event
+		args[0] = event;
+		event.delegateTarget = this;
+
+		// Call the preDispatch hook for the mapped type, and let it bail if desired
+		if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+			return;
+		}
+
+		// Determine handlers that should run if there are delegated events
+		// Avoid non-left-click bubbling in Firefox (#3861)
+		if ( delegateCount && !(event.button && event.type === "click") ) {
+
+			for ( cur = event.target; cur != this; cur = cur.parentNode || this ) {
+
+				// Don't process clicks (ONLY) on disabled elements (#6911, #8165, #11382, #11764)
+				if ( cur.disabled !== true || event.type !== "click" ) {
+					selMatch = {};
+					matches = [];
+					for ( i = 0; i < delegateCount; i++ ) {
+						handleObj = handlers[ i ];
+						sel = handleObj.selector;
+
+						if ( selMatch[ sel ] === undefined ) {
+							selMatch[ sel ] = handleObj.needsContext ?
+								jQuery( sel, this ).index( cur ) >= 0 :
+								jQuery.find( sel, this, null, [ cur ] ).length;
+						}
+						if ( selMatch[ sel ] ) {
+							matches.push( handleObj );
+						}
+					}
+					if ( matches.length ) {
+						handlerQueue.push({ elem: cur, matches: matches });
+					}
+				}
+			}
+		}
+
+		// Add the remaining (directly-bound) handlers
+		if ( handlers.length > delegateCount ) {
+			handlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) });
+		}
+
+		// Run delegates first; they may want to stop propagation beneath us
+		for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) {
+			matched = handlerQueue[ i ];
+			event.currentTarget = matched.elem;
+
+			for ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) {
+				handleObj = matched.matches[ j ];
+
+				// Triggered event must either 1) be non-exclusive and have no namespace, or
+				// 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
+				if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) {
+
+					event.data = handleObj.data;
+					event.handleObj = handleObj;
+
+					ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
+							.apply( matched.elem, args );
+
+					if ( ret !== undefined ) {
+						event.result = ret;
+						if ( ret === false ) {
+							event.preventDefault();
+							event.stopPropagation();
+						}
+					}
+				}
+			}
+		}
+
+		// Call the postDispatch hook for the mapped type
+		if ( special.postDispatch ) {
+			special.postDispatch.call( this, event );
+		}
+
+		return event.result;
+	},
+
+	// Includes some event props shared by KeyEvent and MouseEvent
+	// *** attrChange attrName relatedNode srcElement  are not normalized, non-W3C, deprecated, will be removed in 1.8 ***
+	props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
+
+	fixHooks: {},
+
+	keyHooks: {
+		props: "char charCode key keyCode".split(" "),
+		filter: function( event, original ) {
+
+			// Add which for key events
+			if ( event.which == null ) {
+				event.which = original.charCode != null ? original.charCode : original.keyCode;
+			}
+
+			return event;
+		}
+	},
+
+	mouseHooks: {
+		props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
+		filter: function( event, original ) {
+			var eventDoc, doc, body,
+				button = original.button,
+				fromElement = original.fromElement;
+
+			// Calculate pageX/Y if missing and clientX/Y available
+			if ( event.pageX == null && original.clientX != null ) {
+				eventDoc = event.target.ownerDocument || document;
+				doc = eventDoc.documentElement;
+				body = eventDoc.body;
+
+				event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );
+				event.pageY = original.clientY + ( doc && doc.scrollTop  || body && body.scrollTop  || 0 ) - ( doc && doc.clientTop  || body && body.clientTop  || 0 );
+			}
+
+			// Add relatedTarget, if necessary
+			if ( !event.relatedTarget && fromElement ) {
+				event.relatedTarget = fromElement === event.target ? original.toElement : fromElement;
+			}
+
+			// Add which for click: 1 === left; 2 === middle; 3 === right
+			// Note: button is not normalized, so don't use it
+			if ( !event.which && button !== undefined ) {
+				event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
+			}
+
+			return event;
+		}
+	},
+
+	fix: function( event ) {
+		if ( event[ jQuery.expando ] ) {
+			return event;
+		}
+
+		// Create a writable copy of the event object and normalize some properties
+		var i, prop,
+			originalEvent = event,
+			fixHook = jQuery.event.fixHooks[ event.type ] || {},
+			copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
+
+		event = jQuery.Event( originalEvent );
+
+		for ( i = copy.length; i; ) {
+			prop = copy[ --i ];
+			event[ prop ] = originalEvent[ prop ];
+		}
+
+		// Fix target property, if necessary (#1925, IE 6/7/8 & Safari2)
+		if ( !event.target ) {
+			event.target = originalEvent.srcElement || document;
+		}
+
+		// Target should not be a text node (#504, Safari)
+		if ( event.target.nodeType === 3 ) {
+			event.target = event.target.parentNode;
+		}
+
+		// For mouse/key events, metaKey==false if it's undefined (#3368, #11328; IE6/7/8)
+		event.metaKey = !!event.metaKey;
+
+		return fixHook.filter? fixHook.filter( event, originalEvent ) : event;
+	},
+
+	special: {
+		load: {
+			// Prevent triggered image.load events from bubbling to window.load
+			noBubble: true
+		},
+
+		focus: {
+			delegateType: "focusin"
+		},
+		blur: {
+			delegateType: "focusout"
+		},
+
+		beforeunload: {
+			setup: function( data, namespaces, eventHandle ) {
+				// We only want to do this special case on windows
+				if ( jQuery.isWindow( this ) ) {
+					this.onbeforeunload = eventHandle;
+				}
+			},
+
+			teardown: function( namespaces, eventHandle ) {
+				if ( this.onbeforeunload === eventHandle ) {
+					this.onbeforeunload = null;
+				}
+			}
+		}
+	},
+
+	simulate: function( type, elem, event, bubble ) {
+		// Piggyback on a donor event to simulate a different one.
+		// Fake originalEvent to avoid donor's stopPropagation, but if the
+		// simulated event prevents default then we do the same on the donor.
+		var e = jQuery.extend(
+			new jQuery.Event(),
+			event,
+			{ type: type,
+				isSimulated: true,
+				originalEvent: {}
+			}
+		);
+		if ( bubble ) {
+			jQuery.event.trigger( e, null, elem );
+		} else {
+			jQuery.event.dispatch.call( elem, e );
+		}
+		if ( e.isDefaultPrevented() ) {
+			event.preventDefault();
+		}
+	}
+};
+
+// Some plugins are using, but it's undocumented/deprecated and will be removed.
+// The 1.7 special event interface should provide all the hooks needed now.
+jQuery.event.handle = jQuery.event.dispatch;
+
+jQuery.removeEvent = document.removeEventListener ?
+	function( elem, type, handle ) {
+		if ( elem.removeEventListener ) {
+			elem.removeEventListener( type, handle, false );
+		}
+	} :
+	function( elem, type, handle ) {
+		var name = "on" + type;
+
+		if ( elem.detachEvent ) {
+
+			// #8545, #7054, preventing memory leaks for custom events in IE6-8 â
+			// detachEvent needed property on element, by name of that event, to properly expose it to GC
+			if ( typeof elem[ name ] === "undefined" ) {
+				elem[ name ] = null;
+			}
+
+			elem.detachEvent( name, handle );
+		}
+	};
+
+jQuery.Event = function( src, props ) {
+	// Allow instantiation without the 'new' keyword
+	if ( !(this instanceof jQuery.Event) ) {
+		return new jQuery.Event( src, props );
+	}
+
+	// Event object
+	if ( src && src.type ) {
+		this.originalEvent = src;
+		this.type = src.type;
+
+		// Events bubbling up the document may have been marked as prevented
+		// by a handler lower down the tree; reflect the correct value.
+		this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false ||
+			src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;
+
+	// Event type
+	} else {
+		this.type = src;
+	}
+
+	// Put explicitly provided properties onto the event object
+	if ( props ) {
+		jQuery.extend( this, props );
+	}
+
+	// Create a timestamp if incoming event doesn't have one
+	this.timeStamp = src && src.timeStamp || jQuery.now();
+
+	// Mark it as fixed
+	this[ jQuery.expando ] = true;
+};
+
+function returnFalse() {
+	return false;
+}
+function returnTrue() {
+	return true;
+}
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+	preventDefault: function() {
+		this.isDefaultPrevented = returnTrue;
+
+		var e = this.originalEvent;
+		if ( !e ) {
+			return;
+		}
+
+		// if preventDefault exists run it on the original event
+		if ( e.preventDefault ) {
+			e.preventDefault();
+
+		// otherwise set the returnValue property of the original event to false (IE)
+		} else {
+			e.returnValue = false;
+		}
+	},
+	stopPropagation: function() {
+		this.isPropagationStopped = returnTrue;
+
+		var e = this.originalEvent;
+		if ( !e ) {
+			return;
+		}
+		// if stopPropagation exists run it on the original event
+		if ( e.stopPropagation ) {
+			e.stopPropagation();
+		}
+		// otherwise set the cancelBubble property of the original event to true (IE)
+		e.cancelBubble = true;
+	},
+	stopImmediatePropagation: function() {
+		this.isImmediatePropagationStopped = returnTrue;
+		this.stopPropagation();
+	},
+	isDefaultPrevented: returnFalse,
+	isPropagationStopped: returnFalse,
+	isImmediatePropagationStopped: returnFalse
+};
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+jQuery.each({
+	mouseenter: "mouseover",
+	mouseleave: "mouseout"
+}, function( orig, fix ) {
+	jQuery.event.special[ orig ] = {
+		delegateType: fix,
+		bindType: fix,
+
+		handle: function( event ) {
+			var ret,
+				target = this,
+				related = event.relatedTarget,
+				handleObj = event.handleObj,
+				selector = handleObj.selector;
+
+			// For mousenter/leave call the handler if related is outside the target.
+			// NB: No relatedTarget if the mouse left/entered the browser window
+			if ( !related || (related !== target && !jQuery.contains( target, related )) ) {
+				event.type = handleObj.origType;
+				ret = handleObj.handler.apply( this, arguments );
+				event.type = fix;
+			}
+			return ret;
+		}
+	};
+});
+
+// IE submit delegation
+if ( !jQuery.support.submitBubbles ) {
+
+	jQuery.event.special.submit = {
+		setup: function() {
+			// Only need this for delegated form submit events
+			if ( jQuery.nodeName( this, "form" ) ) {
+				return false;
+			}
+
+			// Lazy-add a submit handler when a descendant form may potentially be submitted
+			jQuery.event.add( this, "click._submit keypress._submit", function( e ) {
+				// Node name check avoids a VML-related crash in IE (#9807)
+				var elem = e.target,
+					form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined;
+				if ( form && !jQuery._data( form, "_submit_attached" ) ) {
+					jQuery.event.add( form, "submit._submit", function( event ) {
+						event._submit_bubble = true;
+					});
+					jQuery._data( form, "_submit_attached", true );
+				}
+			});
+			// return undefined since we don't need an event listener
+		},
+
+		postDispatch: function( event ) {
+			// If form was submitted by the user, bubble the event up the tree
+			if ( event._submit_bubble ) {
+				delete event._submit_bubble;
+				if ( this.parentNode && !event.isTrigger ) {
+					jQuery.event.simulate( "submit", this.parentNode, event, true );
+				}
+			}
+		},
+
+		teardown: function() {
+			// Only need this for delegated form submit events
+			if ( jQuery.nodeName( this, "form" ) ) {
+				return false;
+			}
+
+			// Remove delegated handlers; cleanData eventually reaps submit handlers attached above
+			jQuery.event.remove( this, "._submit" );
+		}
+	};
+}
+
+// IE change delegation and checkbox/radio fix
+if ( !jQuery.support.changeBubbles ) {
+
+	jQuery.event.special.change = {
+
+		setup: function() {
+
+			if ( rformElems.test( this.nodeName ) ) {
+				// IE doesn't fire change on a check/radio until blur; trigger it on click
+				// after a propertychange. Eat the blur-change in special.change.handle.
+				// This still fires onchange a second time for check/radio after blur.
+				if ( this.type === "checkbox" || this.type === "radio" ) {
+					jQuery.event.add( this, "propertychange._change", function( event ) {
+						if ( event.originalEvent.propertyName === "checked" ) {
+							this._just_changed = true;
+						}
+					});
+					jQuery.event.add( this, "click._change", function( event ) {
+						if ( this._just_changed && !event.isTrigger ) {
+							this._just_changed = false;
+						}
+						// Allow triggered, simulated change events (#11500)
+						jQuery.event.simulate( "change", this, event, true );
+					});
+				}
+				return false;
+			}
+			// Delegated event; lazy-add a change handler on descendant inputs
+			jQuery.event.add( this, "beforeactivate._change", function( e ) {
+				var elem = e.target;
+
+				if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "_change_attached" ) ) {
+					jQuery.event.add( elem, "change._change", function( event ) {
+						if ( this.parentNode && !event.isSimulated && !event.isTrigger ) {
+							jQuery.event.simulate( "change", this.parentNode, event, true );
+						}
+					});
+					jQuery._data( elem, "_change_attached", true );
+				}
+			});
+		},
+
+		handle: function( event ) {
+			var elem = event.target;
+
+			// Swallow native change events from checkbox/radio, we already triggered them above
+			if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) {
+				return event.handleObj.handler.apply( this, arguments );
+			}
+		},
+
+		teardown: function() {
+			jQuery.event.remove( this, "._change" );
+
+			return !rformElems.test( this.nodeName );
+		}
+	};
+}
+
+// Create "bubbling" focus and blur events
+if ( !jQuery.support.focusinBubbles ) {
+	jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+		// Attach a single capturing handler while someone wants focusin/focusout
+		var attaches = 0,
+			handler = function( event ) {
+				jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );
+			};
+
+		jQuery.event.special[ fix ] = {
+			setup: function() {
+				if ( attaches++ === 0 ) {
+					document.addEventListener( orig, handler, true );
+				}
+			},
+			teardown: function() {
+				if ( --attaches === 0 ) {
+					document.removeEventListener( orig, handler, true );
+				}
+			}
+		};
+	});
+}
+
+jQuery.fn.extend({
+
+	on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
+		var origFn, type;
+
+		// Types can be a map of types/handlers
+		if ( typeof types === "object" ) {
+			// ( types-Object, selector, data )
+			if ( typeof selector !== "string" ) { // && selector != null
+				// ( types-Object, data )
+				data = data || selector;
+				selector = undefined;
+			}
+			for ( type in types ) {
+				this.on( type, selector, data, types[ type ], one );
+			}
+			return this;
+		}
+
+		if ( data == null && fn == null ) {
+			// ( types, fn )
+			fn = selector;
+			data = selector = undefined;
+		} else if ( fn == null ) {
+			if ( typeof selector === "string" ) {
+				// ( types, selector, fn )
+				fn = data;
+				data = undefined;
+			} else {
+				// ( types, data, fn )
+				fn = data;
+				data = selector;
+				selector = undefined;
+			}
+		}
+		if ( fn === false ) {
+			fn = returnFalse;
+		} else if ( !fn ) {
+			return this;
+		}
+
+		if ( one === 1 ) {
+			origFn = fn;
+			fn = function( event ) {
+				// Can use an empty set, since event contains the info
+				jQuery().off( event );
+				return origFn.apply( this, arguments );
+			};
+			// Use same guid so caller can remove using origFn
+			fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+		}
+		return this.each( function() {
+			jQuery.event.add( this, types, fn, data, selector );
+		});
+	},
+	one: function( types, selector, data, fn ) {
+		return this.on( types, selector, data, fn, 1 );
+	},
+	off: function( types, selector, fn ) {
+		var handleObj, type;
+		if ( types && types.preventDefault && types.handleObj ) {
+			// ( event )  dispatched jQuery.Event
+			handleObj = types.handleObj;
+			jQuery( types.delegateTarget ).off(
+				handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType,
+				handleObj.selector,
+				handleObj.handler
+			);
+			return this;
+		}
+		if ( typeof types === "object" ) {
+			// ( types-object [, selector] )
+			for ( type in types ) {
+				this.off( type, selector, types[ type ] );
+			}
+			return this;
+		}
+		if ( selector === false || typeof selector === "function" ) {
+			// ( types [, fn] )
+			fn = selector;
+			selector = undefined;
+		}
+		if ( fn === false ) {
+			fn = returnFalse;
+		}
+		return this.each(function() {
+			jQuery.event.remove( this, types, fn, selector );
+		});
+	},
+
+	bind: function( types, data, fn ) {
+		return this.on( types, null, data, fn );
+	},
+	unbind: function( types, fn ) {
+		return this.off( types, null, fn );
+	},
+
+	live: function( types, data, fn ) {
+		jQuery( this.context ).on( types, this.selector, data, fn );
+		return this;
+	},
+	die: function( types, fn ) {
+		jQuery( this.context ).off( types, this.selector || "**", fn );
+		return this;
+	},
+
+	delegate: function( selector, types, data, fn ) {
+		return this.on( types, selector, data, fn );
+	},
+	undelegate: function( selector, types, fn ) {
+		// ( namespace ) or ( selector, types [, fn] )
+		return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn );
+	},
+
+	trigger: function( type, data ) {
+		return this.each(function() {
+			jQuery.event.trigger( type, data, this );
+		});
+	},
+	triggerHandler: function( type, data ) {
+		if ( this[0] ) {
+			return jQuery.event.trigger( type, data, this[0], true );
+		}
+	},
+
+	toggle: function( fn ) {
+		// Save reference to arguments for access in closure
+		var args = arguments,
+			guid = fn.guid || jQuery.guid++,
+			i = 0,
+			toggler = function( event ) {
+				// Figure out which function to execute
+				var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
+				jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
+
+				// Make sure that clicks stop
+				event.preventDefault();
+
+				// and execute the function
+				return args[ lastToggle ].apply( this, arguments ) || false;
+			};
+
+		// link all the functions, so any of them can unbind this click handler
+		toggler.guid = guid;
+		while ( i < args.length ) {
+			args[ i++ ].guid = guid;
+		}
+
+		return this.click( toggler );
+	},
+
+	hover: function( fnOver, fnOut ) {
+		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+	}
+});
+
+jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
+	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+	"change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {
+
+	// Handle event binding
+	jQuery.fn[ name ] = function( data, fn ) {
+		if ( fn == null ) {
+			fn = data;
+			data = null;
+		}
+
+		return arguments.length > 0 ?
+			this.on( name, null, data, fn ) :
+			this.trigger( name );
+	};
+
+	if ( rkeyEvent.test( name ) ) {
+		jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks;
+	}
+
+	if ( rmouseEvent.test( name ) ) {
+		jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks;
+	}
+});
+/*!
+ * Sizzle CSS Selector Engine
+ * Copyright 2012 jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://sizzlejs.com/
+ */
+(function( window, undefined ) {
+
+var cachedruns,
+	assertGetIdNotName,
+	Expr,
+	getText,
+	isXML,
+	contains,
+	compile,
+	sortOrder,
+	hasDuplicate,
+	outermostContext,
+
+	baseHasDuplicate = true,
+	strundefined = "undefined",
+
+	expando = ( "sizcache" + Math.random() ).replace( ".", "" ),
+
+	Token = String,
+	document = window.document,
+	docElem = document.documentElement,
+	dirruns = 0,
+	done = 0,
+	pop = [].pop,
+	push = [].push,
+	slice = [].slice,
+	// Use a stripped-down indexOf if a native one is unavailable
+	indexOf = [].indexOf || function( elem ) {
+		var i = 0,
+			len = this.length;
+		for ( ; i < len; i++ ) {
+			if ( this[i] === elem ) {
+				return i;
+			}
+		}
+		return -1;
+	},
+
+	// Augment a function for special use by Sizzle
+	markFunction = function( fn, value ) {
+		fn[ expando ] = value == null || value;
+		return fn;
+	},
+
+	createCache = function() {
+		var cache = {},
+			keys = [];
+
+		return markFunction(function( key, value ) {
+			// Only keep the most recent entries
+			if ( keys.push( key ) > Expr.cacheLength ) {
+				delete cache[ keys.shift() ];
+			}
+
+			return (cache[ key ] = value);
+		}, cache );
+	},
+
+	classCache = createCache(),
+	tokenCache = createCache(),
+	compilerCache = createCache(),
+
+	// Regex
+
+	// Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace
+	whitespace = "[\\x20\\t\\r\\n\\f]",
+	// http://www.w3.org/TR/css3-syntax/#characters
+	characterEncoding = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",
+
+	// Loosely modeled on CSS identifier characters
+	// An unquoted value should be a CSS identifier (http://www.w3.org/TR/css3-selectors/#attribute-selectors)
+	// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+	identifier = characterEncoding.replace( "w", "w#" ),
+
+	// Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors
+	operators = "([*^$|!~]?=)",
+	attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
+		"*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",
+
+	// Prefer arguments not in parens/brackets,
+	//   then attribute selectors and non-pseudos (denoted by :),
+	//   then anything else
+	// These preferences are here to reduce the number of selectors
+	//   needing tokenize in the PSEUDO preFilter
+	pseudos = ":(" + characterEncoding + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + attributes + ")|[^:]|\\\\.)*|.*))\\)|)",
+
+	// For matchExpr.POS and matchExpr.needsContext
+	pos = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
+		"*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)",
+
+	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+	rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ),
+	rpseudo = new RegExp( pseudos ),
+
+	// Easily-parseable/retrievable ID or TAG or CLASS selectors
+	rquickExpr = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,
+
+	rnot = /^:not/,
+	rsibling = /[\x20\t\r\n\f]*[+~]/,
+	rendsWithNot = /:not\($/,
+
+	rheader = /h\d/i,
+	rinputs = /input|select|textarea|button/i,
+
+	rbackslash = /\\(?!\\)/g,
+
+	matchExpr = {
+		"ID": new RegExp( "^#(" + characterEncoding + ")" ),
+		"CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ),
+		"NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ),
+		"TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ),
+		"ATTR": new RegExp( "^" + attributes ),
+		"PSEUDO": new RegExp( "^" + pseudos ),
+		"POS": new RegExp( pos, "i" ),
+		"CHILD": new RegExp( "^:(only|nth|first|last)-child(?:\\(" + whitespace +
+			"*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+			"*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+		// For use in libraries implementing .is()
+		"needsContext": new RegExp( "^" + whitespace + "*[>+~]|" + pos, "i" )
+	},
+
+	// Support
+
+	// Used for testing something on an element
+	assert = function( fn ) {
+		var div = document.createElement("div");
+
+		try {
+			return fn( div );
+		} catch (e) {
+			return false;
+		} finally {
+			// release memory in IE
+			div = null;
+		}
+	},
+
+	// Check if getElementsByTagName("*") returns only elements
+	assertTagNameNoComments = assert(function( div ) {
+		div.appendChild( document.createComment("") );
+		return !div.getElementsByTagName("*").length;
+	}),
+
+	// Check if getAttribute returns normalized href attributes
+	assertHrefNotNormalized = assert(function( div ) {
+		div.innerHTML = "<a href='#'></a>";
+		return div.firstChild && typeof div.firstChild.getAttribute !== strundefined &&
+			div.firstChild.getAttribute("href") === "#";
+	}),
+
+	// Check if attributes should be retrieved by attribute nodes
+	assertAttributes = assert(function( div ) {
+		div.innerHTML = "<select></select>";
+		var type = typeof div.lastChild.getAttribute("multiple");
+		// IE8 returns a string for some attributes even when not present
+		return type !== "boolean" && type !== "string";
+	}),
+
+	// Check if getElementsByClassName can be trusted
+	assertUsableClassName = assert(function( div ) {
+		// Opera can't find a second classname (in 9.6)
+		div.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>";
+		if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) {
+			return false;
+		}
+
+		// Safari 3.2 caches class attributes and doesn't catch changes
+		div.lastChild.className = "e";
+		return div.getElementsByClassName("e").length === 2;
+	}),
+
+	// Check if getElementById returns elements by name
+	// Check if getElementsByName privileges form controls or returns elements by ID
+	assertUsableName = assert(function( div ) {
+		// Inject content
+		div.id = expando + 0;
+		div.innerHTML = "<a name='" + expando + "'></a><div name='" + expando + "'></div>";
+		docElem.insertBefore( div, docElem.firstChild );
+
+		// Test
+		var pass = document.getElementsByName &&
+			// buggy browsers will return fewer than the correct 2
+			document.getElementsByName( expando ).length === 2 +
+			// buggy browsers will return more than the correct 0
+			document.getElementsByName( expando + 0 ).length;
+		assertGetIdNotName = !document.getElementById( expando );
+
+		// Cleanup
+		docElem.removeChild( div );
+
+		return pass;
+	});
+
+// If slice is not available, provide a backup
+try {
+	slice.call( docElem.childNodes, 0 )[0].nodeType;
+} catch ( e ) {
+	slice = function( i ) {
+		var elem,
+			results = [];
+		for ( ; (elem = this[i]); i++ ) {
+			results.push( elem );
+		}
+		return results;
+	};
+}
+
+function Sizzle( selector, context, results, seed ) {
+	results = results || [];
+	context = context || document;
+	var match, elem, xml, m,
+		nodeType = context.nodeType;
+
+	if ( !selector || typeof selector !== "string" ) {
+		return results;
+	}
+
+	if ( nodeType !== 1 && nodeType !== 9 ) {
+		return [];
+	}
+
+	xml = isXML( context );
+
+	if ( !xml && !seed ) {
+		if ( (match = rquickExpr.exec( selector )) ) {
+			// Speed-up: Sizzle("#ID")
+			if ( (m = match[1]) ) {
+				if ( nodeType === 9 ) {
+					elem = context.getElementById( m );
+					// Check parentNode to catch when Blackberry 4.6 returns
+					// nodes that are no longer in the document #6963
+					if ( elem && elem.parentNode ) {
+						// Handle the case where IE, Opera, and Webkit return items
+						// by name instead of ID
+						if ( elem.id === m ) {
+							results.push( elem );
+							return results;
+						}
+					} else {
+						return results;
+					}
+				} else {
+					// Context is not a document
+					if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&
+						contains( context, elem ) && elem.id === m ) {
+						results.push( elem );
+						return results;
+					}
+				}
+
+			// Speed-up: Sizzle("TAG")
+			} else if ( match[2] ) {
+				push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) );
+				return results;
+
+			// Speed-up: Sizzle(".CLASS")
+			} else if ( (m = match[3]) && assertUsableClassName && context.getElementsByClassName ) {
+				push.apply( results, slice.call(context.getElementsByClassName( m ), 0) );
+				return results;
+			}
+		}
+	}
+
+	// All others
+	return select( selector.replace( rtrim, "$1" ), context, results, seed, xml );
+}
+
+Sizzle.matches = function( expr, elements ) {
+	return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+	return Sizzle( expr, null, null, [ elem ] ).length > 0;
+};
+
+// Returns a function to use in pseudos for input types
+function createInputPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return name === "input" && elem.type === type;
+	};
+}
+
+// Returns a function to use in pseudos for buttons
+function createButtonPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return (name === "input" || name === "button") && elem.type === type;
+	};
+}
+
+// Returns a function to use in pseudos for positionals
+function createPositionalPseudo( fn ) {
+	return markFunction(function( argument ) {
+		argument = +argument;
+		return markFunction(function( seed, matches ) {
+			var j,
+				matchIndexes = fn( [], seed.length, argument ),
+				i = matchIndexes.length;
+
+			// Match elements found at the specified indexes
+			while ( i-- ) {
+				if ( seed[ (j = matchIndexes[i]) ] ) {
+					seed[j] = !(matches[j] = seed[j]);
+				}
+			}
+		});
+	});
+}
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+	var node,
+		ret = "",
+		i = 0,
+		nodeType = elem.nodeType;
+
+	if ( nodeType ) {
+		if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+			// Use textContent for elements
+			// innerText usage removed for consistency of new lines (see #11153)
+			if ( typeof elem.textContent === "string" ) {
+				return elem.textContent;
+			} else {
+				// Traverse its children
+				for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+					ret += getText( elem );
+				}
+			}
+		} else if ( nodeType === 3 || nodeType === 4 ) {
+			return elem.nodeValue;
+		}
+		// Do not include comment or processing instruction nodes
+	} else {
+
+		// If no nodeType, this is expected to be an array
+		for ( ; (node = elem[i]); i++ ) {
+			// Do not traverse comment nodes
+			ret += getText( node );
+		}
+	}
+	return ret;
+};
+
+isXML = Sizzle.isXML = function( elem ) {
+	// documentElement is verified for cases where it doesn't yet exist
+	// (such as loading iframes in IE - #4833)
+	var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+	return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+// Element contains another
+contains = Sizzle.contains = docElem.contains ?
+	function( a, b ) {
+		var adown = a.nodeType === 9 ? a.documentElement : a,
+			bup = b && b.parentNode;
+		return a === bup || !!( bup && bup.nodeType === 1 && adown.contains && adown.contains(bup) );
+	} :
+	docElem.compareDocumentPosition ?
+	function( a, b ) {
+		return b && !!( a.compareDocumentPosition( b ) & 16 );
+	} :
+	function( a, b ) {
+		while ( (b = b.parentNode) ) {
+			if ( b === a ) {
+				return true;
+			}
+		}
+		return false;
+	};
+
+Sizzle.attr = function( elem, name ) {
+	var val,
+		xml = isXML( elem );
+
+	if ( !xml ) {
+		name = name.toLowerCase();
+	}
+	if ( (val = Expr.attrHandle[ name ]) ) {
+		return val( elem );
+	}
+	if ( xml || assertAttributes ) {
+		return elem.getAttribute( name );
+	}
+	val = elem.getAttributeNode( name );
+	return val ?
+		typeof elem[ name ] === "boolean" ?
+			elem[ name ] ? name : null :
+			val.specified ? val.value : null :
+		null;
+};
+
+Expr = Sizzle.selectors = {
+
+	// Can be adjusted by the user
+	cacheLength: 50,
+
+	createPseudo: markFunction,
+
+	match: matchExpr,
+
+	// IE6/7 return a modified href
+	attrHandle: assertHrefNotNormalized ?
+		{} :
+		{
+			"href": function( elem ) {
+				return elem.getAttribute( "href", 2 );
+			},
+			"type": function( elem ) {
+				return elem.getAttribute("type");
+			}
+		},
+
+	find: {
+		"ID": assertGetIdNotName ?
+			function( id, context, xml ) {
+				if ( typeof context.getElementById !== strundefined && !xml ) {
+					var m = context.getElementById( id );
+					// Check parentNode to catch when Blackberry 4.6 returns
+					// nodes that are no longer in the document #6963
+					return m && m.parentNode ? [m] : [];
+				}
+			} :
+			function( id, context, xml ) {
+				if ( typeof context.getElementById !== strundefined && !xml ) {
+					var m = context.getElementById( id );
+
+					return m ?
+						m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ?
+							[m] :
+							undefined :
+						[];
+				}
+			},
+
+		"TAG": assertTagNameNoComments ?
+			function( tag, context ) {
+				if ( typeof context.getElementsByTagName !== strundefined ) {
+					return context.getElementsByTagName( tag );
+				}
+			} :
+			function( tag, context ) {
+				var results = context.getElementsByTagName( tag );
+
+				// Filter out possible comments
+				if ( tag === "*" ) {
+					var elem,
+						tmp = [],
+						i = 0;
+
+					for ( ; (elem = results[i]); i++ ) {
+						if ( elem.nodeType === 1 ) {
+							tmp.push( elem );
+						}
+					}
+
+					return tmp;
+				}
+				return results;
+			},
+
+		"NAME": assertUsableName && function( tag, context ) {
+			if ( typeof context.getElementsByName !== strundefined ) {
+				return context.getElementsByName( name );
+			}
+		},
+
+		"CLASS": assertUsableClassName && function( className, context, xml ) {
+			if ( typeof context.getElementsByClassName !== strundefined && !xml ) {
+				return context.getElementsByClassName( className );
+			}
+		}
+	},
+
+	relative: {
+		">": { dir: "parentNode", first: true },
+		" ": { dir: "parentNode" },
+		"+": { dir: "previousSibling", first: true },
+		"~": { dir: "previousSibling" }
+	},
+
+	preFilter: {
+		"ATTR": function( match ) {
+			match[1] = match[1].replace( rbackslash, "" );
+
+			// Move the given value to match[3] whether quoted or unquoted
+			match[3] = ( match[4] || match[5] || "" ).replace( rbackslash, "" );
+
+			if ( match[2] === "~=" ) {
+				match[3] = " " + match[3] + " ";
+			}
+
+			return match.slice( 0, 4 );
+		},
+
+		"CHILD": function( match ) {
+			/* matches from matchExpr["CHILD"]
+				1 type (only|nth|...)
+				2 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+				3 xn-component of xn+y argument ([+-]?\d*n|)
+				4 sign of xn-component
+				5 x of xn-component
+				6 sign of y-component
+				7 y of y-component
+			*/
+			match[1] = match[1].toLowerCase();
+
+			if ( match[1] === "nth" ) {
+				// nth-child requires argument
+				if ( !match[2] ) {
+					Sizzle.error( match[0] );
+				}
+
+				// numeric x and y parameters for Expr.filter.CHILD
+				// remember that false/true cast respectively to 0/1
+				match[3] = +( match[3] ? match[4] + (match[5] || 1) : 2 * ( match[2] === "even" || match[2] === "odd" ) );
+				match[4] = +( ( match[6] + match[7] ) || match[2] === "odd" );
+
+			// other types prohibit arguments
+			} else if ( match[2] ) {
+				Sizzle.error( match[0] );
+			}
+
+			return match;
+		},
+
+		"PSEUDO": function( match ) {
+			var unquoted, excess;
+			if ( matchExpr["CHILD"].test( match[0] ) ) {
+				return null;
+			}
+
+			if ( match[3] ) {
+				match[2] = match[3];
+			} else if ( (unquoted = match[4]) ) {
+				// Only check arguments that contain a pseudo
+				if ( rpseudo.test(unquoted) &&
+					// Get excess from tokenize (recursively)
+					(excess = tokenize( unquoted, true )) &&
+					// advance to the next closing parenthesis
+					(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+					// excess is a negative index
+					unquoted = unquoted.slice( 0, excess );
+					match[0] = match[0].slice( 0, excess );
+				}
+				match[2] = unquoted;
+			}
+
+			// Return only captures needed by the pseudo filter method (type and argument)
+			return match.slice( 0, 3 );
+		}
+	},
+
+	filter: {
+		"ID": assertGetIdNotName ?
+			function( id ) {
+				id = id.replace( rbackslash, "" );
+				return function( elem ) {
+					return elem.getAttribute("id") === id;
+				};
+			} :
+			function( id ) {
+				id = id.replace( rbackslash, "" );
+				return function( elem ) {
+					var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id");
+					return node && node.value === id;
+				};
+			},
+
+		"TAG": function( nodeName ) {
+			if ( nodeName === "*" ) {
+				return function() { return true; };
+			}
+			nodeName = nodeName.replace( rbackslash, "" ).toLowerCase();
+
+			return function( elem ) {
+				return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+			};
+		},
+
+		"CLASS": function( className ) {
+			var pattern = classCache[ expando ][ className ];
+			if ( !pattern ) {
+				pattern = classCache( className, new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)") );
+			}
+			return function( elem ) {
+				return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" );
+			};
+		},
+
+		"ATTR": function( name, operator, check ) {
+			return function( elem, context ) {
+				var result = Sizzle.attr( elem, name );
+
+				if ( result == null ) {
+					return operator === "!=";
+				}
+				if ( !operator ) {
+					return true;
+				}
+
+				result += "";
+
+				return operator === "=" ? result === check :
+					operator === "!=" ? result !== check :
+					operator === "^=" ? check && result.indexOf( check ) === 0 :
+					operator === "*=" ? check && result.indexOf( check ) > -1 :
+					operator === "$=" ? check && result.substr( result.length - check.length ) === check :
+					operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 :
+					operator === "|=" ? result === check || result.substr( 0, check.length + 1 ) === check + "-" :
+					false;
+			};
+		},
+
+		"CHILD": function( type, argument, first, last ) {
+
+			if ( type === "nth" ) {
+				return function( elem ) {
+					var node, diff,
+						parent = elem.parentNode;
+
+					if ( first === 1 && last === 0 ) {
+						return true;
+					}
+
+					if ( parent ) {
+						diff = 0;
+						for ( node = parent.firstChild; node; node = node.nextSibling ) {
+							if ( node.nodeType === 1 ) {
+								diff++;
+								if ( elem === node ) {
+									break;
+								}
+							}
+						}
+					}
+
+					// Incorporate the offset (or cast to NaN), then check against cycle size
+					diff -= last;
+					return diff === first || ( diff % first === 0 && diff / first >= 0 );
+				};
+			}
+
+			return function( elem ) {
+				var node = elem;
+
+				switch ( type ) {
+					case "only":
+					case "first":
+						while ( (node = node.previousSibling) ) {
+							if ( node.nodeType === 1 ) {
+								return false;
+							}
+						}
+
+						if ( type === "first" ) {
+							return true;
+						}
+
+						node = elem;
+
+						/* falls through */
+					case "last":
+						while ( (node = node.nextSibling) ) {
+							if ( node.nodeType === 1 ) {
+								return false;
+							}
+						}
+
+						return true;
+				}
+			};
+		},
+
+		"PSEUDO": function( pseudo, argument ) {
+			// pseudo-class names are case-insensitive
+			// http://www.w3.org/TR/selectors/#pseudo-classes
+			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+			// Remember that setFilters inherits from pseudos
+			var args,
+				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+					Sizzle.error( "unsupported pseudo: " + pseudo );
+
+			// The user may use createPseudo to indicate that
+			// arguments are needed to create the filter function
+			// just as Sizzle does
+			if ( fn[ expando ] ) {
+				return fn( argument );
+			}
+
+			// But maintain support for old signatures
+			if ( fn.length > 1 ) {
+				args = [ pseudo, pseudo, "", argument ];
+				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+					markFunction(function( seed, matches ) {
+						var idx,
+							matched = fn( seed, argument ),
+							i = matched.length;
+						while ( i-- ) {
+							idx = indexOf.call( seed, matched[i] );
+							seed[ idx ] = !( matches[ idx ] = matched[i] );
+						}
+					}) :
+					function( elem ) {
+						return fn( elem, 0, args );
+					};
+			}
+
+			return fn;
+		}
+	},
+
+	pseudos: {
+		"not": markFunction(function( selector ) {
+			// Trim the selector passed to compile
+			// to avoid treating leading and trailing
+			// spaces as combinators
+			var input = [],
+				results = [],
+				matcher = compile( selector.replace( rtrim, "$1" ) );
+
+			return matcher[ expando ] ?
+				markFunction(function( seed, matches, context, xml ) {
+					var elem,
+						unmatched = matcher( seed, null, xml, [] ),
+						i = seed.length;
+
+					// Match elements unmatched by `matcher`
+					while ( i-- ) {
+						if ( (elem = unmatched[i]) ) {
+							seed[i] = !(matches[i] = elem);
+						}
+					}
+				}) :
+				function( elem, context, xml ) {
+					input[0] = elem;
+					matcher( input, null, xml, results );
+					return !results.pop();
+				};
+		}),
+
+		"has": markFunction(function( selector ) {
+			return function( elem ) {
+				return Sizzle( selector, elem ).length > 0;
+			};
+		}),
+
+		"contains": markFunction(function( text ) {
+			return function( elem ) {
+				return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+			};
+		}),
+
+		"enabled": function( elem ) {
+			return elem.disabled === false;
+		},
+
+		"disabled": function( elem ) {
+			return elem.disabled === true;
+		},
+
+		"checked": function( elem ) {
+			// In CSS3, :checked should return both checked and selected elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			var nodeName = elem.nodeName.toLowerCase();
+			return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+		},
+
+		"selected": function( elem ) {
+			// Accessing this property makes selected-by-default
+			// options in Safari work properly
+			if ( elem.parentNode ) {
+				elem.parentNode.selectedIndex;
+			}
+
+			return elem.selected === true;
+		},
+
+		"parent": function( elem ) {
+			return !Expr.pseudos["empty"]( elem );
+		},
+
+		"empty": function( elem ) {
+			// http://www.w3.org/TR/selectors/#empty-pseudo
+			// :empty is only affected by element nodes and content nodes(including text(3), cdata(4)),
+			//   not comment, processing instructions, or others
+			// Thanks to Diego Perini for the nodeName shortcut
+			//   Greater than "@" means alpha characters (specifically not starting with "#" or "?")
+			var nodeType;
+			elem = elem.firstChild;
+			while ( elem ) {
+				if ( elem.nodeName > "@" || (nodeType = elem.nodeType) === 3 || nodeType === 4 ) {
+					return false;
+				}
+				elem = elem.nextSibling;
+			}
+			return true;
+		},
+
+		"header": function( elem ) {
+			return rheader.test( elem.nodeName );
+		},
+
+		"text": function( elem ) {
+			var type, attr;
+			// IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc)
+			// use getAttribute instead to test this case
+			return elem.nodeName.toLowerCase() === "input" &&
+				(type = elem.type) === "text" &&
+				( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === type );
+		},
+
+		// Input types
+		"radio": createInputPseudo("radio"),
+		"checkbox": createInputPseudo("checkbox"),
+		"file": createInputPseudo("file"),
+		"password": createInputPseudo("password"),
+		"image": createInputPseudo("image"),
+
+		"submit": createButtonPseudo("submit"),
+		"reset": createButtonPseudo("reset"),
+
+		"button": function( elem ) {
+			var name = elem.nodeName.toLowerCase();
+			return name === "input" && elem.type === "button" || name === "button";
+		},
+
+		"input": function( elem ) {
+			return rinputs.test( elem.nodeName );
+		},
+
+		"focus": function( elem ) {
+			var doc = elem.ownerDocument;
+			return elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href);
+		},
+
+		"active": function( elem ) {
+			return elem === elem.ownerDocument.activeElement;
+		},
+
+		// Positional types
+		"first": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			return [ 0 ];
+		}),
+
+		"last": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			return [ length - 1 ];
+		}),
+
+		"eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			return [ argument < 0 ? argument + length : argument ];
+		}),
+
+		"even": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			for ( var i = 0; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"odd": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			for ( var i = 1; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			for ( var i = argument < 0 ? argument + length : argument; --i >= 0; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			for ( var i = argument < 0 ? argument + length : argument; ++i < length; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		})
+	}
+};
+
+function siblingCheck( a, b, ret ) {
+	if ( a === b ) {
+		return ret;
+	}
+
+	var cur = a.nextSibling;
+
+	while ( cur ) {
+		if ( cur === b ) {
+			return -1;
+		}
+
+		cur = cur.nextSibling;
+	}
+
+	return 1;
+}
+
+sortOrder = docElem.compareDocumentPosition ?
+	function( a, b ) {
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		return ( !a.compareDocumentPosition || !b.compareDocumentPosition ?
+			a.compareDocumentPosition :
+			a.compareDocumentPosition(b) & 4
+		) ? -1 : 1;
+	} :
+	function( a, b ) {
+		// The nodes are identical, we can exit early
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+
+		// Fallback to using sourceIndex (in IE) if it's available on both nodes
+		} else if ( a.sourceIndex && b.sourceIndex ) {
+			return a.sourceIndex - b.sourceIndex;
+		}
+
+		var al, bl,
+			ap = [],
+			bp = [],
+			aup = a.parentNode,
+			bup = b.parentNode,
+			cur = aup;
+
+		// If the nodes are siblings (or identical) we can do a quick check
+		if ( aup === bup ) {
+			return siblingCheck( a, b );
+
+		// If no parents were found then the nodes are disconnected
+		} else if ( !aup ) {
+			return -1;
+
+		} else if ( !bup ) {
+			return 1;
+		}
+
+		// Otherwise they're somewhere else in the tree so we need
+		// to build up a full list of the parentNodes for comparison
+		while ( cur ) {
+			ap.unshift( cur );
+			cur = cur.parentNode;
+		}
+
+		cur = bup;
+
+		while ( cur ) {
+			bp.unshift( cur );
+			cur = cur.parentNode;
+		}
+
+		al = ap.length;
+		bl = bp.length;
+
+		// Start walking down the tree looking for a discrepancy
+		for ( var i = 0; i < al && i < bl; i++ ) {
+			if ( ap[i] !== bp[i] ) {
+				return siblingCheck( ap[i], bp[i] );
+			}
+		}
+
+		// We ended someplace up the tree so do a sibling check
+		return i === al ?
+			siblingCheck( a, bp[i], -1 ) :
+			siblingCheck( ap[i], b, 1 );
+	};
+
+// Always assume the presence of duplicates if sort doesn't
+// pass them to our comparison function (as in Google Chrome).
+[0, 0].sort( sortOrder );
+baseHasDuplicate = !hasDuplicate;
+
+// Document sorting and removing duplicates
+Sizzle.uniqueSort = function( results ) {
+	var elem,
+		i = 1;
+
+	hasDuplicate = baseHasDuplicate;
+	results.sort( sortOrder );
+
+	if ( hasDuplicate ) {
+		for ( ; (elem = results[i]); i++ ) {
+			if ( elem === results[ i - 1 ] ) {
+				results.splice( i--, 1 );
+			}
+		}
+	}
+
+	return results;
+};
+
+Sizzle.error = function( msg ) {
+	throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+function tokenize( selector, parseOnly ) {
+	var matched, match, tokens, type, soFar, groups, preFilters,
+		cached = tokenCache[ expando ][ selector ];
+
+	if ( cached ) {
+		return parseOnly ? 0 : cached.slice( 0 );
+	}
+
+	soFar = selector;
+	groups = [];
+	preFilters = Expr.preFilter;
+
+	while ( soFar ) {
+
+		// Comma and first run
+		if ( !matched || (match = rcomma.exec( soFar )) ) {
+			if ( match ) {
+				soFar = soFar.slice( match[0].length );
+			}
+			groups.push( tokens = [] );
+		}
+
+		matched = false;
+
+		// Combinators
+		if ( (match = rcombinators.exec( soFar )) ) {
+			tokens.push( matched = new Token( match.shift() ) );
+			soFar = soFar.slice( matched.length );
+
+			// Cast descendant combinators to space
+			matched.type = match[0].replace( rtrim, " " );
+		}
+
+		// Filters
+		for ( type in Expr.filter ) {
+			if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+				// The last two arguments here are (context, xml) for backCompat
+				(match = preFilters[ type ]( match, document, true ))) ) {
+
+				tokens.push( matched = new Token( match.shift() ) );
+				soFar = soFar.slice( matched.length );
+				matched.type = type;
+				matched.matches = match;
+			}
+		}
+
+		if ( !matched ) {
+			break;
+		}
+	}
+
+	// Return the length of the invalid excess
+	// if we're just parsing
+	// Otherwise, throw an error or return tokens
+	return parseOnly ?
+		soFar.length :
+		soFar ?
+			Sizzle.error( selector ) :
+			// Cache the tokens
+			tokenCache( selector, groups ).slice( 0 );
+}
+
+function addCombinator( matcher, combinator, base ) {
+	var dir = combinator.dir,
+		checkNonElements = base && combinator.dir === "parentNode",
+		doneName = done++;
+
+	return combinator.first ?
+		// Check against closest ancestor/preceding element
+		function( elem, context, xml ) {
+			while ( (elem = elem[ dir ]) ) {
+				if ( checkNonElements || elem.nodeType === 1  ) {
+					return matcher( elem, context, xml );
+				}
+			}
+		} :
+
+		// Check against all ancestor/preceding elements
+		function( elem, context, xml ) {
+			// We can't set arbitrary data on XML nodes, so they don't benefit from dir caching
+			if ( !xml ) {
+				var cache,
+					dirkey = dirruns + " " + doneName + " ",
+					cachedkey = dirkey + cachedruns;
+				while ( (elem = elem[ dir ]) ) {
+					if ( checkNonElements || elem.nodeType === 1 ) {
+						if ( (cache = elem[ expando ]) === cachedkey ) {
+							return elem.sizset;
+						} else if ( typeof cache === "string" && cache.indexOf(dirkey) === 0 ) {
+							if ( elem.sizset ) {
+								return elem;
+							}
+						} else {
+							elem[ expando ] = cachedkey;
+							if ( matcher( elem, context, xml ) ) {
+								elem.sizset = true;
+								return elem;
+							}
+							elem.sizset = false;
+						}
+					}
+				}
+			} else {
+				while ( (elem = elem[ dir ]) ) {
+					if ( checkNonElements || elem.nodeType === 1 ) {
+						if ( matcher( elem, context, xml ) ) {
+							return elem;
+						}
+					}
+				}
+			}
+		};
+}
+
+function elementMatcher( matchers ) {
+	return matchers.length > 1 ?
+		function( elem, context, xml ) {
+			var i = matchers.length;
+			while ( i-- ) {
+				if ( !matchers[i]( elem, context, xml ) ) {
+					return false;
+				}
+			}
+			return true;
+		} :
+		matchers[0];
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+	var elem,
+		newUnmatched = [],
+		i = 0,
+		len = unmatched.length,
+		mapped = map != null;
+
+	for ( ; i < len; i++ ) {
+		if ( (elem = unmatched[i]) ) {
+			if ( !filter || filter( elem, context, xml ) ) {
+				newUnmatched.push( elem );
+				if ( mapped ) {
+					map.push( i );
+				}
+			}
+		}
+	}
+
+	return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+	if ( postFilter && !postFilter[ expando ] ) {
+		postFilter = setMatcher( postFilter );
+	}
+	if ( postFinder && !postFinder[ expando ] ) {
+		postFinder = setMatcher( postFinder, postSelector );
+	}
+	return markFunction(function( seed, results, context, xml ) {
+		// Positional selectors apply to seed elements, so it is invalid to follow them with relative ones
+		if ( seed && postFinder ) {
+			return;
+		}
+
+		var i, elem, postFilterIn,
+			preMap = [],
+			postMap = [],
+			preexisting = results.length,
+
+			// Get initial elements from seed or context
+			elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [], seed ),
+
+			// Prefilter to get matcher input, preserving a map for seed-results synchronization
+			matcherIn = preFilter && ( seed || !selector ) ?
+				condense( elems, preMap, preFilter, context, xml ) :
+				elems,
+
+			matcherOut = matcher ?
+				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+				postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+					// ...intermediate processing is necessary
+					[] :
+
+					// ...otherwise use results directly
+					results :
+				matcherIn;
+
+		// Find primary matches
+		if ( matcher ) {
+			matcher( matcherIn, matcherOut, context, xml );
+		}
+
+		// Apply postFilter
+		if ( postFilter ) {
+			postFilterIn = condense( matcherOut, postMap );
+			postFilter( postFilterIn, [], context, xml );
+
+			// Un-match failing elements by moving them back to matcherIn
+			i = postFilterIn.length;
+			while ( i-- ) {
+				if ( (elem = postFilterIn[i]) ) {
+					matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+				}
+			}
+		}
+
+		// Keep seed and results synchronized
+		if ( seed ) {
+			// Ignore postFinder because it can't coexist with seed
+			i = preFilter && matcherOut.length;
+			while ( i-- ) {
+				if ( (elem = matcherOut[i]) ) {
+					seed[ preMap[i] ] = !(results[ preMap[i] ] = elem);
+				}
+			}
+		} else {
+			matcherOut = condense(
+				matcherOut === results ?
+					matcherOut.splice( preexisting, matcherOut.length ) :
+					matcherOut
+			);
+			if ( postFinder ) {
+				postFinder( null, results, matcherOut, xml );
+			} else {
+				push.apply( results, matcherOut );
+			}
+		}
+	});
+}
+
+function matcherFromTokens( tokens ) {
+	var checkContext, matcher, j,
+		len = tokens.length,
+		leadingRelative = Expr.relative[ tokens[0].type ],
+		implicitRelative = leadingRelative || Expr.relative[" "],
+		i = leadingRelative ? 1 : 0,
+
+		// The foundational matcher ensures that elements are reachable from top-level context(s)
+		matchContext = addCombinator( function( elem ) {
+			return elem === checkContext;
+		}, implicitRelative, true ),
+		matchAnyContext = addCombinator( function( elem ) {
+			return indexOf.call( checkContext, elem ) > -1;
+		}, implicitRelative, true ),
+		matchers = [ function( elem, context, xml ) {
+			return ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+				(checkContext = context).nodeType ?
+					matchContext( elem, context, xml ) :
+					matchAnyContext( elem, context, xml ) );
+		} ];
+
+	for ( ; i < len; i++ ) {
+		if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+			matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
+		} else {
+			// The concatenated values are (context, xml) for backCompat
+			matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+			// Return special upon seeing a positional matcher
+			if ( matcher[ expando ] ) {
+				// Find the next relative operator (if any) for proper handling
+				j = ++i;
+				for ( ; j < len; j++ ) {
+					if ( Expr.relative[ tokens[j].type ] ) {
+						break;
+					}
+				}
+				return setMatcher(
+					i > 1 && elementMatcher( matchers ),
+					i > 1 && tokens.slice( 0, i - 1 ).join("").replace( rtrim, "$1" ),
+					matcher,
+					i < j && matcherFromTokens( tokens.slice( i, j ) ),
+					j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+					j < len && tokens.join("")
+				);
+			}
+			matchers.push( matcher );
+		}
+	}
+
+	return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+	var bySet = setMatchers.length > 0,
+		byElement = elementMatchers.length > 0,
+		superMatcher = function( seed, context, xml, results, expandContext ) {
+			var elem, j, matcher,
+				setMatched = [],
+				matchedCount = 0,
+				i = "0",
+				unmatched = seed && [],
+				outermost = expandContext != null,
+				contextBackup = outermostContext,
+				// We must always have either seed elements or context
+				elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ),
+				// Nested matchers should use non-integer dirruns
+				dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.E);
+
+			if ( outermost ) {
+				outermostContext = context !== document && context;
+				cachedruns = superMatcher.el;
+			}
+
+			// Add elements passing elementMatchers directly to results
+			for ( ; (elem = elems[i]) != null; i++ ) {
+				if ( byElement && elem ) {
+					for ( j = 0; (matcher = elementMatchers[j]); j++ ) {
+						if ( matcher( elem, context, xml ) ) {
+							results.push( elem );
+							break;
+						}
+					}
+					if ( outermost ) {
+						dirruns = dirrunsUnique;
+						cachedruns = ++superMatcher.el;
+					}
+				}
+
+				// Track unmatched elements for set filters
+				if ( bySet ) {
+					// They will have gone through all possible matchers
+					if ( (elem = !matcher && elem) ) {
+						matchedCount--;
+					}
+
+					// Lengthen the array for every element, matched or not
+					if ( seed ) {
+						unmatched.push( elem );
+					}
+				}
+			}
+
+			// Apply set filters to unmatched elements
+			matchedCount += i;
+			if ( bySet && i !== matchedCount ) {
+				for ( j = 0; (matcher = setMatchers[j]); j++ ) {
+					matcher( unmatched, setMatched, context, xml );
+				}
+
+				if ( seed ) {
+					// Reintegrate element matches to eliminate the need for sorting
+					if ( matchedCount > 0 ) {
+						while ( i-- ) {
+							if ( !(unmatched[i] || setMatched[i]) ) {
+								setMatched[i] = pop.call( results );
+							}
+						}
+					}
+
+					// Discard index placeholder values to get only actual matches
+					setMatched = condense( setMatched );
+				}
+
+				// Add matches to results
+				push.apply( results, setMatched );
+
+				// Seedless set matches succeeding multiple successful matchers stipulate sorting
+				if ( outermost && !seed && setMatched.length > 0 &&
+					( matchedCount + setMatchers.length ) > 1 ) {
+
+					Sizzle.uniqueSort( results );
+				}
+			}
+
+			// Override manipulation of globals by nested matchers
+			if ( outermost ) {
+				dirruns = dirrunsUnique;
+				outermostContext = contextBackup;
+			}
+
+			return unmatched;
+		};
+
+	superMatcher.el = 0;
+	return bySet ?
+		markFunction( superMatcher ) :
+		superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
+	var i,
+		setMatchers = [],
+		elementMatchers = [],
+		cached = compilerCache[ expando ][ selector ];
+
+	if ( !cached ) {
+		// Generate a function of recursive functions that can be used to check each element
+		if ( !group ) {
+			group = tokenize( selector );
+		}
+		i = group.length;
+		while ( i-- ) {
+			cached = matcherFromTokens( group[i] );
+			if ( cached[ expando ] ) {
+				setMatchers.push( cached );
+			} else {
+				elementMatchers.push( cached );
+			}
+		}
+
+		// Cache the compiled function
+		cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+	}
+	return cached;
+};
+
+function multipleContexts( selector, contexts, results, seed ) {
+	var i = 0,
+		len = contexts.length;
+	for ( ; i < len; i++ ) {
+		Sizzle( selector, contexts[i], results, seed );
+	}
+	return results;
+}
+
+function select( selector, context, results, seed, xml ) {
+	var i, tokens, token, type, find,
+		match = tokenize( selector ),
+		j = match.length;
+
+	if ( !seed ) {
+		// Try to minimize operations if there is only one group
+		if ( match.length === 1 ) {
+
+			// Take a shortcut and set the context if the root selector is an ID
+			tokens = match[0] = match[0].slice( 0 );
+			if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+					context.nodeType === 9 && !xml &&
+					Expr.relative[ tokens[1].type ] ) {
+
+				context = Expr.find["ID"]( token.matches[0].replace( rbackslash, "" ), context, xml )[0];
+				if ( !context ) {
+					return results;
+				}
+
+				selector = selector.slice( tokens.shift().length );
+			}
+
+			// Fetch a seed set for right-to-left matching
+			for ( i = matchExpr["POS"].test( selector ) ? -1 : tokens.length - 1; i >= 0; i-- ) {
+				token = tokens[i];
+
+				// Abort if we hit a combinator
+				if ( Expr.relative[ (type = token.type) ] ) {
+					break;
+				}
+				if ( (find = Expr.find[ type ]) ) {
+					// Search, expanding context for leading sibling combinators
+					if ( (seed = find(
+						token.matches[0].replace( rbackslash, "" ),
+						rsibling.test( tokens[0].type ) && context.parentNode || context,
+						xml
+					)) ) {
+
+						// If seed is empty or no tokens remain, we can return early
+						tokens.splice( i, 1 );
+						selector = seed.length && tokens.join("");
+						if ( !selector ) {
+							push.apply( results, slice.call( seed, 0 ) );
+							return results;
+						}
+
+						break;
+					}
+				}
+			}
+		}
+	}
+
+	// Compile and execute a filtering function
+	// Provide `match` to avoid retokenization if we modified the selector above
+	compile( selector, match )(
+		seed,
+		context,
+		xml,
+		results,
+		rsibling.test( selector )
+	);
+	return results;
+}
+
+if ( document.querySelectorAll ) {
+	(function() {
+		var disconnectedMatch,
+			oldSelect = select,
+			rescape = /'|\\/g,
+			rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
+
+			// qSa(:focus) reports false when true (Chrome 21),
+			// A support test would require too much code (would include document ready)
+			rbuggyQSA = [":focus"],
+
+			// matchesSelector(:focus) reports false when true (Chrome 21),
+			// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+			// A support test would require too much code (would include document ready)
+			// just skip matchesSelector for :active
+			rbuggyMatches = [ ":active", ":focus" ],
+			matches = docElem.matchesSelector ||
+				docElem.mozMatchesSelector ||
+				docElem.webkitMatchesSelector ||
+				docElem.oMatchesSelector ||
+				docElem.msMatchesSelector;
+
+		// Build QSA regex
+		// Regex strategy adopted from Diego Perini
+		assert(function( div ) {
+			// Select is set to empty string on purpose
+			// This is to test IE's treatment of not explictly
+			// setting a boolean content attribute,
+			// since its presence should be enough
+			// http://bugs.jquery.com/ticket/12359
+			div.innerHTML = "<select><option selected=''></option></select>";
+
+			// IE8 - Some boolean attributes are not treated correctly
+			if ( !div.querySelectorAll("[selected]").length ) {
+				rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" );
+			}
+
+			// Webkit/Opera - :checked should return selected option elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			// IE8 throws error here (do not put tests after this one)
+			if ( !div.querySelectorAll(":checked").length ) {
+				rbuggyQSA.push(":checked");
+			}
+		});
+
+		assert(function( div ) {
+
+			// Opera 10-12/IE9 - ^= $= *= and empty values
+			// Should not select anything
+			div.innerHTML = "<p test=''></p>";
+			if ( div.querySelectorAll("[test^='']").length ) {
+				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" );
+			}
+
+			// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+			// IE8 throws error here (do not put tests after this one)
+			div.innerHTML = "<input type='hidden'/>";
+			if ( !div.querySelectorAll(":enabled").length ) {
+				rbuggyQSA.push(":enabled", ":disabled");
+			}
+		});
+
+		// rbuggyQSA always contains :focus, so no need for a length check
+		rbuggyQSA = /* rbuggyQSA.length && */ new RegExp( rbuggyQSA.join("|") );
+
+		select = function( selector, context, results, seed, xml ) {
+			// Only use querySelectorAll when not filtering,
+			// when this is not xml,
+			// and when no QSA bugs apply
+			if ( !seed && !xml && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+				var groups, i,
+					old = true,
+					nid = expando,
+					newContext = context,
+					newSelector = context.nodeType === 9 && selector;
+
+				// qSA works strangely on Element-rooted queries
+				// We can work around this by specifying an extra ID on the root
+				// and working up from there (Thanks to Andrew Dupont for the technique)
+				// IE 8 doesn't work on object elements
+				if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
+					groups = tokenize( selector );
+
+					if ( (old = context.getAttribute("id")) ) {
+						nid = old.replace( rescape, "\\$&" );
+					} else {
+						context.setAttribute( "id", nid );
+					}
+					nid = "[id='" + nid + "'] ";
+
+					i = groups.length;
+					while ( i-- ) {
+						groups[i] = nid + groups[i].join("");
+					}
+					newContext = rsibling.test( selector ) && context.parentNode || context;
+					newSelector = groups.join(",");
+				}
+
+				if ( newSelector ) {
+					try {
+						push.apply( results, slice.call( newContext.querySelectorAll(
+							newSelector
+						), 0 ) );
+						return results;
+					} catch(qsaError) {
+					} finally {
+						if ( !old ) {
+							context.removeAttribute("id");
+						}
+					}
+				}
+			}
+
+			return oldSelect( selector, context, results, seed, xml );
+		};
+
+		if ( matches ) {
+			assert(function( div ) {
+				// Check to see if it's possible to do matchesSelector
+				// on a disconnected node (IE 9)
+				disconnectedMatch = matches.call( div, "div" );
+
+				// This should fail with an exception
+				// Gecko does not error, returns false instead
+				try {
+					matches.call( div, "[test!='']:sizzle" );
+					rbuggyMatches.push( "!=", pseudos );
+				} catch ( e ) {}
+			});
+
+			// rbuggyMatches always contains :active and :focus, so no need for a length check
+			rbuggyMatches = /* rbuggyMatches.length && */ new RegExp( rbuggyMatches.join("|") );
+
+			Sizzle.matchesSelector = function( elem, expr ) {
+				// Make sure that attribute selectors are quoted
+				expr = expr.replace( rattributeQuotes, "='$1']" );
+
+				// rbuggyMatches always contains :active, so no need for an existence check
+				if ( !isXML( elem ) && !rbuggyMatches.test( expr ) && (!rbuggyQSA || !rbuggyQSA.test( expr )) ) {
+					try {
+						var ret = matches.call( elem, expr );
+
+						// IE 9's matchesSelector returns false on disconnected nodes
+						if ( ret || disconnectedMatch ||
+								// As well, disconnected nodes are said to be in a document
+								// fragment in IE 9
+								elem.document && elem.document.nodeType !== 11 ) {
+							return ret;
+						}
+					} catch(e) {}
+				}
+
+				return Sizzle( expr, null, null, [ elem ] ).length > 0;
+			};
+		}
+	})();
+}
+
+// Deprecated
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Back-compat
+function setFilters() {}
+Expr.filters = setFilters.prototype = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+// Override sizzle attribute retrieval
+Sizzle.attr = jQuery.attr;
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+jQuery.expr[":"] = jQuery.expr.pseudos;
+jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+
+
+})( window );
+var runtil = /Until$/,
+	rparentsprev = /^(?:parents|prev(?:Until|All))/,
+	isSimple = /^.[^:#\[\.,]*$/,
+	rneedsContext = jQuery.expr.match.needsContext,
+	// methods guaranteed to produce a unique set when starting from a unique set
+	guaranteedUnique = {
+		children: true,
+		contents: true,
+		next: true,
+		prev: true
+	};
+
+jQuery.fn.extend({
+	find: function( selector ) {
+		var i, l, length, n, r, ret,
+			self = this;
+
+		if ( typeof selector !== "string" ) {
+			return jQuery( selector ).filter(function() {
+				for ( i = 0, l = self.length; i < l; i++ ) {
+					if ( jQuery.contains( self[ i ], this ) ) {
+						return true;
+					}
+				}
+			});
+		}
+
+		ret = this.pushStack( "", "find", selector );
+
+		for ( i = 0, l = this.length; i < l; i++ ) {
+			length = ret.length;
+			jQuery.find( selector, this[i], ret );
+
+			if ( i > 0 ) {
+				// Make sure that the results are unique
+				for ( n = length; n < ret.length; n++ ) {
+					for ( r = 0; r < length; r++ ) {
+						if ( ret[r] === ret[n] ) {
+							ret.splice(n--, 1);
+							break;
+						}
+					}
+				}
+			}
+		}
+
+		return ret;
+	},
+
+	has: function( target ) {
+		var i,
+			targets = jQuery( target, this ),
+			len = targets.length;
+
+		return this.filter(function() {
+			for ( i = 0; i < len; i++ ) {
+				if ( jQuery.contains( this, targets[i] ) ) {
+					return true;
+				}
+			}
+		});
+	},
+
+	not: function( selector ) {
+		return this.pushStack( winnow(this, selector, false), "not", selector);
+	},
+
+	filter: function( selector ) {
+		return this.pushStack( winnow(this, selector, true), "filter", selector );
+	},
+
+	is: function( selector ) {
+		return !!selector && (
+			typeof selector === "string" ?
+				// If this is a positional/relative selector, check membership in the returned set
+				// so $("p:first").is("p:last") won't return true for a doc with two "p".
+				rneedsContext.test( selector ) ?
+					jQuery( selector, this.context ).index( this[0] ) >= 0 :
+					jQuery.filter( selector, this ).length > 0 :
+				this.filter( selector ).length > 0 );
+	},
+
+	closest: function( selectors, context ) {
+		var cur,
+			i = 0,
+			l = this.length,
+			ret = [],
+			pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ?
+				jQuery( selectors, context || this.context ) :
+				0;
+
+		for ( ; i < l; i++ ) {
+			cur = this[i];
+
+			while ( cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11 ) {
+				if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) {
+					ret.push( cur );
+					break;
+				}
+				cur = cur.parentNode;
+			}
+		}
+
+		ret = ret.length > 1 ? jQuery.unique( ret ) : ret;
+
+		return this.pushStack( ret, "closest", selectors );
+	},
+
+	// Determine the position of an element within
+	// the matched set of elements
+	index: function( elem ) {
+
+		// No argument, return index in parent
+		if ( !elem ) {
+			return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1;
+		}
+
+		// index in selector
+		if ( typeof elem === "string" ) {
+			return jQuery.inArray( this[0], jQuery( elem ) );
+		}
+
+		// Locate the position of the desired element
+		return jQuery.inArray(
+			// If it receives a jQuery object, the first element is used
+			elem.jquery ? elem[0] : elem, this );
+	},
+
+	add: function( selector, context ) {
+		var set = typeof selector === "string" ?
+				jQuery( selector, context ) :
+				jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ),
+			all = jQuery.merge( this.get(), set );
+
+		return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?
+			all :
+			jQuery.unique( all ) );
+	},
+
+	addBack: function( selector ) {
+		return this.add( selector == null ?
+			this.prevObject : this.prevObject.filter(selector)
+		);
+	}
+});
+
+jQuery.fn.andSelf = jQuery.fn.addBack;
+
+// A painfully simple check to see if an element is disconnected
+// from a document (should be improved, where feasible).
+function isDisconnected( node ) {
+	return !node || !node.parentNode || node.parentNode.nodeType === 11;
+}
+
+function sibling( cur, dir ) {
+	do {
+		cur = cur[ dir ];
+	} while ( cur && cur.nodeType !== 1 );
+
+	return cur;
+}
+
+jQuery.each({
+	parent: function( elem ) {
+		var parent = elem.parentNode;
+		return parent && parent.nodeType !== 11 ? parent : null;
+	},
+	parents: function( elem ) {
+		return jQuery.dir( elem, "parentNode" );
+	},
+	parentsUntil: function( elem, i, until ) {
+		return jQuery.dir( elem, "parentNode", until );
+	},
+	next: function( elem ) {
+		return sibling( elem, "nextSibling" );
+	},
+	prev: function( elem ) {
+		return sibling( elem, "previousSibling" );
+	},
+	nextAll: function( elem ) {
+		return jQuery.dir( elem, "nextSibling" );
+	},
+	prevAll: function( elem ) {
+		return jQuery.dir( elem, "previousSibling" );
+	},
+	nextUntil: function( elem, i, until ) {
+		return jQuery.dir( elem, "nextSibling", until );
+	},
+	prevUntil: function( elem, i, until ) {
+		return jQuery.dir( elem, "previousSibling", until );
+	},
+	siblings: function( elem ) {
+		return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem );
+	},
+	children: function( elem ) {
+		return jQuery.sibling( elem.firstChild );
+	},
+	contents: function( elem ) {
+		return jQuery.nodeName( elem, "iframe" ) ?
+			elem.contentDocument || elem.contentWindow.document :
+			jQuery.merge( [], elem.childNodes );
+	}
+}, function( name, fn ) {
+	jQuery.fn[ name ] = function( until, selector ) {
+		var ret = jQuery.map( this, fn, until );
+
+		if ( !runtil.test( name ) ) {
+			selector = until;
+		}
+
+		if ( selector && typeof selector === "string" ) {
+			ret = jQuery.filter( selector, ret );
+		}
+
+		ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret;
+
+		if ( this.length > 1 && rparentsprev.test( name ) ) {
+			ret = ret.reverse();
+		}
+
+		return this.pushStack( ret, name, core_slice.call( arguments ).join(",") );
+	};
+});
+
+jQuery.extend({
+	filter: function( expr, elems, not ) {
+		if ( not ) {
+			expr = ":not(" + expr + ")";
+		}
+
+		return elems.length === 1 ?
+			jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] :
+			jQuery.find.matches(expr, elems);
+	},
+
+	dir: function( elem, dir, until ) {
+		var matched = [],
+			cur = elem[ dir ];
+
+		while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {
+			if ( cur.nodeType === 1 ) {
+				matched.push( cur );
+			}
+			cur = cur[dir];
+		}
+		return matched;
+	},
+
+	sibling: function( n, elem ) {
+		var r = [];
+
+		for ( ; n; n = n.nextSibling ) {
+			if ( n.nodeType === 1 && n !== elem ) {
+				r.push( n );
+			}
+		}
+
+		return r;
+	}
+});
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, keep ) {
+
+	// Can't pass null or undefined to indexOf in Firefox 4
+	// Set to 0 to skip string check
+	qualifier = qualifier || 0;
+
+	if ( jQuery.isFunction( qualifier ) ) {
+		return jQuery.grep(elements, function( elem, i ) {
+			var retVal = !!qualifier.call( elem, i, elem );
+			return retVal === keep;
+		});
+
+	} else if ( qualifier.nodeType ) {
+		return jQuery.grep(elements, function( elem, i ) {
+			return ( elem === qualifier ) === keep;
+		});
+
+	} else if ( typeof qualifier === "string" ) {
+		var filtered = jQuery.grep(elements, function( elem ) {
+			return elem.nodeType === 1;
+		});
+
+		if ( isSimple.test( qualifier ) ) {
+			return jQuery.filter(qualifier, filtered, !keep);
+		} else {
+			qualifier = jQuery.filter( qualifier, filtered );
+		}
+	}
+
+	return jQuery.grep(elements, function( elem, i ) {
+		return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep;
+	});
+}
+function createSafeFragment( document ) {
+	var list = nodeNames.split( "|" ),
+	safeFrag = document.createDocumentFragment();
+
+	if ( safeFrag.createElement ) {
+		while ( list.length ) {
+			safeFrag.createElement(
+				list.pop()
+			);
+		}
+	}
+	return safeFrag;
+}
+
+var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" +
+		"header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
+	rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g,
+	rleadingWhitespace = /^\s+/,
+	rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
+	rtagName = /<([\w:]+)/,
+	rtbody = /<tbody/i,
+	rhtml = /<|&#?\w+;/,
+	rnoInnerhtml = /<(?:script|style|link)/i,
+	rnocache = /<(?:script|object|embed|option|style)/i,
+	rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"),
+	rcheckableType = /^(?:checkbox|radio)$/,
+	// checked="checked" or checked
+	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+	rscriptType = /\/(java|ecma)script/i,
+	rcleanScript = /^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,
+	wrapMap = {
+		option: [ 1, "<select multiple='multiple'>", "</select>" ],
+		legend: [ 1, "<fieldset>", "</fieldset>" ],
+		thead: [ 1, "<table>", "</table>" ],
+		tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+		td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+		col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
+		area: [ 1, "<map>", "</map>" ],
+		_default: [ 0, "", "" ]
+	},
+	safeFragment = createSafeFragment( document ),
+	fragmentDiv = safeFragment.appendChild( document.createElement("div") );
+
+wrapMap.optgroup = wrapMap.option;
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+// IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags,
+// unless wrapped in a div with non-breaking characters in front of it.
+if ( !jQuery.support.htmlSerialize ) {
+	wrapMap._default = [ 1, "X<div>", "</div>" ];
+}
+
+jQuery.fn.extend({
+	text: function( value ) {
+		return jQuery.access( this, function( value ) {
+			return value === undefined ?
+				jQuery.text( this ) :
+				this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) );
+		}, null, value, arguments.length );
+	},
+
+	wrapAll: function( html ) {
+		if ( jQuery.isFunction( html ) ) {
+			return this.each(function(i) {
+				jQuery(this).wrapAll( html.call(this, i) );
+			});
+		}
+
+		if ( this[0] ) {
+			// The elements to wrap the target around
+			var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true);
+
+			if ( this[0].parentNode ) {
+				wrap.insertBefore( this[0] );
+			}
+
+			wrap.map(function() {
+				var elem = this;
+
+				while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
+					elem = elem.firstChild;
+				}
+
+				return elem;
+			}).append( this );
+		}
+
+		return this;
+	},
+
+	wrapInner: function( html ) {
+		if ( jQuery.isFunction( html ) ) {
+			return this.each(function(i) {
+				jQuery(this).wrapInner( html.call(this, i) );
+			});
+		}
+
+		return this.each(function() {
+			var self = jQuery( this ),
+				contents = self.contents();
+
+			if ( contents.length ) {
+				contents.wrapAll( html );
+
+			} else {
+				self.append( html );
+			}
+		});
+	},
+
+	wrap: function( html ) {
+		var isFunction = jQuery.isFunction( html );
+
+		return this.each(function(i) {
+			jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );
+		});
+	},
+
+	unwrap: function() {
+		return this.parent().each(function() {
+			if ( !jQuery.nodeName( this, "body" ) ) {
+				jQuery( this ).replaceWith( this.childNodes );
+			}
+		}).end();
+	},
+
+	append: function() {
+		return this.domManip(arguments, true, function( elem ) {
+			if ( this.nodeType === 1 || this.nodeType === 11 ) {
+				this.appendChild( elem );
+			}
+		});
+	},
+
+	prepend: function() {
+		return this.domManip(arguments, true, function( elem ) {
+			if ( this.nodeType === 1 || this.nodeType === 11 ) {
+				this.insertBefore( elem, this.firstChild );
+			}
+		});
+	},
+
+	before: function() {
+		if ( !isDisconnected( this[0] ) ) {
+			return this.domManip(arguments, false, function( elem ) {
+				this.parentNode.insertBefore( elem, this );
+			});
+		}
+
+		if ( arguments.length ) {
+			var set = jQuery.clean( arguments );
+			return this.pushStack( jQuery.merge( set, this ), "before", this.selector );
+		}
+	},
+
+	after: function() {
+		if ( !isDisconnected( this[0] ) ) {
+			return this.domManip(arguments, false, function( elem ) {
+				this.parentNode.insertBefore( elem, this.nextSibling );
+			});
+		}
+
+		if ( arguments.length ) {
+			var set = jQuery.clean( arguments );
+			return this.pushStack( jQuery.merge( this, set ), "after", this.selector );
+		}
+	},
+
+	// keepData is for internal use only--do not document
+	remove: function( selector, keepData ) {
+		var elem,
+			i = 0;
+
+		for ( ; (elem = this[i]) != null; i++ ) {
+			if ( !selector || jQuery.filter( selector, [ elem ] ).length ) {
+				if ( !keepData && elem.nodeType === 1 ) {
+					jQuery.cleanData( elem.getElementsByTagName("*") );
+					jQuery.cleanData( [ elem ] );
+				}
+
+				if ( elem.parentNode ) {
+					elem.parentNode.removeChild( elem );
+				}
+			}
+		}
+
+		return this;
+	},
+
+	empty: function() {
+		var elem,
+			i = 0;
+
+		for ( ; (elem = this[i]) != null; i++ ) {
+			// Remove element nodes and prevent memory leaks
+			if ( elem.nodeType === 1 ) {
+				jQuery.cleanData( elem.getElementsByTagName("*") );
+			}
+
+			// Remove any remaining nodes
+			while ( elem.firstChild ) {
+				elem.removeChild( elem.firstChild );
+			}
+		}
+
+		return this;
+	},
+
+	clone: function( dataAndEvents, deepDataAndEvents ) {
+		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+		return this.map( function () {
+			return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
+		});
+	},
+
+	html: function( value ) {
+		return jQuery.access( this, function( value ) {
+			var elem = this[0] || {},
+				i = 0,
+				l = this.length;
+
+			if ( value === undefined ) {
+				return elem.nodeType === 1 ?
+					elem.innerHTML.replace( rinlinejQuery, "" ) :
+					undefined;
+			}
+
+			// See if we can take a shortcut and just use innerHTML
+			if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+				( jQuery.support.htmlSerialize || !rnoshimcache.test( value )  ) &&
+				( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) &&
+				!wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) {
+
+				value = value.replace( rxhtmlTag, "<$1></$2>" );
+
+				try {
+					for (; i < l; i++ ) {
+						// Remove element nodes and prevent memory leaks
+						elem = this[i] || {};
+						if ( elem.nodeType === 1 ) {
+							jQuery.cleanData( elem.getElementsByTagName( "*" ) );
+							elem.innerHTML = value;
+						}
+					}
+
+					elem = 0;
+
+				// If using innerHTML throws an exception, use the fallback method
+				} catch(e) {}
+			}
+
+			if ( elem ) {
+				this.empty().append( value );
+			}
+		}, null, value, arguments.length );
+	},
+
+	replaceWith: function( value ) {
+		if ( !isDisconnected( this[0] ) ) {
+			// Make sure that the elements are removed from the DOM before they are inserted
+			// this can help fix replacing a parent with child elements
+			if ( jQuery.isFunction( value ) ) {
+				return this.each(function(i) {
+					var self = jQuery(this), old = self.html();
+					self.replaceWith( value.call( this, i, old ) );
+				});
+			}
+
+			if ( typeof value !== "string" ) {
+				value = jQuery( value ).detach();
+			}
+
+			return this.each(function() {
+				var next = this.nextSibling,
+					parent = this.parentNode;
+
+				jQuery( this ).remove();
+
+				if ( next ) {
+					jQuery(next).before( value );
+				} else {
+					jQuery(parent).append( value );
+				}
+			});
+		}
+
+		return this.length ?
+			this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ) :
+			this;
+	},
+
+	detach: function( selector ) {
+		return this.remove( selector, true );
+	},
+
+	domManip: function( args, table, callback ) {
+
+		// Flatten any nested arrays
+		args = [].concat.apply( [], args );
+
+		var results, first, fragment, iNoClone,
+			i = 0,
+			value = args[0],
+			scripts = [],
+			l = this.length;
+
+		// We can't cloneNode fragments that contain checked, in WebKit
+		if ( !jQuery.support.checkClone && l > 1 && typeof value === "string" && rchecked.test( value ) ) {
+			return this.each(function() {
+				jQuery(this).domManip( args, table, callback );
+			});
+		}
+
+		if ( jQuery.isFunction(value) ) {
+			return this.each(function(i) {
+				var self = jQuery(this);
+				args[0] = value.call( this, i, table ? self.html() : undefined );
+				self.domManip( args, table, callback );
+			});
+		}
+
+		if ( this[0] ) {
+			results = jQuery.buildFragment( args, this, scripts );
+			fragment = results.fragment;
+			first = fragment.firstChild;
+
+			if ( fragment.childNodes.length === 1 ) {
+				fragment = first;
+			}
+
+			if ( first ) {
+				table = table && jQuery.nodeName( first, "tr" );
+
+				// Use the original fragment for the last item instead of the first because it can end up
+				// being emptied incorrectly in certain situations (#8070).
+				// Fragments from the fragment cache must always be cloned and never used in place.
+				for ( iNoClone = results.cacheable || l - 1; i < l; i++ ) {
+					callback.call(
+						table && jQuery.nodeName( this[i], "table" ) ?
+							findOrAppend( this[i], "tbody" ) :
+							this[i],
+						i === iNoClone ?
+							fragment :
+							jQuery.clone( fragment, true, true )
+					);
+				}
+			}
+
+			// Fix #11809: Avoid leaking memory
+			fragment = first = null;
+
+			if ( scripts.length ) {
+				jQuery.each( scripts, function( i, elem ) {
+					if ( elem.src ) {
+						if ( jQuery.ajax ) {
+							jQuery.ajax({
+								url: elem.src,
+								type: "GET",
+								dataType: "script",
+								async: false,
+								global: false,
+								"throws": true
+							});
+						} else {
+							jQuery.error("no ajax");
+						}
+					} else {
+						jQuery.globalEval( ( elem.text || elem.textContent || elem.innerHTML || "" ).replace( rcleanScript, "" ) );
+					}
+
+					if ( elem.parentNode ) {
+						elem.parentNode.removeChild( elem );
+					}
+				});
+			}
+		}
+
+		return this;
+	}
+});
+
+function findOrAppend( elem, tag ) {
+	return elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) );
+}
+
+function cloneCopyEvent( src, dest ) {
+
+	if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {
+		return;
+	}
+
+	var type, i, l,
+		oldData = jQuery._data( src ),
+		curData = jQuery._data( dest, oldData ),
+		events = oldData.events;
+
+	if ( events ) {
+		delete curData.handle;
+		curData.events = {};
+
+		for ( type in events ) {
+			for ( i = 0, l = events[ type ].length; i < l; i++ ) {
+				jQuery.event.add( dest, type, events[ type ][ i ] );
+			}
+		}
+	}
+
+	// make the cloned public data object a copy from the original
+	if ( curData.data ) {
+		curData.data = jQuery.extend( {}, curData.data );
+	}
+}
+
+function cloneFixAttributes( src, dest ) {
+	var nodeName;
+
+	// We do not need to do anything for non-Elements
+	if ( dest.nodeType !== 1 ) {
+		return;
+	}
+
+	// clearAttributes removes the attributes, which we don't want,
+	// but also removes the attachEvent events, which we *do* want
+	if ( dest.clearAttributes ) {
+		dest.clearAttributes();
+	}
+
+	// mergeAttributes, in contrast, only merges back on the
+	// original attributes, not the events
+	if ( dest.mergeAttributes ) {
+		dest.mergeAttributes( src );
+	}
+
+	nodeName = dest.nodeName.toLowerCase();
+
+	if ( nodeName === "object" ) {
+		// IE6-10 improperly clones children of object elements using classid.
+		// IE10 throws NoModificationAllowedError if parent is null, #12132.
+		if ( dest.parentNode ) {
+			dest.outerHTML = src.outerHTML;
+		}
+
+		// This path appears unavoidable for IE9. When cloning an object
+		// element in IE9, the outerHTML strategy above is not sufficient.
+		// If the src has innerHTML and the destination does not,
+		// copy the src.innerHTML into the dest.innerHTML. #10324
+		if ( jQuery.support.html5Clone && (src.innerHTML && !jQuery.trim(dest.innerHTML)) ) {
+			dest.innerHTML = src.innerHTML;
+		}
+
+	} else if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
+		// IE6-8 fails to persist the checked state of a cloned checkbox
+		// or radio button. Worse, IE6-7 fail to give the cloned element
+		// a checked appearance if the defaultChecked value isn't also set
+
+		dest.defaultChecked = dest.checked = src.checked;
+
+		// IE6-7 get confused and end up setting the value of a cloned
+		// checkbox/radio button to an empty string instead of "on"
+		if ( dest.value !== src.value ) {
+			dest.value = src.value;
+		}
+
+	// IE6-8 fails to return the selected option to the default selected
+	// state when cloning options
+	} else if ( nodeName === "option" ) {
+		dest.selected = src.defaultSelected;
+
+	// IE6-8 fails to set the defaultValue to the correct value when
+	// cloning other types of input fields
+	} else if ( nodeName === "input" || nodeName === "textarea" ) {
+		dest.defaultValue = src.defaultValue;
+
+	// IE blanks contents when cloning scripts
+	} else if ( nodeName === "script" && dest.text !== src.text ) {
+		dest.text = src.text;
+	}
+
+	// Event data gets referenced instead of copied if the expando
+	// gets copied too
+	dest.removeAttribute( jQuery.expando );
+}
+
+jQuery.buildFragment = function( args, context, scripts ) {
+	var fragment, cacheable, cachehit,
+		first = args[ 0 ];
+
+	// Set context from what may come in as undefined or a jQuery collection or a node
+	// Updated to fix #12266 where accessing context[0] could throw an exception in IE9/10 &
+	// also doubles as fix for #8950 where plain objects caused createDocumentFragment exception
+	context = context || document;
+	context = !context.nodeType && context[0] || context;
+	context = context.ownerDocument || context;
+
+	// Only cache "small" (1/2 KB) HTML strings that are associated with the main document
+	// Cloning options loses the selected state, so don't cache them
+	// IE 6 doesn't like it when you put <object> or <embed> elements in a fragment
+	// Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache
+	// Lastly, IE6,7,8 will not correctly reuse cached fragments that were created from unknown elems #10501
+	if ( args.length === 1 && typeof first === "string" && first.length < 512 && context === document &&
+		first.charAt(0) === "<" && !rnocache.test( first ) &&
+		(jQuery.support.checkClone || !rchecked.test( first )) &&
+		(jQuery.support.html5Clone || !rnoshimcache.test( first )) ) {
+
+		// Mark cacheable and look for a hit
+		cacheable = true;
+		fragment = jQuery.fragments[ first ];
+		cachehit = fragment !== undefined;
+	}
+
+	if ( !fragment ) {
+		fragment = context.createDocumentFragment();
+		jQuery.clean( args, context, fragment, scripts );
+
+		// Update the cache, but only store false
+		// unless this is a second parsing of the same content
+		if ( cacheable ) {
+			jQuery.fragments[ first ] = cachehit && fragment;
+		}
+	}
+
+	return { fragment: fragment, cacheable: cacheable };
+};
+
+jQuery.fragments = {};
+
+jQuery.each({
+	appendTo: "append",
+	prependTo: "prepend",
+	insertBefore: "before",
+	insertAfter: "after",
+	replaceAll: "replaceWith"
+}, function( name, original ) {
+	jQuery.fn[ name ] = function( selector ) {
+		var elems,
+			i = 0,
+			ret = [],
+			insert = jQuery( selector ),
+			l = insert.length,
+			parent = this.length === 1 && this[0].parentNode;
+
+		if ( (parent == null || parent && parent.nodeType === 11 && parent.childNodes.length === 1) && l === 1 ) {
+			insert[ original ]( this[0] );
+			return this;
+		} else {
+			for ( ; i < l; i++ ) {
+				elems = ( i > 0 ? this.clone(true) : this ).get();
+				jQuery( insert[i] )[ original ]( elems );
+				ret = ret.concat( elems );
+			}
+
+			return this.pushStack( ret, name, insert.selector );
+		}
+	};
+});
+
+function getAll( elem ) {
+	if ( typeof elem.getElementsByTagName !== "undefined" ) {
+		return elem.getElementsByTagName( "*" );
+
+	} else if ( typeof elem.querySelectorAll !== "undefined" ) {
+		return elem.querySelectorAll( "*" );
+
+	} else {
+		return [];
+	}
+}
+
+// Used in clean, fixes the defaultChecked property
+function fixDefaultChecked( elem ) {
+	if ( rcheckableType.test( elem.type ) ) {
+		elem.defaultChecked = elem.checked;
+	}
+}
+
+jQuery.extend({
+	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+		var srcElements,
+			destElements,
+			i,
+			clone;
+
+		if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) {
+			clone = elem.cloneNode( true );
+
+		// IE<=8 does not properly clone detached, unknown element nodes
+		} else {
+			fragmentDiv.innerHTML = elem.outerHTML;
+			fragmentDiv.removeChild( clone = fragmentDiv.firstChild );
+		}
+
+		if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&
+				(elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
+			// IE copies events bound via attachEvent when using cloneNode.
+			// Calling detachEvent on the clone will also remove the events
+			// from the original. In order to get around this, we use some
+			// proprietary methods to clear the events. Thanks to MooTools
+			// guys for this hotness.
+
+			cloneFixAttributes( elem, clone );
+
+			// Using Sizzle here is crazy slow, so we use getElementsByTagName instead
+			srcElements = getAll( elem );
+			destElements = getAll( clone );
+
+			// Weird iteration because IE will replace the length property
+			// with an element if you are cloning the body and one of the
+			// elements on the page has a name or id of "length"
+			for ( i = 0; srcElements[i]; ++i ) {
+				// Ensure that the destination node is not null; Fixes #9587
+				if ( destElements[i] ) {
+					cloneFixAttributes( srcElements[i], destElements[i] );
+				}
+			}
+		}
+
+		// Copy the events from the original to the clone
+		if ( dataAndEvents ) {
+			cloneCopyEvent( elem, clone );
+
+			if ( deepDataAndEvents ) {
+				srcElements = getAll( elem );
+				destElements = getAll( clone );
+
+				for ( i = 0; srcElements[i]; ++i ) {
+					cloneCopyEvent( srcElements[i], destElements[i] );
+				}
+			}
+		}
+
+		srcElements = destElements = null;
+
+		// Return the cloned set
+		return clone;
+	},
+
+	clean: function( elems, context, fragment, scripts ) {
+		var i, j, elem, tag, wrap, depth, div, hasBody, tbody, len, handleScript, jsTags,
+			safe = context === document && safeFragment,
+			ret = [];
+
+		// Ensure that context is a document
+		if ( !context || typeof context.createDocumentFragment === "undefined" ) {
+			context = document;
+		}
+
+		// Use the already-created safe fragment if context permits
+		for ( i = 0; (elem = elems[i]) != null; i++ ) {
+			if ( typeof elem === "number" ) {
+				elem += "";
+			}
+
+			if ( !elem ) {
+				continue;
+			}
+
+			// Convert html string into DOM nodes
+			if ( typeof elem === "string" ) {
+				if ( !rhtml.test( elem ) ) {
+					elem = context.createTextNode( elem );
+				} else {
+					// Ensure a safe container in which to render the html
+					safe = safe || createSafeFragment( context );
+					div = context.createElement("div");
+					safe.appendChild( div );
+
+					// Fix "XHTML"-style tags in all browsers
+					elem = elem.replace(rxhtmlTag, "<$1></$2>");
+
+					// Go to html and back, then peel off extra wrappers
+					tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase();
+					wrap = wrapMap[ tag ] || wrapMap._default;
+					depth = wrap[0];
+					div.innerHTML = wrap[1] + elem + wrap[2];
+
+					// Move to the right depth
+					while ( depth-- ) {
+						div = div.lastChild;
+					}
+
+					// Remove IE's autoinserted <tbody> from table fragments
+					if ( !jQuery.support.tbody ) {
+
+						// String was a <table>, *may* have spurious <tbody>
+						hasBody = rtbody.test(elem);
+							tbody = tag === "table" && !hasBody ?
+								div.firstChild && div.firstChild.childNodes :
+
+								// String was a bare <thead> or <tfoot>
+								wrap[1] === "<table>" && !hasBody ?
+									div.childNodes :
+									[];
+
+						for ( j = tbody.length - 1; j >= 0 ; --j ) {
+							if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) {
+								tbody[ j ].parentNode.removeChild( tbody[ j ] );
+							}
+						}
+					}
+
+					// IE completely kills leading whitespace when innerHTML is used
+					if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
+						div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild );
+					}
+
+					elem = div.childNodes;
+
+					// Take out of fragment container (we need a fresh div each time)
+					div.parentNode.removeChild( div );
+				}
+			}
+
+			if ( elem.nodeType ) {
+				ret.push( elem );
+			} else {
+				jQuery.merge( ret, elem );
+			}
+		}
+
+		// Fix #11356: Clear elements from safeFragment
+		if ( div ) {
+			elem = div = safe = null;
+		}
+
+		// Reset defaultChecked for any radios and checkboxes
+		// about to be appended to the DOM in IE 6/7 (#8060)
+		if ( !jQuery.support.appendChecked ) {
+			for ( i = 0; (elem = ret[i]) != null; i++ ) {
+				if ( jQuery.nodeName( elem, "input" ) ) {
+					fixDefaultChecked( elem );
+				} else if ( typeof elem.getElementsByTagName !== "undefined" ) {
+					jQuery.grep( elem.getElementsByTagName("input"), fixDefaultChecked );
+				}
+			}
+		}
+
+		// Append elements to a provided document fragment
+		if ( fragment ) {
+			// Special handling of each script element
+			handleScript = function( elem ) {
+				// Check if we consider it executable
+				if ( !elem.type || rscriptType.test( elem.type ) ) {
+					// Detach the script and store it in the scripts array (if provided) or the fragment
+					// Return truthy to indicate that it has been handled
+					return scripts ?
+						scripts.push( elem.parentNode ? elem.parentNode.removeChild( elem ) : elem ) :
+						fragment.appendChild( elem );
+				}
+			};
+
+			for ( i = 0; (elem = ret[i]) != null; i++ ) {
+				// Check if we're done after handling an executable script
+				if ( !( jQuery.nodeName( elem, "script" ) && handleScript( elem ) ) ) {
+					// Append to fragment and handle embedded scripts
+					fragment.appendChild( elem );
+					if ( typeof elem.getElementsByTagName !== "undefined" ) {
+						// handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration
+						jsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName("script") ), handleScript );
+
+						// Splice the scripts into ret after their former ancestor and advance our index beyond them
+						ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
+						i += jsTags.length;
+					}
+				}
+			}
+		}
+
+		return ret;
+	},
+
+	cleanData: function( elems, /* internal */ acceptData ) {
+		var data, id, elem, type,
+			i = 0,
+			internalKey = jQuery.expando,
+			cache = jQuery.cache,
+			deleteExpando = jQuery.support.deleteExpando,
+			special = jQuery.event.special;
+
+		for ( ; (elem = elems[i]) != null; i++ ) {
+
+			if ( acceptData || jQuery.acceptData( elem ) ) {
+
+				id = elem[ internalKey ];
+				data = id && cache[ id ];
+
+				if ( data ) {
+					if ( data.events ) {
+						for ( type in data.events ) {
+							if ( special[ type ] ) {
+								jQuery.event.remove( elem, type );
+
+							// This is a shortcut to avoid jQuery.event.remove's overhead
+							} else {
+								jQuery.removeEvent( elem, type, data.handle );
+							}
+						}
+					}
+
+					// Remove cache only if it was not already removed by jQuery.event.remove
+					if ( cache[ id ] ) {
+
+						delete cache[ id ];
+
+						// IE does not allow us to delete expando properties from nodes,
+						// nor does it have a removeAttribute function on Document nodes;
+						// we must handle all of these cases
+						if ( deleteExpando ) {
+							delete elem[ internalKey ];
+
+						} else if ( elem.removeAttribute ) {
+							elem.removeAttribute( internalKey );
+
+						} else {
+							elem[ internalKey ] = null;
+						}
+
+						jQuery.deletedIds.push( id );
+					}
+				}
+			}
+		}
+	}
+});
+// Limit scope pollution from any deprecated API
+(function() {
+
+var matched, browser;
+
+// Use of jQuery.browser is frowned upon.
+// More details: http://api.jquery.com/jQuery.browser
+// jQuery.uaMatch maintained for back-compat
+jQuery.uaMatch = function( ua ) {
+	ua = ua.toLowerCase();
+
+	var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
+		/(webkit)[ \/]([\w.]+)/.exec( ua ) ||
+		/(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
+		/(msie) ([\w.]+)/.exec( ua ) ||
+		ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
+		[];
+
+	return {
+		browser: match[ 1 ] || "",
+		version: match[ 2 ] || "0"
+	};
+};
+
+matched = jQuery.uaMatch( navigator.userAgent );
+browser = {};
+
+if ( matched.browser ) {
+	browser[ matched.browser ] = true;
+	browser.version = matched.version;
+}
+
+// Chrome is Webkit, but Webkit is also Safari.
+if ( browser.chrome ) {
+	browser.webkit = true;
+} else if ( browser.webkit ) {
+	browser.safari = true;
+}
+
+jQuery.browser = browser;
+
+jQuery.sub = function() {
+	function jQuerySub( selector, context ) {
+		return new jQuerySub.fn.init( selector, context );
+	}
+	jQuery.extend( true, jQuerySub, this );
+	jQuerySub.superclass = this;
+	jQuerySub.fn = jQuerySub.prototype = this();
+	jQuerySub.fn.constructor = jQuerySub;
+	jQuerySub.sub = this.sub;
+	jQuerySub.fn.init = function init( selector, context ) {
+		if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
+			context = jQuerySub( context );
+		}
+
+		return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
+	};
+	jQuerySub.fn.init.prototype = jQuerySub.fn;
+	var rootjQuerySub = jQuerySub(document);
+	return jQuerySub;
+};
+
+})();
+var curCSS, iframe, iframeDoc,
+	ralpha = /alpha\([^)]*\)/i,
+	ropacity = /opacity=([^)]*)/,
+	rposition = /^(top|right|bottom|left)$/,
+	// swappable if display is none or starts with table except "table", "table-cell", or "table-caption"
+	// see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+	rmargin = /^margin/,
+	rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ),
+	rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ),
+	rrelNum = new RegExp( "^([-+])=(" + core_pnum + ")", "i" ),
+	elemdisplay = {},
+
+	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+	cssNormalTransform = {
+		letterSpacing: 0,
+		fontWeight: 400
+	},
+
+	cssExpand = [ "Top", "Right", "Bottom", "Left" ],
+	cssPrefixes = [ "Webkit", "O", "Moz", "ms" ],
+
+	eventsToggle = jQuery.fn.toggle;
+
+// return a css property mapped to a potentially vendor prefixed property
+function vendorPropName( style, name ) {
+
+	// shortcut for names that are not vendor prefixed
+	if ( name in style ) {
+		return name;
+	}
+
+	// check for vendor prefixed names
+	var capName = name.charAt(0).toUpperCase() + name.slice(1),
+		origName = name,
+		i = cssPrefixes.length;
+
+	while ( i-- ) {
+		name = cssPrefixes[ i ] + capName;
+		if ( name in style ) {
+			return name;
+		}
+	}
+
+	return origName;
+}
+
+function isHidden( elem, el ) {
+	elem = el || elem;
+	return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem );
+}
+
+function showHide( elements, show ) {
+	var elem, display,
+		values = [],
+		index = 0,
+		length = elements.length;
+
+	for ( ; index < length; index++ ) {
+		elem = elements[ index ];
+		if ( !elem.style ) {
+			continue;
+		}
+		values[ index ] = jQuery._data( elem, "olddisplay" );
+		if ( show ) {
+			// Reset the inline display of this element to learn if it is
+			// being hidden by cascaded rules or not
+			if ( !values[ index ] && elem.style.display === "none" ) {
+				elem.style.display = "";
+			}
+
+			// Set elements which have been overridden with display: none
+			// in a stylesheet to whatever the default browser style is
+			// for such an element
+			if ( elem.style.display === "" && isHidden( elem ) ) {
+				values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) );
+			}
+		} else {
+			display = curCSS( elem, "display" );
+
+			if ( !values[ index ] && display !== "none" ) {
+				jQuery._data( elem, "olddisplay", display );
+			}
+		}
+	}
+
+	// Set the display of most of the elements in a second loop
+	// to avoid the constant reflow
+	for ( index = 0; index < length; index++ ) {
+		elem = elements[ index ];
+		if ( !elem.style ) {
+			continue;
+		}
+		if ( !show || elem.style.display === "none" || elem.style.display === "" ) {
+			elem.style.display = show ? values[ index ] || "" : "none";
+		}
+	}
+
+	return elements;
+}
+
+jQuery.fn.extend({
+	css: function( name, value ) {
+		return jQuery.access( this, function( elem, name, value ) {
+			return value !== undefined ?
+				jQuery.style( elem, name, value ) :
+				jQuery.css( elem, name );
+		}, name, value, arguments.length > 1 );
+	},
+	show: function() {
+		return showHide( this, true );
+	},
+	hide: function() {
+		return showHide( this );
+	},
+	toggle: function( state, fn2 ) {
+		var bool = typeof state === "boolean";
+
+		if ( jQuery.isFunction( state ) && jQuery.isFunction( fn2 ) ) {
+			return eventsToggle.apply( this, arguments );
+		}
+
+		return this.each(function() {
+			if ( bool ? state : isHidden( this ) ) {
+				jQuery( this ).show();
+			} else {
+				jQuery( this ).hide();
+			}
+		});
+	}
+});
+
+jQuery.extend({
+	// Add in style property hooks for overriding the default
+	// behavior of getting and setting a style property
+	cssHooks: {
+		opacity: {
+			get: function( elem, computed ) {
+				if ( computed ) {
+					// We should always get a number back from opacity
+					var ret = curCSS( elem, "opacity" );
+					return ret === "" ? "1" : ret;
+
+				}
+			}
+		}
+	},
+
+	// Exclude the following css properties to add px
+	cssNumber: {
+		"fillOpacity": true,
+		"fontWeight": true,
+		"lineHeight": true,
+		"opacity": true,
+		"orphans": true,
+		"widows": true,
+		"zIndex": true,
+		"zoom": true
+	},
+
+	// Add in properties whose names you wish to fix before
+	// setting or getting the value
+	cssProps: {
+		// normalize float css property
+		"float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat"
+	},
+
+	// Get and set the style property on a DOM Node
+	style: function( elem, name, value, extra ) {
+		// Don't set styles on text and comment nodes
+		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+			return;
+		}
+
+		// Make sure that we're working with the right name
+		var ret, type, hooks,
+			origName = jQuery.camelCase( name ),
+			style = elem.style;
+
+		name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) );
+
+		// gets hook for the prefixed version
+		// followed by the unprefixed version
+		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+		// Check if we're setting a value
+		if ( value !== undefined ) {
+			type = typeof value;
+
+			// convert relative number strings (+= or -=) to relative numbers. #7345
+			if ( type === "string" && (ret = rrelNum.exec( value )) ) {
+				value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) );
+				// Fixes bug #9237
+				type = "number";
+			}
+
+			// Make sure that NaN and null values aren't set. See: #7116
+			if ( value == null || type === "number" && isNaN( value ) ) {
+				return;
+			}
+
+			// If a number was passed in, add 'px' to the (except for certain CSS properties)
+			if ( type === "number" && !jQuery.cssNumber[ origName ] ) {
+				value += "px";
+			}
+
+			// If a hook was provided, use that value, otherwise just set the specified value
+			if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {
+				// Wrapped to prevent IE from throwing errors when 'invalid' values are provided
+				// Fixes bug #5509
+				try {
+					style[ name ] = value;
+				} catch(e) {}
+			}
+
+		} else {
+			// If a hook was provided get the non-computed value from there
+			if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {
+				return ret;
+			}
+
+			// Otherwise just get the value from the style object
+			return style[ name ];
+		}
+	},
+
+	css: function( elem, name, numeric, extra ) {
+		var val, num, hooks,
+			origName = jQuery.camelCase( name );
+
+		// Make sure that we're working with the right name
+		name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) );
+
+		// gets hook for the prefixed version
+		// followed by the unprefixed version
+		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+		// If a hook was provided get the computed value from there
+		if ( hooks && "get" in hooks ) {
+			val = hooks.get( elem, true, extra );
+		}
+
+		// Otherwise, if a way to get the computed value exists, use that
+		if ( val === undefined ) {
+			val = curCSS( elem, name );
+		}
+
+		//convert "normal" to computed value
+		if ( val === "normal" && name in cssNormalTransform ) {
+			val = cssNormalTransform[ name ];
+		}
+
+		// Return, converting to number if forced or a qualifier was provided and val looks numeric
+		if ( numeric || extra !== undefined ) {
+			num = parseFloat( val );
+			return numeric || jQuery.isNumeric( num ) ? num || 0 : val;
+		}
+		return val;
+	},
+
+	// A method for quickly swapping in/out CSS properties to get correct calculations
+	swap: function( elem, options, callback ) {
+		var ret, name,
+			old = {};
+
+		// Remember the old values, and insert the new ones
+		for ( name in options ) {
+			old[ name ] = elem.style[ name ];
+			elem.style[ name ] = options[ name ];
+		}
+
+		ret = callback.call( elem );
+
+		// Revert the old values
+		for ( name in options ) {
+			elem.style[ name ] = old[ name ];
+		}
+
+		return ret;
+	}
+});
+
+// NOTE: To any future maintainer, we've window.getComputedStyle
+// because jsdom on node.js will break without it.
+if ( window.getComputedStyle ) {
+	curCSS = function( elem, name ) {
+		var ret, width, minWidth, maxWidth,
+			computed = window.getComputedStyle( elem, null ),
+			style = elem.style;
+
+		if ( computed ) {
+
+			ret = computed[ name ];
+			if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
+				ret = jQuery.style( elem, name );
+			}
+
+			// A tribute to the "awesome hack by Dean Edwards"
+			// Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right
+			// Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels
+			// this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values
+			if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {
+				width = style.width;
+				minWidth = style.minWidth;
+				maxWidth = style.maxWidth;
+
+				style.minWidth = style.maxWidth = style.width = ret;
+				ret = computed.width;
+
+				style.width = width;
+				style.minWidth = minWidth;
+				style.maxWidth = maxWidth;
+			}
+		}
+
+		return ret;
+	};
+} else if ( document.documentElement.currentStyle ) {
+	curCSS = function( elem, name ) {
+		var left, rsLeft,
+			ret = elem.currentStyle && elem.currentStyle[ name ],
+			style = elem.style;
+
+		// Avoid setting ret to empty string here
+		// so we don't default to auto
+		if ( ret == null && style && style[ name ] ) {
+			ret = style[ name ];
+		}
+
+		// From the awesome hack by Dean Edwards
+		// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
+
+		// If we're not dealing with a regular pixel number
+		// but a number that has a weird ending, we need to convert it to pixels
+		// but not position css attributes, as those are proportional to the parent element instead
+		// and we can't measure the parent instead because it might trigger a "stacking dolls" problem
+		if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) {
+
+			// Remember the original values
+			left = style.left;
+			rsLeft = elem.runtimeStyle && elem.runtimeStyle.left;
+
+			// Put in the new values to get a computed value out
+			if ( rsLeft ) {
+				elem.runtimeStyle.left = elem.currentStyle.left;
+			}
+			style.left = name === "fontSize" ? "1em" : ret;
+			ret = style.pixelLeft + "px";
+
+			// Revert the changed values
+			style.left = left;
+			if ( rsLeft ) {
+				elem.runtimeStyle.left = rsLeft;
+			}
+		}
+
+		return ret === "" ? "auto" : ret;
+	};
+}
+
+function setPositiveNumber( elem, value, subtract ) {
+	var matches = rnumsplit.exec( value );
+	return matches ?
+			Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) :
+			value;
+}
+
+function augmentWidthOrHeight( elem, name, extra, isBorderBox ) {
+	var i = extra === ( isBorderBox ? "border" : "content" ) ?
+		// If we already have the right measurement, avoid augmentation
+		4 :
+		// Otherwise initialize for horizontal or vertical properties
+		name === "width" ? 1 : 0,
+
+		val = 0;
+
+	for ( ; i < 4; i += 2 ) {
+		// both box models exclude margin, so add it if we want it
+		if ( extra === "margin" ) {
+			// we use jQuery.css instead of curCSS here
+			// because of the reliableMarginRight CSS hook!
+			val += jQuery.css( elem, extra + cssExpand[ i ], true );
+		}
+
+		// From this point on we use curCSS for maximum performance (relevant in animations)
+		if ( isBorderBox ) {
+			// border-box includes padding, so remove it if we want content
+			if ( extra === "content" ) {
+				val -= parseFloat( curCSS( elem, "padding" + cssExpand[ i ] ) ) || 0;
+			}
+
+			// at this point, extra isn't border nor margin, so remove border
+			if ( extra !== "margin" ) {
+				val -= parseFloat( curCSS( elem, "border" + cssExpand[ i ] + "Width" ) ) || 0;
+			}
+		} else {
+			// at this point, extra isn't content, so add padding
+			val += parseFloat( curCSS( elem, "padding" + cssExpand[ i ] ) ) || 0;
+
+			// at this point, extra isn't content nor padding, so add border
+			if ( extra !== "padding" ) {
+				val += parseFloat( curCSS( elem, "border" + cssExpand[ i ] + "Width" ) ) || 0;
+			}
+		}
+	}
+
+	return val;
+}
+
+function getWidthOrHeight( elem, name, extra ) {
+
+	// Start with offset property, which is equivalent to the border-box value
+	var val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
+		valueIsBorderBox = true,
+		isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing" ) === "border-box";
+
+	// some non-html elements return undefined for offsetWidth, so check for null/undefined
+	// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
+	// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
+	if ( val <= 0 || val == null ) {
+		// Fall back to computed then uncomputed css if necessary
+		val = curCSS( elem, name );
+		if ( val < 0 || val == null ) {
+			val = elem.style[ name ];
+		}
+
+		// Computed unit is not pixels. Stop here and return.
+		if ( rnumnonpx.test(val) ) {
+			return val;
+		}
+
+		// we need the check for style in case a browser which returns unreliable values
+		// for getComputedStyle silently falls back to the reliable elem.style
+		valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] );
+
+		// Normalize "", auto, and prepare for extra
+		val = parseFloat( val ) || 0;
+	}
+
+	// use the active box-sizing model to add/subtract irrelevant styles
+	return ( val +
+		augmentWidthOrHeight(
+			elem,
+			name,
+			extra || ( isBorderBox ? "border" : "content" ),
+			valueIsBorderBox
+		)
+	) + "px";
+}
+
+
+// Try to determine the default display value of an element
+function css_defaultDisplay( nodeName ) {
+	if ( elemdisplay[ nodeName ] ) {
+		return elemdisplay[ nodeName ];
+	}
+
+	var elem = jQuery( "<" + nodeName + ">" ).appendTo( document.body ),
+		display = elem.css("display");
+	elem.remove();
+
+	// If the simple way fails,
+	// get element's real default display by attaching it to a temp iframe
+	if ( display === "none" || display === "" ) {
+		// Use the already-created iframe if possible
+		iframe = document.body.appendChild(
+			iframe || jQuery.extend( document.createElement("iframe"), {
+				frameBorder: 0,
+				width: 0,
+				height: 0
+			})
+		);
+
+		// Create a cacheable copy of the iframe document on first call.
+		// IE and Opera will allow us to reuse the iframeDoc without re-writing the fake HTML
+		// document to it; WebKit & Firefox won't allow reusing the iframe document.
+		if ( !iframeDoc || !iframe.createElement ) {
+			iframeDoc = ( iframe.contentWindow || iframe.contentDocument ).document;
+			iframeDoc.write("<!doctype html><html><body>");
+			iframeDoc.close();
+		}
+
+		elem = iframeDoc.body.appendChild( iframeDoc.createElement(nodeName) );
+
+		display = curCSS( elem, "display" );
+		document.body.removeChild( iframe );
+	}
+
+	// Store the correct default display
+	elemdisplay[ nodeName ] = display;
+
+	return display;
+}
+
+jQuery.each([ "height", "width" ], function( i, name ) {
+	jQuery.cssHooks[ name ] = {
+		get: function( elem, computed, extra ) {
+			if ( computed ) {
+				// certain elements can have dimension info if we invisibly show them
+				// however, it must have a current display style that would benefit from this
+				if ( elem.offsetWidth === 0 && rdisplayswap.test( curCSS( elem, "display" ) ) ) {
+					return jQuery.swap( elem, cssShow, function() {
+						return getWidthOrHeight( elem, name, extra );
+					});
+				} else {
+					return getWidthOrHeight( elem, name, extra );
+				}
+			}
+		},
+
+		set: function( elem, value, extra ) {
+			return setPositiveNumber( elem, value, extra ?
+				augmentWidthOrHeight(
+					elem,
+					name,
+					extra,
+					jQuery.support.boxSizing && jQuery.css( elem, "boxSizing" ) === "border-box"
+				) : 0
+			);
+		}
+	};
+});
+
+if ( !jQuery.support.opacity ) {
+	jQuery.cssHooks.opacity = {
+		get: function( elem, computed ) {
+			// IE uses filters for opacity
+			return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ?
+				( 0.01 * parseFloat( RegExp.$1 ) ) + "" :
+				computed ? "1" : "";
+		},
+
+		set: function( elem, value ) {
+			var style = elem.style,
+				currentStyle = elem.currentStyle,
+				opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "",
+				filter = currentStyle && currentStyle.filter || style.filter || "";
+
+			// IE has trouble with opacity if it does not have layout
+			// Force it by setting the zoom level
+			style.zoom = 1;
+
+			// if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652
+			if ( value >= 1 && jQuery.trim( filter.replace( ralpha, "" ) ) === "" &&
+				style.removeAttribute ) {
+
+				// Setting style.filter to null, "" & " " still leave "filter:" in the cssText
+				// if "filter:" is present at all, clearType is disabled, we want to avoid this
+				// style.removeAttribute is IE Only, but so apparently is this code path...
+				style.removeAttribute( "filter" );
+
+				// if there there is no filter style applied in a css rule, we are done
+				if ( currentStyle && !currentStyle.filter ) {
+					return;
+				}
+			}
+
+			// otherwise, set new filter values
+			style.filter = ralpha.test( filter ) ?
+				filter.replace( ralpha, opacity ) :
+				filter + " " + opacity;
+		}
+	};
+}
+
+// These hooks cannot be added until DOM ready because the support test
+// for it is not run until after DOM ready
+jQuery(function() {
+	if ( !jQuery.support.reliableMarginRight ) {
+		jQuery.cssHooks.marginRight = {
+			get: function( elem, computed ) {
+				// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
+				// Work around by temporarily setting element display to inline-block
+				return jQuery.swap( elem, { "display": "inline-block" }, function() {
+					if ( computed ) {
+						return curCSS( elem, "marginRight" );
+					}
+				});
+			}
+		};
+	}
+
+	// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
+	// getComputedStyle returns percent when specified for top/left/bottom/right
+	// rather than make the css module depend on the offset module, we just check for it here
+	if ( !jQuery.support.pixelPosition && jQuery.fn.position ) {
+		jQuery.each( [ "top", "left" ], function( i, prop ) {
+			jQuery.cssHooks[ prop ] = {
+				get: function( elem, computed ) {
+					if ( computed ) {
+						var ret = curCSS( elem, prop );
+						// if curCSS returns percentage, fallback to offset
+						return rnumnonpx.test( ret ) ? jQuery( elem ).position()[ prop ] + "px" : ret;
+					}
+				}
+			};
+		});
+	}
+
+});
+
+if ( jQuery.expr && jQuery.expr.filters ) {
+	jQuery.expr.filters.hidden = function( elem ) {
+		return ( elem.offsetWidth === 0 && elem.offsetHeight === 0 ) || (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || curCSS( elem, "display" )) === "none");
+	};
+
+	jQuery.expr.filters.visible = function( elem ) {
+		return !jQuery.expr.filters.hidden( elem );
+	};
+}
+
+// These hooks are used by animate to expand properties
+jQuery.each({
+	margin: "",
+	padding: "",
+	border: "Width"
+}, function( prefix, suffix ) {
+	jQuery.cssHooks[ prefix + suffix ] = {
+		expand: function( value ) {
+			var i,
+
+				// assumes a single number if not a string
+				parts = typeof value === "string" ? value.split(" ") : [ value ],
+				expanded = {};
+
+			for ( i = 0; i < 4; i++ ) {
+				expanded[ prefix + cssExpand[ i ] + suffix ] =
+					parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
+			}
+
+			return expanded;
+		}
+	};
+
+	if ( !rmargin.test( prefix ) ) {
+		jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
+	}
+});
+var r20 = /%20/g,
+	rbracket = /\[\]$/,
+	rCRLF = /\r?\n/g,
+	rinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
+	rselectTextarea = /^(?:select|textarea)/i;
+
+jQuery.fn.extend({
+	serialize: function() {
+		return jQuery.param( this.serializeArray() );
+	},
+	serializeArray: function() {
+		return this.map(function(){
+			return this.elements ? jQuery.makeArray( this.elements ) : this;
+		})
+		.filter(function(){
+			return this.name && !this.disabled &&
+				( this.checked || rselectTextarea.test( this.nodeName ) ||
+					rinput.test( this.type ) );
+		})
+		.map(function( i, elem ){
+			var val = jQuery( this ).val();
+
+			return val == null ?
+				null :
+				jQuery.isArray( val ) ?
+					jQuery.map( val, function( val, i ){
+						return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+					}) :
+					{ name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+		}).get();
+	}
+});
+
+//Serialize an array of form elements or a set of
+//key/values into a query string
+jQuery.param = function( a, traditional ) {
+	var prefix,
+		s = [],
+		add = function( key, value ) {
+			// If value is a function, invoke it and return its value
+			value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value );
+			s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
+		};
+
+	// Set traditional to true for jQuery <= 1.3.2 behavior.
+	if ( traditional === undefined ) {
+		traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;
+	}
+
+	// If an array was passed in, assume that it is an array of form elements.
+	if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+		// Serialize the form elements
+		jQuery.each( a, function() {
+			add( this.name, this.value );
+		});
+
+	} else {
+		// If traditional, encode the "old" way (the way 1.3.2 or older
+		// did it), otherwise encode params recursively.
+		for ( prefix in a ) {
+			buildParams( prefix, a[ prefix ], traditional, add );
+		}
+	}
+
+	// Return the resulting serialization
+	return s.join( "&" ).replace( r20, "+" );
+};
+
+function buildParams( prefix, obj, traditional, add ) {
+	var name;
+
+	if ( jQuery.isArray( obj ) ) {
+		// Serialize array item.
+		jQuery.each( obj, function( i, v ) {
+			if ( traditional || rbracket.test( prefix ) ) {
+				// Treat each array item as a scalar.
+				add( prefix, v );
+
+			} else {
+				// If array item is non-scalar (array or object), encode its
+				// numeric index to resolve deserialization ambiguity issues.
+				// Note that rack (as of 1.0.0) can't currently deserialize
+				// nested arrays properly, and attempting to do so may cause
+				// a server error. Possible fixes are to modify rack's
+				// deserialization algorithm or to provide an option or flag
+				// to force array serialization to be shallow.
+				buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add );
+			}
+		});
+
+	} else if ( !traditional && jQuery.type( obj ) === "object" ) {
+		// Serialize object item.
+		for ( name in obj ) {
+			buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+		}
+
+	} else {
+		// Serialize scalar item.
+		add( prefix, obj );
+	}
+}
+var
+	// Document location
+	ajaxLocParts,
+	ajaxLocation,
+
+	rhash = /#.*$/,
+	rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL
+	// #7653, #8125, #8152: local protocol detection
+	rlocalProtocol = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,
+	rnoContent = /^(?:GET|HEAD)$/,
+	rprotocol = /^\/\//,
+	rquery = /\?/,
+	rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
+	rts = /([?&])_=[^&]*/,
+	rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,
+
+	// Keep a copy of the old load method
+	_load = jQuery.fn.load,
+
+	/* Prefilters
+	 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
+	 * 2) These are called:
+	 *    - BEFORE asking for a transport
+	 *    - AFTER param serialization (s.data is a string if s.processData is true)
+	 * 3) key is the dataType
+	 * 4) the catchall symbol "*" can be used
+	 * 5) execution will start with transport dataType and THEN continue down to "*" if needed
+	 */
+	prefilters = {},
+
+	/* Transports bindings
+	 * 1) key is the dataType
+	 * 2) the catchall symbol "*" can be used
+	 * 3) selection will start with transport dataType and THEN go to "*" if needed
+	 */
+	transports = {},
+
+	// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
+	allTypes = ["*/"] + ["*"];
+
+// #8138, IE may throw an exception when accessing
+// a field from window.location if document.domain has been set
+try {
+	ajaxLocation = location.href;
+} catch( e ) {
+	// Use the href attribute of an A element
+	// since IE will modify it given document.location
+	ajaxLocation = document.createElement( "a" );
+	ajaxLocation.href = "";
+	ajaxLocation = ajaxLocation.href;
+}
+
+// Segment location into parts
+ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];
+
+// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
+function addToPrefiltersOrTransports( structure ) {
+
+	// dataTypeExpression is optional and defaults to "*"
+	return function( dataTypeExpression, func ) {
+
+		if ( typeof dataTypeExpression !== "string" ) {
+			func = dataTypeExpression;
+			dataTypeExpression = "*";
+		}
+
+		var dataType, list, placeBefore,
+			dataTypes = dataTypeExpression.toLowerCase().split( core_rspace ),
+			i = 0,
+			length = dataTypes.length;
+
+		if ( jQuery.isFunction( func ) ) {
+			// For each dataType in the dataTypeExpression
+			for ( ; i < length; i++ ) {
+				dataType = dataTypes[ i ];
+				// We control if we're asked to add before
+				// any existing element
+				placeBefore = /^\+/.test( dataType );
+				if ( placeBefore ) {
+					dataType = dataType.substr( 1 ) || "*";
+				}
+				list = structure[ dataType ] = structure[ dataType ] || [];
+				// then we add to the structure accordingly
+				list[ placeBefore ? "unshift" : "push" ]( func );
+			}
+		}
+	};
+}
+
+// Base inspection function for prefilters and transports
+function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR,
+		dataType /* internal */, inspected /* internal */ ) {
+
+	dataType = dataType || options.dataTypes[ 0 ];
+	inspected = inspected || {};
+
+	inspected[ dataType ] = true;
+
+	var selection,
+		list = structure[ dataType ],
+		i = 0,
+		length = list ? list.length : 0,
+		executeOnly = ( structure === prefilters );
+
+	for ( ; i < length && ( executeOnly || !selection ); i++ ) {
+		selection = list[ i ]( options, originalOptions, jqXHR );
+		// If we got redirected to another dataType
+		// we try there if executing only and not done already
+		if ( typeof selection === "string" ) {
+			if ( !executeOnly || inspected[ selection ] ) {
+				selection = undefined;
+			} else {
+				options.dataTypes.unshift( selection );
+				selection = inspectPrefiltersOrTransports(
+						structure, options, originalOptions, jqXHR, selection, inspected );
+			}
+		}
+	}
+	// If we're only executing or nothing was selected
+	// we try the catchall dataType if not done already
+	if ( ( executeOnly || !selection ) && !inspected[ "*" ] ) {
+		selection = inspectPrefiltersOrTransports(
+				structure, options, originalOptions, jqXHR, "*", inspected );
+	}
+	// unnecessary when only executing (prefilters)
+	// but it'll be ignored by the caller in that case
+	return selection;
+}
+
+// A special extend for ajax options
+// that takes "flat" options (not to be deep extended)
+// Fixes #9887
+function ajaxExtend( target, src ) {
+	var key, deep,
+		flatOptions = jQuery.ajaxSettings.flatOptions || {};
+	for ( key in src ) {
+		if ( src[ key ] !== undefined ) {
+			( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
+		}
+	}
+	if ( deep ) {
+		jQuery.extend( true, target, deep );
+	}
+}
+
+jQuery.fn.load = function( url, params, callback ) {
+	if ( typeof url !== "string" && _load ) {
+		return _load.apply( this, arguments );
+	}
+
+	// Don't do a request if no elements are being requested
+	if ( !this.length ) {
+		return this;
+	}
+
+	var selector, type, response,
+		self = this,
+		off = url.indexOf(" ");
+
+	if ( off >= 0 ) {
+		selector = url.slice( off, url.length );
+		url = url.slice( 0, off );
+	}
+
+	// If it's a function
+	if ( jQuery.isFunction( params ) ) {
+
+		// We assume that it's the callback
+		callback = params;
+		params = undefined;
+
+	// Otherwise, build a param string
+	} else if ( params && typeof params === "object" ) {
+		type = "POST";
+	}
+
+	// Request the remote document
+	jQuery.ajax({
+		url: url,
+
+		// if "type" variable is undefined, then "GET" method will be used
+		type: type,
+		dataType: "html",
+		data: params,
+		complete: function( jqXHR, status ) {
+			if ( callback ) {
+				self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] );
+			}
+		}
+	}).done(function( responseText ) {
+
+		// Save response for use in complete callback
+		response = arguments;
+
+		// See if a selector was specified
+		self.html( selector ?
+
+			// Create a dummy div to hold the results
+			jQuery("<div>")
+
+				// inject the contents of the document in, removing the scripts
+				// to avoid any 'Permission Denied' errors in IE
+				.append( responseText.replace( rscript, "" ) )
+
+				// Locate the specified elements
+				.find( selector ) :
+
+			// If not, just inject the full result
+			responseText );
+
+	});
+
+	return this;
+};
+
+// Attach a bunch of functions for handling common AJAX events
+jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split( " " ), function( i, o ){
+	jQuery.fn[ o ] = function( f ){
+		return this.on( o, f );
+	};
+});
+
+jQuery.each( [ "get", "post" ], function( i, method ) {
+	jQuery[ method ] = function( url, data, callback, type ) {
+		// shift arguments if data argument was omitted
+		if ( jQuery.isFunction( data ) ) {
+			type = type || callback;
+			callback = data;
+			data = undefined;
+		}
+
+		return jQuery.ajax({
+			type: method,
+			url: url,
+			data: data,
+			success: callback,
+			dataType: type
+		});
+	};
+});
+
+jQuery.extend({
+
+	getScript: function( url, callback ) {
+		return jQuery.get( url, undefined, callback, "script" );
+	},
+
+	getJSON: function( url, data, callback ) {
+		return jQuery.get( url, data, callback, "json" );
+	},
+
+	// Creates a full fledged settings object into target
+	// with both ajaxSettings and settings fields.
+	// If target is omitted, writes into ajaxSettings.
+	ajaxSetup: function( target, settings ) {
+		if ( settings ) {
+			// Building a settings object
+			ajaxExtend( target, jQuery.ajaxSettings );
+		} else {
+			// Extending ajaxSettings
+			settings = target;
+			target = jQuery.ajaxSettings;
+		}
+		ajaxExtend( target, settings );
+		return target;
+	},
+
+	ajaxSettings: {
+		url: ajaxLocation,
+		isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),
+		global: true,
+		type: "GET",
+		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
+		processData: true,
+		async: true,
+		/*
+		timeout: 0,
+		data: null,
+		dataType: null,
+		username: null,
+		password: null,
+		cache: null,
+		throws: false,
+		traditional: false,
+		headers: {},
+		*/
+
+		accepts: {
+			xml: "application/xml, text/xml",
+			html: "text/html",
+			text: "text/plain",
+			json: "application/json, text/javascript",
+			"*": allTypes
+		},
+
+		contents: {
+			xml: /xml/,
+			html: /html/,
+			json: /json/
+		},
+
+		responseFields: {
+			xml: "responseXML",
+			text: "responseText"
+		},
+
+		// List of data converters
+		// 1) key format is "source_type destination_type" (a single space in-between)
+		// 2) the catchall symbol "*" can be used for source_type
+		converters: {
+
+			// Convert anything to text
+			"* text": window.String,
+
+			// Text to html (true = no transformation)
+			"text html": true,
+
+			// Evaluate text as a json expression
+			"text json": jQuery.parseJSON,
+
+			// Parse text as xml
+			"text xml": jQuery.parseXML
+		},
+
+		// For options that shouldn't be deep extended:
+		// you can add your own custom options here if
+		// and when you create one that shouldn't be
+		// deep extended (see ajaxExtend)
+		flatOptions: {
+			context: true,
+			url: true
+		}
+	},
+
+	ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
+	ajaxTransport: addToPrefiltersOrTransports( transports ),
+
+	// Main method
+	ajax: function( url, options ) {
+
+		// If url is an object, simulate pre-1.5 signature
+		if ( typeof url === "object" ) {
+			options = url;
+			url = undefined;
+		}
+
+		// Force options to be an object
+		options = options || {};
+
+		var // ifModified key
+			ifModifiedKey,
+			// Response headers
+			responseHeadersString,
+			responseHeaders,
+			// transport
+			transport,
+			// timeout handle
+			timeoutTimer,
+			// Cross-domain detection vars
+			parts,
+			// To know if global events are to be dispatched
+			fireGlobals,
+			// Loop variable
+			i,
+			// Create the final options object
+			s = jQuery.ajaxSetup( {}, options ),
+			// Callbacks context
+			callbackContext = s.context || s,
+			// Context for global events
+			// It's the callbackContext if one was provided in the options
+			// and if it's a DOM node or a jQuery collection
+			globalEventContext = callbackContext !== s &&
+				( callbackContext.nodeType || callbackContext instanceof jQuery ) ?
+						jQuery( callbackContext ) : jQuery.event,
+			// Deferreds
+			deferred = jQuery.Deferred(),
+			completeDeferred = jQuery.Callbacks( "once memory" ),
+			// Status-dependent callbacks
+			statusCode = s.statusCode || {},
+			// Headers (they are sent all at once)
+			requestHeaders = {},
+			requestHeadersNames = {},
+			// The jqXHR state
+			state = 0,
+			// Default abort message
+			strAbort = "canceled",
+			// Fake xhr
+			jqXHR = {
+
+				readyState: 0,
+
+				// Caches the header
+				setRequestHeader: function( name, value ) {
+					if ( !state ) {
+						var lname = name.toLowerCase();
+						name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
+						requestHeaders[ name ] = value;
+					}
+					return this;
+				},
+
+				// Raw string
+				getAllResponseHeaders: function() {
+					return state === 2 ? responseHeadersString : null;
+				},
+
+				// Builds headers hashtable if needed
+				getResponseHeader: function( key ) {
+					var match;
+					if ( state === 2 ) {
+						if ( !responseHeaders ) {
+							responseHeaders = {};
+							while( ( match = rheaders.exec( responseHeadersString ) ) ) {
+								responseHeaders[ match[1].toLowerCase() ] = match[ 2 ];
+							}
+						}
+						match = responseHeaders[ key.toLowerCase() ];
+					}
+					return match === undefined ? null : match;
+				},
+
+				// Overrides response content-type header
+				overrideMimeType: function( type ) {
+					if ( !state ) {
+						s.mimeType = type;
+					}
+					return this;
+				},
+
+				// Cancel the request
+				abort: function( statusText ) {
+					statusText = statusText || strAbort;
+					if ( transport ) {
+						transport.abort( statusText );
+					}
+					done( 0, statusText );
+					return this;
+				}
+			};
+
+		// Callback for when everything is done
+		// It is defined here because jslint complains if it is declared
+		// at the end of the function (which would be more logical and readable)
+		function done( status, nativeStatusText, responses, headers ) {
+			var isSuccess, success, error, response, modified,
+				statusText = nativeStatusText;
+
+			// Called once
+			if ( state === 2 ) {
+				return;
+			}
+
+			// State is "done" now
+			state = 2;
+
+			// Clear timeout if it exists
+			if ( timeoutTimer ) {
+				clearTimeout( timeoutTimer );
+			}
+
+			// Dereference transport for early garbage collection
+			// (no matter how long the jqXHR object will be used)
+			transport = undefined;
+
+			// Cache response headers
+			responseHeadersString = headers || "";
+
+			// Set readyState
+			jqXHR.readyState = status > 0 ? 4 : 0;
+
+			// Get response data
+			if ( responses ) {
+				response = ajaxHandleResponses( s, jqXHR, responses );
+			}
+
+			// If successful, handle type chaining
+			if ( status >= 200 && status < 300 || status === 304 ) {
+
+				// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+				if ( s.ifModified ) {
+
+					modified = jqXHR.getResponseHeader("Last-Modified");
+					if ( modified ) {
+						jQuery.lastModified[ ifModifiedKey ] = modified;
+					}
+					modified = jqXHR.getResponseHeader("Etag");
+					if ( modified ) {
+						jQuery.etag[ ifModifiedKey ] = modified;
+					}
+				}
+
+				// If not modified
+				if ( status === 304 ) {
+
+					statusText = "notmodified";
+					isSuccess = true;
+
+				// If we have data
+				} else {
+
+					isSuccess = ajaxConvert( s, response );
+					statusText = isSuccess.state;
+					success = isSuccess.data;
+					error = isSuccess.error;
+					isSuccess = !error;
+				}
+			} else {
+				// We extract error from statusText
+				// then normalize statusText and status for non-aborts
+				error = statusText;
+				if ( !statusText || status ) {
+					statusText = "error";
+					if ( status < 0 ) {
+						status = 0;
+					}
+				}
+			}
+
+			// Set data for the fake xhr object
+			jqXHR.status = status;
+			jqXHR.statusText = ( nativeStatusText || statusText ) + "";
+
+			// Success/Error
+			if ( isSuccess ) {
+				deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
+			} else {
+				deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
+			}
+
+			// Status-dependent callbacks
+			jqXHR.statusCode( statusCode );
+			statusCode = undefined;
+
+			if ( fireGlobals ) {
+				globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ),
+						[ jqXHR, s, isSuccess ? success : error ] );
+			}
+
+			// Complete
+			completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
+
+			if ( fireGlobals ) {
+				globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
+				// Handle the global AJAX counter
+				if ( !( --jQuery.active ) ) {
+					jQuery.event.trigger( "ajaxStop" );
+				}
+			}
+		}
+
+		// Attach deferreds
+		deferred.promise( jqXHR );
+		jqXHR.success = jqXHR.done;
+		jqXHR.error = jqXHR.fail;
+		jqXHR.complete = completeDeferred.add;
+
+		// Status-dependent callbacks
+		jqXHR.statusCode = function( map ) {
+			if ( map ) {
+				var tmp;
+				if ( state < 2 ) {
+					for ( tmp in map ) {
+						statusCode[ tmp ] = [ statusCode[tmp], map[tmp] ];
+					}
+				} else {
+					tmp = map[ jqXHR.status ];
+					jqXHR.always( tmp );
+				}
+			}
+			return this;
+		};
+
+		// Remove hash character (#7531: and string promotion)
+		// Add protocol if not provided (#5866: IE7 issue with protocol-less urls)
+		// We also use the url parameter if available
+		s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" );
+
+		// Extract dataTypes list
+		s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( core_rspace );
+
+		// A cross-domain request is in order when we have a protocol:host:port mismatch
+		if ( s.crossDomain == null ) {
+			parts = rurl.exec( s.url.toLowerCase() ) || false;
+			s.crossDomain = parts && ( parts.join(":") + ( parts[ 3 ] ? "" : parts[ 1 ] === "http:" ? 80 : 443 ) ) !==
+				( ajaxLocParts.join(":") + ( ajaxLocParts[ 3 ] ? "" : ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) );
+		}
+
+		// Convert data if not already a string
+		if ( s.data && s.processData && typeof s.data !== "string" ) {
+			s.data = jQuery.param( s.data, s.traditional );
+		}
+
+		// Apply prefilters
+		inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
+
+		// If request was aborted inside a prefilter, stop there
+		if ( state === 2 ) {
+			return jqXHR;
+		}
+
+		// We can fire global events as of now if asked to
+		fireGlobals = s.global;
+
+		// Uppercase the type
+		s.type = s.type.toUpperCase();
+
+		// Determine if request has content
+		s.hasContent = !rnoContent.test( s.type );
+
+		// Watch for a new set of requests
+		if ( fireGlobals && jQuery.active++ === 0 ) {
+			jQuery.event.trigger( "ajaxStart" );
+		}
+
+		// More options handling for requests with no content
+		if ( !s.hasContent ) {
+
+			// If data is available, append data to url
+			if ( s.data ) {
+				s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.data;
+				// #9682: remove data so that it's not used in an eventual retry
+				delete s.data;
+			}
+
+			// Get ifModifiedKey before adding the anti-cache parameter
+			ifModifiedKey = s.url;
+
+			// Add anti-cache in url if needed
+			if ( s.cache === false ) {
+
+				var ts = jQuery.now(),
+					// try replacing _= if it is there
+					ret = s.url.replace( rts, "$1_=" + ts );
+
+				// if nothing was replaced, add timestamp to the end
+				s.url = ret + ( ( ret === s.url ) ? ( rquery.test( s.url ) ? "&" : "?" ) + "_=" + ts : "" );
+			}
+		}
+
+		// Set the correct header, if data is being sent
+		if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
+			jqXHR.setRequestHeader( "Content-Type", s.contentType );
+		}
+
+		// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+		if ( s.ifModified ) {
+			ifModifiedKey = ifModifiedKey || s.url;
+			if ( jQuery.lastModified[ ifModifiedKey ] ) {
+				jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] );
+			}
+			if ( jQuery.etag[ ifModifiedKey ] ) {
+				jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] );
+			}
+		}
+
+		// Set the Accepts header for the server, depending on the dataType
+		jqXHR.setRequestHeader(
+			"Accept",
+			s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?
+				s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
+				s.accepts[ "*" ]
+		);
+
+		// Check for headers option
+		for ( i in s.headers ) {
+			jqXHR.setRequestHeader( i, s.headers[ i ] );
+		}
+
+		// Allow custom headers/mimetypes and early abort
+		if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
+				// Abort if not done already and return
+				return jqXHR.abort();
+
+		}
+
+		// aborting is no longer a cancellation
+		strAbort = "abort";
+
+		// Install callbacks on deferreds
+		for ( i in { success: 1, error: 1, complete: 1 } ) {
+			jqXHR[ i ]( s[ i ] );
+		}
+
+		// Get transport
+		transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
+
+		// If no transport, we auto-abort
+		if ( !transport ) {
+			done( -1, "No Transport" );
+		} else {
+			jqXHR.readyState = 1;
+			// Send global event
+			if ( fireGlobals ) {
+				globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
+			}
+			// Timeout
+			if ( s.async && s.timeout > 0 ) {
+				timeoutTimer = setTimeout( function(){
+					jqXHR.abort( "timeout" );
+				}, s.timeout );
+			}
+
+			try {
+				state = 1;
+				transport.send( requestHeaders, done );
+			} catch (e) {
+				// Propagate exception as error if not done
+				if ( state < 2 ) {
+					done( -1, e );
+				// Simply rethrow otherwise
+				} else {
+					throw e;
+				}
+			}
+		}
+
+		return jqXHR;
+	},
+
+	// Counter for holding the number of active queries
+	active: 0,
+
+	// Last-Modified header cache for next request
+	lastModified: {},
+	etag: {}
+
+});
+
+/* Handles responses to an ajax request:
+ * - sets all responseXXX fields accordingly
+ * - finds the right dataType (mediates between content-type and expected dataType)
+ * - returns the corresponding response
+ */
+function ajaxHandleResponses( s, jqXHR, responses ) {
+
+	var ct, type, finalDataType, firstDataType,
+		contents = s.contents,
+		dataTypes = s.dataTypes,
+		responseFields = s.responseFields;
+
+	// Fill responseXXX fields
+	for ( type in responseFields ) {
+		if ( type in responses ) {
+			jqXHR[ responseFields[type] ] = responses[ type ];
+		}
+	}
+
+	// Remove auto dataType and get content-type in the process
+	while( dataTypes[ 0 ] === "*" ) {
+		dataTypes.shift();
+		if ( ct === undefined ) {
+			ct = s.mimeType || jqXHR.getResponseHeader( "content-type" );
+		}
+	}
+
+	// Check if we're dealing with a known content-type
+	if ( ct ) {
+		for ( type in contents ) {
+			if ( contents[ type ] && contents[ type ].test( ct ) ) {
+				dataTypes.unshift( type );
+				break;
+			}
+		}
+	}
+
+	// Check to see if we have a response for the expected dataType
+	if ( dataTypes[ 0 ] in responses ) {
+		finalDataType = dataTypes[ 0 ];
+	} else {
+		// Try convertible dataTypes
+		for ( type in responses ) {
+			if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) {
+				finalDataType = type;
+				break;
+			}
+			if ( !firstDataType ) {
+				firstDataType = type;
+			}
+		}
+		// Or just use first one
+		finalDataType = finalDataType || firstDataType;
+	}
+
+	// If we found a dataType
+	// We add the dataType to the list if needed
+	// and return the corresponding response
+	if ( finalDataType ) {
+		if ( finalDataType !== dataTypes[ 0 ] ) {
+			dataTypes.unshift( finalDataType );
+		}
+		return responses[ finalDataType ];
+	}
+}
+
+// Chain conversions given the request and the original response
+function ajaxConvert( s, response ) {
+
+	var conv, conv2, current, tmp,
+		// Work with a copy of dataTypes in case we need to modify it for conversion
+		dataTypes = s.dataTypes.slice(),
+		prev = dataTypes[ 0 ],
+		converters = {},
+		i = 0;
+
+	// Apply the dataFilter if provided
+	if ( s.dataFilter ) {
+		response = s.dataFilter( response, s.dataType );
+	}
+
+	// Create converters map with lowercased keys
+	if ( dataTypes[ 1 ] ) {
+		for ( conv in s.converters ) {
+			converters[ conv.toLowerCase() ] = s.converters[ conv ];
+		}
+	}
+
+	// Convert to each sequential dataType, tolerating list modification
+	for ( ; (current = dataTypes[++i]); ) {
+
+		// There's only work to do if current dataType is non-auto
+		if ( current !== "*" ) {
+
+			// Convert response if prev dataType is non-auto and differs from current
+			if ( prev !== "*" && prev !== current ) {
+
+				// Seek a direct converter
+				conv = converters[ prev + " " + current ] || converters[ "* " + current ];
+
+				// If none found, seek a pair
+				if ( !conv ) {
+					for ( conv2 in converters ) {
+
+						// If conv2 outputs current
+						tmp = conv2.split(" ");
+						if ( tmp[ 1 ] === current ) {
+
+							// If prev can be converted to accepted input
+							conv = converters[ prev + " " + tmp[ 0 ] ] ||
+								converters[ "* " + tmp[ 0 ] ];
+							if ( conv ) {
+								// Condense equivalence converters
+								if ( conv === true ) {
+									conv = converters[ conv2 ];
+
+								// Otherwise, insert the intermediate dataType
+								} else if ( converters[ conv2 ] !== true ) {
+									current = tmp[ 0 ];
+									dataTypes.splice( i--, 0, current );
+								}
+
+								break;
+							}
+						}
+					}
+				}
+
+				// Apply converter (if not an equivalence)
+				if ( conv !== true ) {
+
+					// Unless errors are allowed to bubble, catch and return them
+					if ( conv && s["throws"] ) {
+						response = conv( response );
+					} else {
+						try {
+							response = conv( response );
+						} catch ( e ) {
+							return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current };
+						}
+					}
+				}
+			}
+
+			// Update prev for next iteration
+			prev = current;
+		}
+	}
+
+	return { state: "success", data: response };
+}
+var oldCallbacks = [],
+	rquestion = /\?/,
+	rjsonp = /(=)\?(?=&|$)|\?\?/,
+	nonce = jQuery.now();
+
+// Default jsonp settings
+jQuery.ajaxSetup({
+	jsonp: "callback",
+	jsonpCallback: function() {
+		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
+		this[ callback ] = true;
+		return callback;
+	}
+});
+
+// Detect, normalize options and install callbacks for jsonp requests
+jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
+
+	var callbackName, overwritten, responseContainer,
+		data = s.data,
+		url = s.url,
+		hasCallback = s.jsonp !== false,
+		replaceInUrl = hasCallback && rjsonp.test( url ),
+		replaceInData = hasCallback && !replaceInUrl && typeof data === "string" &&
+			!( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") &&
+			rjsonp.test( data );
+
+	// Handle iff the expected data type is "jsonp" or we have a parameter to set
+	if ( s.dataTypes[ 0 ] === "jsonp" || replaceInUrl || replaceInData ) {
+
+		// Get callback name, remembering preexisting value associated with it
+		callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
+			s.jsonpCallback() :
+			s.jsonpCallback;
+		overwritten = window[ callbackName ];
+
+		// Insert callback into url or form data
+		if ( replaceInUrl ) {
+			s.url = url.replace( rjsonp, "$1" + callbackName );
+		} else if ( replaceInData ) {
+			s.data = data.replace( rjsonp, "$1" + callbackName );
+		} else if ( hasCallback ) {
+			s.url += ( rquestion.test( url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
+		}
+
+		// Use data converter to retrieve json after script execution
+		s.converters["script json"] = function() {
+			if ( !responseContainer ) {
+				jQuery.error( callbackName + " was not called" );
+			}
+			return responseContainer[ 0 ];
+		};
+
+		// force json dataType
+		s.dataTypes[ 0 ] = "json";
+
+		// Install callback
+		window[ callbackName ] = function() {
+			responseContainer = arguments;
+		};
+
+		// Clean-up function (fires after converters)
+		jqXHR.always(function() {
+			// Restore preexisting value
+			window[ callbackName ] = overwritten;
+
+			// Save back as free
+			if ( s[ callbackName ] ) {
+				// make sure that re-using the options doesn't screw things around
+				s.jsonpCallback = originalSettings.jsonpCallback;
+
+				// save the callback name for future use
+				oldCallbacks.push( callbackName );
+			}
+
+			// Call if it was a function and we have a response
+			if ( responseContainer && jQuery.isFunction( overwritten ) ) {
+				overwritten( responseContainer[ 0 ] );
+			}
+
+			responseContainer = overwritten = undefined;
+		});
+
+		// Delegate to script
+		return "script";
+	}
+});
+// Install script dataType
+jQuery.ajaxSetup({
+	accepts: {
+		script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
+	},
+	contents: {
+		script: /javascript|ecmascript/
+	},
+	converters: {
+		"text script": function( text ) {
+			jQuery.globalEval( text );
+			return text;
+		}
+	}
+});
+
+// Handle cache's special case and global
+jQuery.ajaxPrefilter( "script", function( s ) {
+	if ( s.cache === undefined ) {
+		s.cache = false;
+	}
+	if ( s.crossDomain ) {
+		s.type = "GET";
+		s.global = false;
+	}
+});
+
+// Bind script tag hack transport
+jQuery.ajaxTransport( "script", function(s) {
+
+	// This transport only deals with cross domain requests
+	if ( s.crossDomain ) {
+
+		var script,
+			head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement;
+
+		return {
+
+			send: function( _, callback ) {
+
+				script = document.createElement( "script" );
+
+				script.async = "async";
+
+				if ( s.scriptCharset ) {
+					script.charset = s.scriptCharset;
+				}
+
+				script.src = s.url;
+
+				// Attach handlers for all browsers
+				script.onload = script.onreadystatechange = function( _, isAbort ) {
+
+					if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) {
+
+						// Handle memory leak in IE
+						script.onload = script.onreadystatechange = null;
+
+						// Remove the script
+						if ( head && script.parentNode ) {
+							head.removeChild( script );
+						}
+
+						// Dereference the script
+						script = undefined;
+
+						// Callback if not abort
+						if ( !isAbort ) {
+							callback( 200, "success" );
+						}
+					}
+				};
+				// Use insertBefore instead of appendChild  to circumvent an IE6 bug.
+				// This arises when a base node is used (#2709 and #4378).
+				head.insertBefore( script, head.firstChild );
+			},
+
+			abort: function() {
+				if ( script ) {
+					script.onload( 0, 1 );
+				}
+			}
+		};
+	}
+});
+var xhrCallbacks,
+	// #5280: Internet Explorer will keep connections alive if we don't abort on unload
+	xhrOnUnloadAbort = window.ActiveXObject ? function() {
+		// Abort all pending requests
+		for ( var key in xhrCallbacks ) {
+			xhrCallbacks[ key ]( 0, 1 );
+		}
+	} : false,
+	xhrId = 0;
+
+// Functions to create xhrs
+function createStandardXHR() {
+	try {
+		return new window.XMLHttpRequest();
+	} catch( e ) {}
+}
+
+function createActiveXHR() {
+	try {
+		return new window.ActiveXObject( "Microsoft.XMLHTTP" );
+	} catch( e ) {}
+}
+
+// Create the request object
+// (This is still attached to ajaxSettings for backward compatibility)
+jQuery.ajaxSettings.xhr = window.ActiveXObject ?
+	/* Microsoft failed to properly
+	 * implement the XMLHttpRequest in IE7 (can't request local files),
+	 * so we use the ActiveXObject when it is available
+	 * Additionally XMLHttpRequest can be disabled in IE7/IE8 so
+	 * we need a fallback.
+	 */
+	function() {
+		return !this.isLocal && createStandardXHR() || createActiveXHR();
+	} :
+	// For all other browsers, use the standard XMLHttpRequest object
+	createStandardXHR;
+
+// Determine support properties
+(function( xhr ) {
+	jQuery.extend( jQuery.support, {
+		ajax: !!xhr,
+		cors: !!xhr && ( "withCredentials" in xhr )
+	});
+})( jQuery.ajaxSettings.xhr() );
+
+// Create transport if the browser can provide an xhr
+if ( jQuery.support.ajax ) {
+
+	jQuery.ajaxTransport(function( s ) {
+		// Cross domain only allowed if supported through XMLHttpRequest
+		if ( !s.crossDomain || jQuery.support.cors ) {
+
+			var callback;
+
+			return {
+				send: function( headers, complete ) {
+
+					// Get a new xhr
+					var handle, i,
+						xhr = s.xhr();
+
+					// Open the socket
+					// Passing null username, generates a login popup on Opera (#2865)
+					if ( s.username ) {
+						xhr.open( s.type, s.url, s.async, s.username, s.password );
+					} else {
+						xhr.open( s.type, s.url, s.async );
+					}
+
+					// Apply custom fields if provided
+					if ( s.xhrFields ) {
+						for ( i in s.xhrFields ) {
+							xhr[ i ] = s.xhrFields[ i ];
+						}
+					}
+
+					// Override mime type if needed
+					if ( s.mimeType && xhr.overrideMimeType ) {
+						xhr.overrideMimeType( s.mimeType );
+					}
+
+					// X-Requested-With header
+					// For cross-domain requests, seeing as conditions for a preflight are
+					// akin to a jigsaw puzzle, we simply never set it to be sure.
+					// (it can always be set on a per-request basis or even using ajaxSetup)
+					// For same-domain requests, won't change header if already provided.
+					if ( !s.crossDomain && !headers["X-Requested-With"] ) {
+						headers[ "X-Requested-With" ] = "XMLHttpRequest";
+					}
+
+					// Need an extra try/catch for cross domain requests in Firefox 3
+					try {
+						for ( i in headers ) {
+							xhr.setRequestHeader( i, headers[ i ] );
+						}
+					} catch( _ ) {}
+
+					// Do send the request
+					// This may raise an exception which is actually
+					// handled in jQuery.ajax (so no try/catch here)
+					xhr.send( ( s.hasContent && s.data ) || null );
+
+					// Listener
+					callback = function( _, isAbort ) {
+
+						var status,
+							statusText,
+							responseHeaders,
+							responses,
+							xml;
+
+						// Firefox throws exceptions when accessing properties
+						// of an xhr when a network error occurred
+						// http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
+						try {
+
+							// Was never called and is aborted or complete
+							if ( callback && ( isAbort || xhr.readyState === 4 ) ) {
+
+								// Only called once
+								callback = undefined;
+
+								// Do not keep as active anymore
+								if ( handle ) {
+									xhr.onreadystatechange = jQuery.noop;
+									if ( xhrOnUnloadAbort ) {
+										delete xhrCallbacks[ handle ];
+									}
+								}
+
+								// If it's an abort
+								if ( isAbort ) {
+									// Abort it manually if needed
+									if ( xhr.readyState !== 4 ) {
+										xhr.abort();
+									}
+								} else {
+									status = xhr.status;
+									responseHeaders = xhr.getAllResponseHeaders();
+									responses = {};
+									xml = xhr.responseXML;
+
+									// Construct response list
+									if ( xml && xml.documentElement /* #4958 */ ) {
+										responses.xml = xml;
+									}
+
+									// When requesting binary data, IE6-9 will throw an exception
+									// on any attempt to access responseText (#11426)
+									try {
+										responses.text = xhr.responseText;
+									} catch( _ ) {
+									}
+
+									// Firefox throws an exception when accessing
+									// statusText for faulty cross-domain requests
+									try {
+										statusText = xhr.statusText;
+									} catch( e ) {
+										// We normalize with Webkit giving an empty statusText
+										statusText = "";
+									}
+
+									// Filter status for non standard behaviors
+
+									// If the request is local and we have data: assume a success
+									// (success with no data won't get notified, that's the best we
+									// can do given current implementations)
+									if ( !status && s.isLocal && !s.crossDomain ) {
+										status = responses.text ? 200 : 404;
+									// IE - #1450: sometimes returns 1223 when it should be 204
+									} else if ( status === 1223 ) {
+										status = 204;
+									}
+								}
+							}
+						} catch( firefoxAccessException ) {
+							if ( !isAbort ) {
+								complete( -1, firefoxAccessException );
+							}
+						}
+
+						// Call complete if needed
+						if ( responses ) {
+							complete( status, statusText, responses, responseHeaders );
+						}
+					};
+
+					if ( !s.async ) {
+						// if we're in sync mode we fire the callback
+						callback();
+					} else if ( xhr.readyState === 4 ) {
+						// (IE6 & IE7) if it's in cache and has been
+						// retrieved directly we need to fire the callback
+						setTimeout( callback, 0 );
+					} else {
+						handle = ++xhrId;
+						if ( xhrOnUnloadAbort ) {
+							// Create the active xhrs callbacks list if needed
+							// and attach the unload handler
+							if ( !xhrCallbacks ) {
+								xhrCallbacks = {};
+								jQuery( window ).unload( xhrOnUnloadAbort );
+							}
+							// Add to list of active xhrs callbacks
+							xhrCallbacks[ handle ] = callback;
+						}
+						xhr.onreadystatechange = callback;
+					}
+				},
+
+				abort: function() {
+					if ( callback ) {
+						callback(0,1);
+					}
+				}
+			};
+		}
+	});
+}
+var fxNow, timerId,
+	rfxtypes = /^(?:toggle|show|hide)$/,
+	rfxnum = new RegExp( "^(?:([-+])=|)(" + core_pnum + ")([a-z%]*)$", "i" ),
+	rrun = /queueHooks$/,
+	animationPrefilters = [ defaultPrefilter ],
+	tweeners = {
+		"*": [function( prop, value ) {
+			var end, unit,
+				tween = this.createTween( prop, value ),
+				parts = rfxnum.exec( value ),
+				target = tween.cur(),
+				start = +target || 0,
+				scale = 1,
+				maxIterations = 20;
+
+			if ( parts ) {
+				end = +parts[2];
+				unit = parts[3] || ( jQuery.cssNumber[ prop ] ? "" : "px" );
+
+				// We need to compute starting value
+				if ( unit !== "px" && start ) {
+					// Iteratively approximate from a nonzero starting point
+					// Prefer the current property, because this process will be trivial if it uses the same units
+					// Fallback to end or a simple constant
+					start = jQuery.css( tween.elem, prop, true ) || end || 1;
+
+					do {
+						// If previous iteration zeroed out, double until we get *something*
+						// Use a string for doubling factor so we don't accidentally see scale as unchanged below
+						scale = scale || ".5";
+
+						// Adjust and apply
+						start = start / scale;
+						jQuery.style( tween.elem, prop, start + unit );
+
+					// Update scale, tolerating zero or NaN from tween.cur()
+					// And breaking the loop if scale is unchanged or perfect, or if we've just had enough
+					} while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations );
+				}
+
+				tween.unit = unit;
+				tween.start = start;
+				// If a +=/-= token was provided, we're doing a relative animation
+				tween.end = parts[1] ? start + ( parts[1] + 1 ) * end : end;
+			}
+			return tween;
+		}]
+	};
+
+// Animations created synchronously will run synchronously
+function createFxNow() {
+	setTimeout(function() {
+		fxNow = undefined;
+	}, 0 );
+	return ( fxNow = jQuery.now() );
+}
+
+function createTweens( animation, props ) {
+	jQuery.each( props, function( prop, value ) {
+		var collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ),
+			index = 0,
+			length = collection.length;
+		for ( ; index < length; index++ ) {
+			if ( collection[ index ].call( animation, prop, value ) ) {
+
+				// we're done with this property
+				return;
+			}
+		}
+	});
+}
+
+function Animation( elem, properties, options ) {
+	var result,
+		index = 0,
+		tweenerIndex = 0,
+		length = animationPrefilters.length,
+		deferred = jQuery.Deferred().always( function() {
+			// don't match elem in the :animated selector
+			delete tick.elem;
+		}),
+		tick = function() {
+			var currentTime = fxNow || createFxNow(),
+				remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
+				percent = 1 - ( remaining / animation.duration || 0 ),
+				index = 0,
+				length = animation.tweens.length;
+
+			for ( ; index < length ; index++ ) {
+				animation.tweens[ index ].run( percent );
+			}
+
+			deferred.notifyWith( elem, [ animation, percent, remaining ]);
+
+			if ( percent < 1 && length ) {
+				return remaining;
+			} else {
+				deferred.resolveWith( elem, [ animation ] );
+				return false;
+			}
+		},
+		animation = deferred.promise({
+			elem: elem,
+			props: jQuery.extend( {}, properties ),
+			opts: jQuery.extend( true, { specialEasing: {} }, options ),
+			originalProperties: properties,
+			originalOptions: options,
+			startTime: fxNow || createFxNow(),
+			duration: options.duration,
+			tweens: [],
+			createTween: function( prop, end, easing ) {
+				var tween = jQuery.Tween( elem, animation.opts, prop, end,
+						animation.opts.specialEasing[ prop ] || animation.opts.easing );
+				animation.tweens.push( tween );
+				return tween;
+			},
+			stop: function( gotoEnd ) {
+				var index = 0,
+					// if we are going to the end, we want to run all the tweens
+					// otherwise we skip this part
+					length = gotoEnd ? animation.tweens.length : 0;
+
+				for ( ; index < length ; index++ ) {
+					animation.tweens[ index ].run( 1 );
+				}
+
+				// resolve when we played the last frame
+				// otherwise, reject
+				if ( gotoEnd ) {
+					deferred.resolveWith( elem, [ animation, gotoEnd ] );
+				} else {
+					deferred.rejectWith( elem, [ animation, gotoEnd ] );
+				}
+				return this;
+			}
+		}),
+		props = animation.props;
+
+	propFilter( props, animation.opts.specialEasing );
+
+	for ( ; index < length ; index++ ) {
+		result = animationPrefilters[ index ].call( animation, elem, props, animation.opts );
+		if ( result ) {
+			return result;
+		}
+	}
+
+	createTweens( animation, props );
+
+	if ( jQuery.isFunction( animation.opts.start ) ) {
+		animation.opts.start.call( elem, animation );
+	}
+
+	jQuery.fx.timer(
+		jQuery.extend( tick, {
+			anim: animation,
+			queue: animation.opts.queue,
+			elem: elem
+		})
+	);
+
+	// attach callbacks from options
+	return animation.progress( animation.opts.progress )
+		.done( animation.opts.done, animation.opts.complete )
+		.fail( animation.opts.fail )
+		.always( animation.opts.always );
+}
+
+function propFilter( props, specialEasing ) {
+	var index, name, easing, value, hooks;
+
+	// camelCase, specialEasing and expand cssHook pass
+	for ( index in props ) {
+		name = jQuery.camelCase( index );
+		easing = specialEasing[ name ];
+		value = props[ index ];
+		if ( jQuery.isArray( value ) ) {
+			easing = value[ 1 ];
+			value = props[ index ] = value[ 0 ];
+		}
+
+		if ( index !== name ) {
+			props[ name ] = value;
+			delete props[ index ];
+		}
+
+		hooks = jQuery.cssHooks[ name ];
+		if ( hooks && "expand" in hooks ) {
+			value = hooks.expand( value );
+			delete props[ name ];
+
+			// not quite $.extend, this wont overwrite keys already present.
+			// also - reusing 'index' from above because we have the correct "name"
+			for ( index in value ) {
+				if ( !( index in props ) ) {
+					props[ index ] = value[ index ];
+					specialEasing[ index ] = easing;
+				}
+			}
+		} else {
+			specialEasing[ name ] = easing;
+		}
+	}
+}
+
+jQuery.Animation = jQuery.extend( Animation, {
+
+	tweener: function( props, callback ) {
+		if ( jQuery.isFunction( props ) ) {
+			callback = props;
+			props = [ "*" ];
+		} else {
+			props = props.split(" ");
+		}
+
+		var prop,
+			index = 0,
+			length = props.length;
+
+		for ( ; index < length ; index++ ) {
+			prop = props[ index ];
+			tweeners[ prop ] = tweeners[ prop ] || [];
+			tweeners[ prop ].unshift( callback );
+		}
+	},
+
+	prefilter: function( callback, prepend ) {
+		if ( prepend ) {
+			animationPrefilters.unshift( callback );
+		} else {
+			animationPrefilters.push( callback );
+		}
+	}
+});
+
+function defaultPrefilter( elem, props, opts ) {
+	var index, prop, value, length, dataShow, tween, hooks, oldfire,
+		anim = this,
+		style = elem.style,
+		orig = {},
+		handled = [],
+		hidden = elem.nodeType && isHidden( elem );
+
+	// handle queue: false promises
+	if ( !opts.queue ) {
+		hooks = jQuery._queueHooks( elem, "fx" );
+		if ( hooks.unqueued == null ) {
+			hooks.unqueued = 0;
+			oldfire = hooks.empty.fire;
+			hooks.empty.fire = function() {
+				if ( !hooks.unqueued ) {
+					oldfire();
+				}
+			};
+		}
+		hooks.unqueued++;
+
+		anim.always(function() {
+			// doing this makes sure that the complete handler will be called
+			// before this completes
+			anim.always(function() {
+				hooks.unqueued--;
+				if ( !jQuery.queue( elem, "fx" ).length ) {
+					hooks.empty.fire();
+				}
+			});
+		});
+	}
+
+	// height/width overflow pass
+	if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) {
+		// Make sure that nothing sneaks out
+		// Record all 3 overflow attributes because IE does not
+		// change the overflow attribute when overflowX and
+		// overflowY are set to the same value
+		opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
+
+		// Set display property to inline-block for height/width
+		// animations on inline elements that are having width/height animated
+		if ( jQuery.css( elem, "display" ) === "inline" &&
+				jQuery.css( elem, "float" ) === "none" ) {
+
+			// inline-level elements accept inline-block;
+			// block-level elements need to be inline with layout
+			if ( !jQuery.support.inlineBlockNeedsLayout || css_defaultDisplay( elem.nodeName ) === "inline" ) {
+				style.display = "inline-block";
+
+			} else {
+				style.zoom = 1;
+			}
+		}
+	}
+
+	if ( opts.overflow ) {
+		style.overflow = "hidden";
+		if ( !jQuery.support.shrinkWrapBlocks ) {
+			anim.done(function() {
+				style.overflow = opts.overflow[ 0 ];
+				style.overflowX = opts.overflow[ 1 ];
+				style.overflowY = opts.overflow[ 2 ];
+			});
+		}
+	}
+
+
+	// show/hide pass
+	for ( index in props ) {
+		value = props[ index ];
+		if ( rfxtypes.exec( value ) ) {
+			delete props[ index ];
+			if ( value === ( hidden ? "hide" : "show" ) ) {
+				continue;
+			}
+			handled.push( index );
+		}
+	}
+
+	length = handled.length;
+	if ( length ) {
+		dataShow = jQuery._data( elem, "fxshow" ) || jQuery._data( elem, "fxshow", {} );
+		if ( hidden ) {
+			jQuery( elem ).show();
+		} else {
+			anim.done(function() {
+				jQuery( elem ).hide();
+			});
+		}
+		anim.done(function() {
+			var prop;
+			jQuery.removeData( elem, "fxshow", true );
+			for ( prop in orig ) {
+				jQuery.style( elem, prop, orig[ prop ] );
+			}
+		});
+		for ( index = 0 ; index < length ; index++ ) {
+			prop = handled[ index ];
+			tween = anim.createTween( prop, hidden ? dataShow[ prop ] : 0 );
+			orig[ prop ] = dataShow[ prop ] || jQuery.style( elem, prop );
+
+			if ( !( prop in dataShow ) ) {
+				dataShow[ prop ] = tween.start;
+				if ( hidden ) {
+					tween.end = tween.start;
+					tween.start = prop === "width" || prop === "height" ? 1 : 0;
+				}
+			}
+		}
+	}
+}
+
+function Tween( elem, options, prop, end, easing ) {
+	return new Tween.prototype.init( elem, options, prop, end, easing );
+}
+jQuery.Tween = Tween;
+
+Tween.prototype = {
+	constructor: Tween,
+	init: function( elem, options, prop, end, easing, unit ) {
+		this.elem = elem;
+		this.prop = prop;
+		this.easing = easing || "swing";
+		this.options = options;
+		this.start = this.now = this.cur();
+		this.end = end;
+		this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
+	},
+	cur: function() {
+		var hooks = Tween.propHooks[ this.prop ];
+
+		return hooks && hooks.get ?
+			hooks.get( this ) :
+			Tween.propHooks._default.get( this );
+	},
+	run: function( percent ) {
+		var eased,
+			hooks = Tween.propHooks[ this.prop ];
+
+		if ( this.options.duration ) {
+			this.pos = eased = jQuery.easing[ this.easing ](
+				percent, this.options.duration * percent, 0, 1, this.options.duration
+			);
+		} else {
+			this.pos = eased = percent;
+		}
+		this.now = ( this.end - this.start ) * eased + this.start;
+
+		if ( this.options.step ) {
+			this.options.step.call( this.elem, this.now, this );
+		}
+
+		if ( hooks && hooks.set ) {
+			hooks.set( this );
+		} else {
+			Tween.propHooks._default.set( this );
+		}
+		return this;
+	}
+};
+
+Tween.prototype.init.prototype = Tween.prototype;
+
+Tween.propHooks = {
+	_default: {
+		get: function( tween ) {
+			var result;
+
+			if ( tween.elem[ tween.prop ] != null &&
+				(!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) {
+				return tween.elem[ tween.prop ];
+			}
+
+			// passing any value as a 4th parameter to .css will automatically
+			// attempt a parseFloat and fallback to a string if the parse fails
+			// so, simple values such as "10px" are parsed to Float.
+			// complex values such as "rotate(1rad)" are returned as is.
+			result = jQuery.css( tween.elem, tween.prop, false, "" );
+			// Empty strings, null, undefined and "auto" are converted to 0.
+			return !result || result === "auto" ? 0 : result;
+		},
+		set: function( tween ) {
+			// use step hook for back compat - use cssHook if its there - use .style if its
+			// available and use plain properties where available
+			if ( jQuery.fx.step[ tween.prop ] ) {
+				jQuery.fx.step[ tween.prop ]( tween );
+			} else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) {
+				jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
+			} else {
+				tween.elem[ tween.prop ] = tween.now;
+			}
+		}
+	}
+};
+
+// Remove in 2.0 - this supports IE8's panic based approach
+// to setting things on disconnected nodes
+
+Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
+	set: function( tween ) {
+		if ( tween.elem.nodeType && tween.elem.parentNode ) {
+			tween.elem[ tween.prop ] = tween.now;
+		}
+	}
+};
+
+jQuery.each([ "toggle", "show", "hide" ], function( i, name ) {
+	var cssFn = jQuery.fn[ name ];
+	jQuery.fn[ name ] = function( speed, easing, callback ) {
+		return speed == null || typeof speed === "boolean" ||
+			// special check for .toggle( handler, handler, ... )
+			( !i && jQuery.isFunction( speed ) && jQuery.isFunction( easing ) ) ?
+			cssFn.apply( this, arguments ) :
+			this.animate( genFx( name, true ), speed, easing, callback );
+	};
+});
+
+jQuery.fn.extend({
+	fadeTo: function( speed, to, easing, callback ) {
+
+		// show any hidden elements after setting opacity to 0
+		return this.filter( isHidden ).css( "opacity", 0 ).show()
+
+			// animate to the value specified
+			.end().animate({ opacity: to }, speed, easing, callback );
+	},
+	animate: function( prop, speed, easing, callback ) {
+		var empty = jQuery.isEmptyObject( prop ),
+			optall = jQuery.speed( speed, easing, callback ),
+			doAnimation = function() {
+				// Operate on a copy of prop so per-property easing won't be lost
+				var anim = Animation( this, jQuery.extend( {}, prop ), optall );
+
+				// Empty animations resolve immediately
+				if ( empty ) {
+					anim.stop( true );
+				}
+			};
+
+		return empty || optall.queue === false ?
+			this.each( doAnimation ) :
+			this.queue( optall.queue, doAnimation );
+	},
+	stop: function( type, clearQueue, gotoEnd ) {
+		var stopQueue = function( hooks ) {
+			var stop = hooks.stop;
+			delete hooks.stop;
+			stop( gotoEnd );
+		};
+
+		if ( typeof type !== "string" ) {
+			gotoEnd = clearQueue;
+			clearQueue = type;
+			type = undefined;
+		}
+		if ( clearQueue && type !== false ) {
+			this.queue( type || "fx", [] );
+		}
+
+		return this.each(function() {
+			var dequeue = true,
+				index = type != null && type + "queueHooks",
+				timers = jQuery.timers,
+				data = jQuery._data( this );
+
+			if ( index ) {
+				if ( data[ index ] && data[ index ].stop ) {
+					stopQueue( data[ index ] );
+				}
+			} else {
+				for ( index in data ) {
+					if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
+						stopQueue( data[ index ] );
+					}
+				}
+			}
+
+			for ( index = timers.length; index--; ) {
+				if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) {
+					timers[ index ].anim.stop( gotoEnd );
+					dequeue = false;
+					timers.splice( index, 1 );
+				}
+			}
+
+			// start the next in the queue if the last step wasn't forced
+			// timers currently will call their complete callbacks, which will dequeue
+			// but only if they were gotoEnd
+			if ( dequeue || !gotoEnd ) {
+				jQuery.dequeue( this, type );
+			}
+		});
+	}
+});
+
+// Generate parameters to create a standard animation
+function genFx( type, includeWidth ) {
+	var which,
+		attrs = { height: type },
+		i = 0;
+
+	// if we include width, step value is 1 to do all cssExpand values,
+	// if we don't include width, step value is 2 to skip over Left and Right
+	includeWidth = includeWidth? 1 : 0;
+	for( ; i < 4 ; i += 2 - includeWidth ) {
+		which = cssExpand[ i ];
+		attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
+	}
+
+	if ( includeWidth ) {
+		attrs.opacity = attrs.width = type;
+	}
+
+	return attrs;
+}
+
+// Generate shortcuts for custom animations
+jQuery.each({
+	slideDown: genFx("show"),
+	slideUp: genFx("hide"),
+	slideToggle: genFx("toggle"),
+	fadeIn: { opacity: "show" },
+	fadeOut: { opacity: "hide" },
+	fadeToggle: { opacity: "toggle" }
+}, function( name, props ) {
+	jQuery.fn[ name ] = function( speed, easing, callback ) {
+		return this.animate( props, speed, easing, callback );
+	};
+});
+
+jQuery.speed = function( speed, easing, fn ) {
+	var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
+		complete: fn || !fn && easing ||
+			jQuery.isFunction( speed ) && speed,
+		duration: speed,
+		easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
+	};
+
+	opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
+		opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
+
+	// normalize opt.queue - true/undefined/null -> "fx"
+	if ( opt.queue == null || opt.queue === true ) {
+		opt.queue = "fx";
+	}
+
+	// Queueing
+	opt.old = opt.complete;
+
+	opt.complete = function() {
+		if ( jQuery.isFunction( opt.old ) ) {
+			opt.old.call( this );
+		}
+
+		if ( opt.queue ) {
+			jQuery.dequeue( this, opt.queue );
+		}
+	};
+
+	return opt;
+};
+
+jQuery.easing = {
+	linear: function( p ) {
+		return p;
+	},
+	swing: function( p ) {
+		return 0.5 - Math.cos( p*Math.PI ) / 2;
+	}
+};
+
+jQuery.timers = [];
+jQuery.fx = Tween.prototype.init;
+jQuery.fx.tick = function() {
+	var timer,
+		timers = jQuery.timers,
+		i = 0;
+
+	for ( ; i < timers.length; i++ ) {
+		timer = timers[ i ];
+		// Checks the timer has not already been removed
+		if ( !timer() && timers[ i ] === timer ) {
+			timers.splice( i--, 1 );
+		}
+	}
+
+	if ( !timers.length ) {
+		jQuery.fx.stop();
+	}
+};
+
+jQuery.fx.timer = function( timer ) {
+	if ( timer() && jQuery.timers.push( timer ) && !timerId ) {
+		timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval );
+	}
+};
+
+jQuery.fx.interval = 13;
+
+jQuery.fx.stop = function() {
+	clearInterval( timerId );
+	timerId = null;
+};
+
+jQuery.fx.speeds = {
+	slow: 600,
+	fast: 200,
+	// Default speed
+	_default: 400
+};
+
+// Back Compat <1.8 extension point
+jQuery.fx.step = {};
+
+if ( jQuery.expr && jQuery.expr.filters ) {
+	jQuery.expr.filters.animated = function( elem ) {
+		return jQuery.grep(jQuery.timers, function( fn ) {
+			return elem === fn.elem;
+		}).length;
+	};
+}
+var rroot = /^(?:body|html)$/i;
+
+jQuery.fn.offset = function( options ) {
+	if ( arguments.length ) {
+		return options === undefined ?
+			this :
+			this.each(function( i ) {
+				jQuery.offset.setOffset( this, options, i );
+			});
+	}
+
+	var docElem, body, win, clientTop, clientLeft, scrollTop, scrollLeft,
+		box = { top: 0, left: 0 },
+		elem = this[ 0 ],
+		doc = elem && elem.ownerDocument;
+
+	if ( !doc ) {
+		return;
+	}
+
+	if ( (body = doc.body) === elem ) {
+		return jQuery.offset.bodyOffset( elem );
+	}
+
+	docElem = doc.documentElement;
+
+	// Make sure it's not a disconnected DOM node
+	if ( !jQuery.contains( docElem, elem ) ) {
+		return box;
+	}
+
+	// If we don't have gBCR, just use 0,0 rather than error
+	// BlackBerry 5, iOS 3 (original iPhone)
+	if ( typeof elem.getBoundingClientRect !== "undefined" ) {
+		box = elem.getBoundingClientRect();
+	}
+	win = getWindow( doc );
+	clientTop  = docElem.clientTop  || body.clientTop  || 0;
+	clientLeft = docElem.clientLeft || body.clientLeft || 0;
+	scrollTop  = win.pageYOffset || docElem.scrollTop;
+	scrollLeft = win.pageXOffset || docElem.scrollLeft;
+	return {
+		top: box.top  + scrollTop  - clientTop,
+		left: box.left + scrollLeft - clientLeft
+	};
+};
+
+jQuery.offset = {
+
+	bodyOffset: function( body ) {
+		var top = body.offsetTop,
+			left = body.offsetLeft;
+
+		if ( jQuery.support.doesNotIncludeMarginInBodyOffset ) {
+			top  += parseFloat( jQuery.css(body, "marginTop") ) || 0;
+			left += parseFloat( jQuery.css(body, "marginLeft") ) || 0;
+		}
+
+		return { top: top, left: left };
+	},
+
+	setOffset: function( elem, options, i ) {
+		var position = jQuery.css( elem, "position" );
+
+		// set position first, in-case top/left are set even on static elem
+		if ( position === "static" ) {
+			elem.style.position = "relative";
+		}
+
+		var curElem = jQuery( elem ),
+			curOffset = curElem.offset(),
+			curCSSTop = jQuery.css( elem, "top" ),
+			curCSSLeft = jQuery.css( elem, "left" ),
+			calculatePosition = ( position === "absolute" || position === "fixed" ) && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1,
+			props = {}, curPosition = {}, curTop, curLeft;
+
+		// need to be able to calculate position if either top or left is auto and position is either absolute or fixed
+		if ( calculatePosition ) {
+			curPosition = curElem.position();
+			curTop = curPosition.top;
+			curLeft = curPosition.left;
+		} else {
+			curTop = parseFloat( curCSSTop ) || 0;
+			curLeft = parseFloat( curCSSLeft ) || 0;
+		}
+
+		if ( jQuery.isFunction( options ) ) {
+			options = options.call( elem, i, curOffset );
+		}
+
+		if ( options.top != null ) {
+			props.top = ( options.top - curOffset.top ) + curTop;
+		}
+		if ( options.left != null ) {
+			props.left = ( options.left - curOffset.left ) + curLeft;
+		}
+
+		if ( "using" in options ) {
+			options.using.call( elem, props );
+		} else {
+			curElem.css( props );
+		}
+	}
+};
+
+
+jQuery.fn.extend({
+
+	position: function() {
+		if ( !this[0] ) {
+			return;
+		}
+
+		var elem = this[0],
+
+		// Get *real* offsetParent
+		offsetParent = this.offsetParent(),
+
+		// Get correct offsets
+		offset       = this.offset(),
+		parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset();
+
+		// Subtract element margins
+		// note: when an element has margin: auto the offsetLeft and marginLeft
+		// are the same in Safari causing offset.left to incorrectly be 0
+		offset.top  -= parseFloat( jQuery.css(elem, "marginTop") ) || 0;
+		offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0;
+
+		// Add offsetParent borders
+		parentOffset.top  += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0;
+		parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0;
+
+		// Subtract the two offsets
+		return {
+			top:  offset.top  - parentOffset.top,
+			left: offset.left - parentOffset.left
+		};
+	},
+
+	offsetParent: function() {
+		return this.map(function() {
+			var offsetParent = this.offsetParent || document.body;
+			while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) {
+				offsetParent = offsetParent.offsetParent;
+			}
+			return offsetParent || document.body;
+		});
+	}
+});
+
+
+// Create scrollLeft and scrollTop methods
+jQuery.each( {scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function( method, prop ) {
+	var top = /Y/.test( prop );
+
+	jQuery.fn[ method ] = function( val ) {
+		return jQuery.access( this, function( elem, method, val ) {
+			var win = getWindow( elem );
+
+			if ( val === undefined ) {
+				return win ? (prop in win) ? win[ prop ] :
+					win.document.documentElement[ method ] :
+					elem[ method ];
+			}
+
+			if ( win ) {
+				win.scrollTo(
+					!top ? val : jQuery( win ).scrollLeft(),
+					 top ? val : jQuery( win ).scrollTop()
+				);
+
+			} else {
+				elem[ method ] = val;
+			}
+		}, method, val, arguments.length, null );
+	};
+});
+
+function getWindow( elem ) {
+	return jQuery.isWindow( elem ) ?
+		elem :
+		elem.nodeType === 9 ?
+			elem.defaultView || elem.parentWindow :
+			false;
+}
+// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
+jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
+	jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) {
+		// margin is only for outerHeight, outerWidth
+		jQuery.fn[ funcName ] = function( margin, value ) {
+			var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
+				extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
+
+			return jQuery.access( this, function( elem, type, value ) {
+				var doc;
+
+				if ( jQuery.isWindow( elem ) ) {
+					// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there
+					// isn't a whole lot we can do. See pull request at this URL for discussion:
+					// https://github.com/jquery/jquery/pull/764
+					return elem.document.documentElement[ "client" + name ];
+				}
+
+				// Get document width or height
+				if ( elem.nodeType === 9 ) {
+					doc = elem.documentElement;
+
+					// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest
+					// unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it.
+					return Math.max(
+						elem.body[ "scroll" + name ], doc[ "scroll" + name ],
+						elem.body[ "offset" + name ], doc[ "offset" + name ],
+						doc[ "client" + name ]
+					);
+				}
+
+				return value === undefined ?
+					// Get width or height on the element, requesting but not forcing parseFloat
+					jQuery.css( elem, type, value, extra ) :
+
+					// Set width or height on the element
+					jQuery.style( elem, type, value, extra );
+			}, type, chainable ? margin : undefined, chainable, null );
+		};
+	});
+});
+// Expose jQuery to the global object
+window.jQuery = window.$ = jQuery;
+
+// Expose jQuery as an AMD module, but only for AMD loaders that
+// understand the issues with loading multiple versions of jQuery
+// in a page that all might call define(). The loader will indicate
+// they have special allowances for multiple jQuery versions by
+// specifying define.amd.jQuery = true. Register as a named module,
+// since jQuery can be concatenated with other files that may use define,
+// but not use a proper concatenation script that understands anonymous
+// AMD modules. A named AMD is safest and most robust way to register.
+// Lowercase jquery is used because AMD module names are derived from
+// file names, and jQuery is normally delivered in a lowercase file name.
+// Do this after creating the global so that if an AMD module wants to call
+// noConflict to hide this version of jQuery, it will work.
+if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
+	define( "jquery", [], function () { return jQuery; } );
+}
+
+})( window );
diff --git a/js/jquery-jvectormap-1.2.2.min.js b/js/jquery-jvectormap-1.2.2.min.js
new file mode 100644
index 0000000..ea54476
--- /dev/null
+++ b/js/jquery-jvectormap-1.2.2.min.js
@@ -0,0 +1,8 @@
+/**
+ * jVectorMap version 1.2.2
+ *
+ * Copyright 2011-2013, Kirill Lebedev
+ * Licensed under the MIT license.
+ *
+ */(function(e){var t={set:{colors:1,values:1,backgroundColor:1,scaleColors:1,normalizeFunction:1,focus:1},get:{selectedRegions:1,selectedMarkers:1,mapObject:1,regionName:1}};e.fn.vectorMap=function(e){var n,r,i,n=this.children(".jvectormap-container").data("mapObject");if(e==="addMap")jvm.WorldMap.maps[arguments[1]]=arguments[2];else{if(!(e!=="set"&&e!=="get"||!t[e][arguments[1]]))return r=arguments[1].charAt(0).toUpperCase()+arguments[1].substr(1),n[e+r].apply(n,Array.prototype.slice.call(arguments,2));e=e||{},e.container=this,n=new jvm.WorldMap(e)}return this}})(jQuery),function(e){function r(t){var n=t||window.event,r=[].slice.call(arguments,1),i=0,s=!0,o=0,u=0;return t=e.event.fix(n),t.type="mousewheel",n.wheelDelta&&(i=n.wheelDelta/120),n.detail&&(i=-n.detail/3),u=i,n.axis!==undefined&&n.axis===n.HORIZONTAL_AXIS&&(u=0,o=-1*i),n.wheelDeltaY!==undefined&&(u=n.wheelDeltaY/120),n.wheelDeltaX!==undefined&&(o=-1*n.wheelDeltaX/120),r.unshift(t,i,o,u),(e.event.dispatch||e.event.handle).apply(this,r)}var t=["DOMMouseScroll","mousewheel"];if(e.event.fixHooks)for(var n=t.length;n;)e.event.fixHooks[t[--n]]=e.event.mouseHooks;e.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var e=t.length;e;)this.addEventListener(t[--e],r,!1);else this.onmousewheel=r},teardown:function(){if(this.removeEventListener)for(var e=t.length;e;)this.removeEventListener(t[--e],r,!1);else this.onmousewheel=null}},e.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}})}(jQuery);var jvm={inherits:function(e,t){function n(){}n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.parentClass=t},mixin:function(e,t){var n;for(n in t.prototype)t.prototype.hasOwnProperty(n)&&(e.prototype[n]=t.prototype[n])},min:function(e){var t=Number.MAX_VALUE,n;if(e instanceof Array)for(n=0;n<e.length;n++)e[n]<t&&(t=e[n]);else for(n in e)e[n]<t&&(t=e[n]);return t},max:function(e){var t=Number.MIN_VALUE,n;if(e instanceof Array)for(n=0;n<e.length;n++)e[n]>t&&(t=e[n]);else for(n in e)e[n]>t&&(t=e[n]);return t},keys:function(e){var t=[],n;for(n in e)t.push(n);return t},values:function(e){var t=[],n,r;for(r=0;r<arguments.length;r++){e=arguments[r];for(n in e)t.push(e[n])}return t}};jvm.$=jQuery,jvm.AbstractElement=function(e,t){this.node=this.createElement(e),this.name=e,this.properties={},t&&this.set(t)},jvm.AbstractElement.prototype.set=function(e,t){var n;if(typeof e=="object")for(n in e)this.properties[n]=e[n],this.applyAttr(n,e[n]);else this.properties[e]=t,this.applyAttr(e,t)},jvm.AbstractElement.prototype.get=function(e){return this.properties[e]},jvm.AbstractElement.prototype.applyAttr=function(e,t){this.node.setAttribute(e,t)},jvm.AbstractElement.prototype.remove=function(){jvm.$(this.node).remove()},jvm.AbstractCanvasElement=function(e,t,n){this.container=e,this.setSize(t,n),this.rootElement=new jvm[this.classPrefix+"GroupElement"],this.node.appendChild(this.rootElement.node),this.container.appendChild(this.node)},jvm.AbstractCanvasElement.prototype.add=function(e,t){t=t||this.rootElement,t.add(e),e.canvas=this},jvm.AbstractCanvasElement.prototype.addPath=function(e,t,n){var r=new jvm[this.classPrefix+"PathElement"](e,t);return this.add(r,n),r},jvm.AbstractCanvasElement.prototype.addCircle=function(e,t,n){var r=new jvm[this.classPrefix+"CircleElement"](e,t);return this.add(r,n),r},jvm.AbstractCanvasElement.prototype.addGroup=function(e){var t=new jvm[this.classPrefix+"GroupElement"];return e?e.node.appendChild(t.node):this.node.appendChild(t.node),t.canvas=this,t},jvm.AbstractShapeElement=function(e,t,n){this.style=n||{},this.style.current={},this.isHovered=!1,this.isSelected=!1,this.updateStyle()},jvm.AbstractShapeElement.prototype.setHovered=function(e){this.isHovered!==e&&(this.isHovered=e,this.updateStyle())},jvm.AbstractShapeElement.prototype.setSelected=function(e){this.isSelected!==e&&(this.isSelected=e,this.updateStyle(),jvm.$(this.node).trigger("selected",[e]))},jvm.AbstractShapeElement.prototype.setStyle=function(e,t){var n={};typeof e=="object"?n=e:n[e]=t,jvm.$.extend(this.style.current,n),this.updateStyle()},jvm.AbstractShapeElement.prototype.updateStyle=function(){var e={};jvm.AbstractShapeElement.mergeStyles(e,this.style.initial),jvm.AbstractShapeElement.mergeStyles(e,this.style.current),this.isHovered&&jvm.AbstractShapeElement.mergeStyles(e,this.style.hover),this.isSelected&&(jvm.AbstractShapeElement.mergeStyles(e,this.style.selected),this.isHovered&&jvm.AbstractShapeElement.mergeStyles(e,this.style.selectedHover)),this.set(e)},jvm.AbstractShapeElement.mergeStyles=function(e,t){var n;t=t||{};for(n in t)t[n]===null?delete e[n]:e[n]=t[n]},jvm.SVGElement=function(e,t){jvm.SVGElement.parentClass.apply(this,arguments)},jvm.inherits(jvm.SVGElement,jvm.AbstractElement),jvm.SVGElement.svgns="http://www.w3.org/2000/svg",jvm.SVGElement.prototype.createElement=function(e){return document.createElementNS(jvm.SVGElement.svgns,e)},jvm.SVGElement.prototype.addClass=function(e){this.node.setAttribute("class",e)},jvm.SVGElement.prototype.getElementCtr=function(e){return jvm["SVG"+e]},jvm.SVGElement.prototype.getBBox=function(){return this.node.getBBox()},jvm.SVGGroupElement=function(){jvm.SVGGroupElement.parentClass.call(this,"g")},jvm.inherits(jvm.SVGGroupElement,jvm.SVGElement),jvm.SVGGroupElement.prototype.add=function(e){this.node.appendChild(e.node)},jvm.SVGCanvasElement=function(e,t,n){this.classPrefix="SVG",jvm.SVGCanvasElement.parentClass.call(this,"svg"),jvm.AbstractCanvasElement.apply(this,arguments)},jvm.inherits(jvm.SVGCanvasElement,jvm.SVGElement),jvm.mixin(jvm.SVGCanvasElement,jvm.AbstractCanvasElement),jvm.SVGCanvasElement.prototype.setSize=function(e,t){this.width=e,this.height=t,this.node.setAttribute("width",e),this.node.setAttribute("height",t)},jvm.SVGCanvasElement.prototype.applyTransformParams=function(e,t,n){this.scale=e,this.transX=t,this.transY=n,this.rootElement.node.setAttribute("transform","scale("+e+") translate("+t+", "+n+")")},jvm.SVGShapeElement=function(e,t,n){jvm.SVGShapeElement.parentClass.call(this,e,t),jvm.AbstractShapeElement.apply(this,arguments)},jvm.inherits(jvm.SVGShapeElement,jvm.SVGElement),jvm.mixin(jvm.SVGShapeElement,jvm.AbstractShapeElement),jvm.SVGPathElement=function(e,t){jvm.SVGPathElement.parentClass.call(this,"path",e,t),this.node.setAttribute("fill-rule","evenodd")},jvm.inherits(jvm.SVGPathElement,jvm.SVGShapeElement),jvm.SVGCircleElement=function(e,t){jvm.SVGCircleElement.parentClass.call(this,"circle",e,t)},jvm.inherits(jvm.SVGCircleElement,jvm.SVGShapeElement),jvm.VMLElement=function(e,t){jvm.VMLElement.VMLInitialized||jvm.VMLElement.initializeVML(),jvm.VMLElement.parentClass.apply(this,arguments)},jvm.inherits(jvm.VMLElement,jvm.AbstractElement),jvm.VMLElement.VMLInitialized=!1,jvm.VMLElement.initializeVML=function(){try{document.namespaces.rvml||document.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),jvm.VMLElement.prototype.createElement=function(e){return document.createElement("<rvml:"+e+' class="rvml">')}}catch(e){jvm.VMLElement.prototype.createElement=function(e){return document.createElement("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}document.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)"),jvm.VMLElement.VMLInitialized=!0},jvm.VMLElement.prototype.getElementCtr=function(e){return jvm["VML"+e]},jvm.VMLElement.prototype.addClass=function(e){jvm.$(this.node).addClass(e)},jvm.VMLElement.prototype.applyAttr=function(e,t){this.node[e]=t},jvm.VMLElement.prototype.getBBox=function(){var e=jvm.$(this.node);return{x:e.position().left/this.canvas.scale,y:e.position().top/this.canvas.scale,width:e.width()/this.canvas.scale,height:e.height()/this.canvas.scale}},jvm.VMLGroupElement=function(){jvm.VMLGroupElement.parentClass.call(this,"group"),this.node.style.left="0px",this.node.style.top="0px",this.node.coordorigin="0 0"},jvm.inherits(jvm.VMLGroupElement,jvm.VMLElement),jvm.VMLGroupElement.prototype.add=function(e){this.node.appendChild(e.node)},jvm.VMLCanvasElement=function(e,t,n){this.classPrefix="VML",jvm.VMLCanvasElement.parentClass.call(this,"group"),jvm.AbstractCanvasElement.apply(this,arguments),this.node.style.position="absolute"},jvm.inherits(jvm.VMLCanvasElement,jvm.VMLElement),jvm.mixin(jvm.VMLCanvasElement,jvm.AbstractCanvasElement),jvm.VMLCanvasElement.prototype.setSize=function(e,t){var n,r,i,s;this.width=e,this.height=t,this.node.style.width=e+"px",this.node.style.height=t+"px",this.node.coordsize=e+" "+t,this.node.coordorigin="0 0";if(this.rootElement){n=this.rootElement.node.getElementsByTagName("shape");for(i=0,s=n.length;i<s;i++)n[i].coordsize=e+" "+t,n[i].style.width=e+"px",n[i].style.height=t+"px";r=this.node.getElementsByTagName("group");for(i=0,s=r.length;i<s;i++)r[i].coordsize=e+" "+t,r[i].style.width=e+"px",r[i].style.height=t+"px"}},jvm.VMLCanvasElement.prototype.applyTransformParams=function(e,t,n){this.scale=e,this.transX=t,this.transY=n,this.rootElement.node.coordorigin=this.width-t-this.width/100+","+(this.height-n-this.height/100),this.rootElement.node.coordsize=this.width/e+","+this.height/e},jvm.VMLShapeElement=function(e,t){jvm.VMLShapeElement.parentClass.call(this,e,t),this.fillElement=new jvm.VMLElement("fill"),this.strokeElement=new jvm.VMLElement("stroke"),this.node.appendChild(this.fillElement.node),this.node.appendChild(this.strokeElement.node),this.node.stroked=!1,jvm.AbstractShapeElement.apply(this,arguments)},jvm.inherits(jvm.VMLShapeElement,jvm.VMLElement),jvm.mixin(jvm.VMLShapeElement,jvm.AbstractShapeElement),jvm.VMLShapeElement.prototype.applyAttr=function(e,t){switch(e){case"fill":this.node.fillcolor=t;break;case"fill-opacity":this.fillElement.node.opacity=Math.round(t*100)+"%";break;case"stroke":t==="none"?this.node.stroked=!1:this.node.stroked=!0,this.node.strokecolor=t;break;case"stroke-opacity":this.strokeElement.node.opacity=Math.round(t*100)+"%";break;case"stroke-width":parseInt(t,10)===0?this.node.stroked=!1:this.node.stroked=!0,this.node.strokeweight=t;break;case"d":this.node.path=jvm.VMLPathElement.pathSvgToVml(t);break;default:jvm.VMLShapeElement.parentClass.prototype.applyAttr.apply(this,arguments)}},jvm.VMLPathElement=function(e,t){var n=new jvm.VMLElement("skew");jvm.VMLPathElement.parentClass.call(this,"shape",e,t),this.node.coordorigin="0 0",n.node.on=!0,n.node.matrix="0.01,0,0,0.01,0,0",n.node.offset="0,0",this.node.appendChild(n.node)},jvm.inherits(jvm.VMLPathElement,jvm.VMLShapeElement),jvm.VMLPathElement.prototype.applyAttr=function(e,t){e==="d"?this.node.path=jvm.VMLPathElement.pathSvgToVml(t):jvm.VMLShapeElement.prototype.applyAttr.call(this,e,t)},jvm.VMLPathElement.pathSvgToVml=function(e){var t="",n=0,r=0,i,s;return e=e.replace(/(-?\d+)e(-?\d+)/g,"0"),e.replace(/([MmLlHhVvCcSs])\s*((?:-?\d*(?:\.\d+)?\s*,?\s*)+)/g,function(e,t,o,u){o=o.replace(/(\d)-/g,"$1,-").replace(/^\s+/g,"").replace(/\s+$/g,"").replace(/\s+/g,",").split(","),o[0]||o.shift();for(var a=0,f=o.length;a<f;a++)o[a]=Math.round(100*o[a]);switch(t){case"m":return n+=o[0],r+=o[1],"t"+o.join(",");case"M":return n=o[0],r=o[1],"m"+o.join(",");case"l":return n+=o[0],r+=o[1],"r"+o.join(",");case"L":return n=o[0],r=o[1],"l"+o.join(",");case"h":return n+=o[0],"r"+o[0]+",0";case"H":return n=o[0],"l"+n+","+r;case"v":return r+=o[0],"r0,"+o[0];case"V":return r=o[0],"l"+n+","+r;case"c":return i=n+o[o.length-4],s=r+o[o.length-3],n+=o[o.length-2],r+=o[o.length-1],"v"+o.join(",");case"C":return i=o[o.length-4],s=o[o.length-3],n=o[o.length-2],r=o[o.length-1],"c"+o.join(",");case"s":return o.unshift(r-s),o.unshift(n-i),i=n+o[o.length-4],s=r+o[o.length-3],n+=o[o.length-2],r+=o[o.length-1],"v"+o.join(",");case"S":return o.unshift(r+r-s),o.unshift(n+n-i),i=o[o.length-4],s=o[o.length-3],n=o[o.length-2],r=o[o.length-1],"c"+o.join(",")}return""}).replace(/z/g,"e")},jvm.VMLCircleElement=function(e,t){jvm.VMLCircleElement.parentClass.call(this,"oval",e,t)},jvm.inherits(jvm.VMLCircleElement,jvm.VMLShapeElement),jvm.VMLCircleElement.prototype.applyAttr=function(e,t){switch(e){case"r":this.node.style.width=t*2+"px",this.node.style.height=t*2+"px",this.applyAttr("cx",this.get("cx")||0),this.applyAttr("cy",this.get("cy")||0);break;case"cx":if(!t)return;this.node.style.left=t-(this.get("r")||0)+"px";break;case"cy":if(!t)return;this.node.style.top=t-(this.get("r")||0)+"px";break;default:jvm.VMLCircleElement.parentClass.prototype.applyAttr.call(this,e,t)}},jvm.VectorCanvas=function(e,t,n){return this.mode=window.SVGAngle?"svg":"vml",this.mode=="svg"?this.impl=new jvm.SVGCanvasElement(e,t,n):this.impl=new jvm.VMLCanvasElement(e,t,n),this.impl},jvm.SimpleScale=function(e){this.scale=e},jvm.SimpleScale.prototype.getValue=function(e){return e},jvm.OrdinalScale=function(e){this.scale=e},jvm.OrdinalScale.prototype.getValue=function(e){return this.scale[e]},jvm.NumericScale=function(e,t,n,r){this.scale=[],t=t||"linear",e&&this.setScale(e),t&&this.setNormalizeFunction(t),n&&this.setMin(n),r&&this.setMax(r)},jvm.NumericScale.prototype={setMin:function(e){this.clearMinValue=e,typeof this.normalize=="function"?this.minValue=this.normalize(e):this.minValue=e},setMax:function(e){this.clearMaxValue=e,typeof this.normalize=="function"?this.maxValue=this.normalize(e):this.maxValue=e},setScale:function(e){var t;for(t=0;t<e.length;t++)this.scale[t]=[e[t]]},setNormalizeFunction:function(e){e==="polynomial"?this.normalize=function(e){return Math.pow(e,.2)}:e==="linear"?delete this.normalize:this.normalize=e,this.setMin(this.clearMinValue),this.setMax(this.clearMaxValue)},getValue:function(e){var t=[],n=0,r,i=0,s;typeof this.normalize=="function"&&(e=this.normalize(e));for(i=0;i<this.scale.length-1;i++)r=this.vectorLength(this.vectorSubtract(this.scale[i+1],this.scale[i])),t.push(r),n+=r;s=(this.maxValue-this.minValue)/n;for(i=0;i<t.length;i++)t[i]*=s;i=0,e-=this.minValue;while(e-t[i]>=0)e-=t[i],i++;return i==this.scale.length-1?e=this.vectorToNum(this.scale[i]):e=this.vectorToNum(this.vectorAdd(this.scale[i],this.vectorMult(this.vectorSubtract(this.scale[i+1],this.scale[i]),e/t[i]))),e},vectorToNum:function(e){var t=0,n;for(n=0;n<e.length;n++)t+=Math.round(e[n])*Math.pow(256,e.length-n-1);return t},vectorSubtract:function(e,t){var n=[],r;for(r=0;r<e.length;r++)n[r]=e[r]-t[r];return n},vectorAdd:function(e,t){var n=[],r;for(r=0;r<e.length;r++)n[r]=e[r]+t[r];return n},vectorMult:function(e,t){var n=[],r;for(r=0;r<e.length;r++)n[r]=e[r]*t;return n},vectorLength:function(e){var t=0,n;for(n=0;n<e.length;n++)t+=e[n]*e[n];return Math.sqrt(t)}},jvm.ColorScale=function(e,t,n,r){jvm.ColorScale.parentClass.apply(this,arguments)},jvm.inherits(jvm.ColorScale,jvm.NumericScale),jvm.ColorScale.prototype.setScale=function(e){var t;for(t=0;t<e.length;t++)this.scale[t]=jvm.ColorScale.rgbToArray(e[t])},jvm.ColorScale.prototype.getValue=function(e){return jvm.ColorScale.numToRgb(jvm.ColorScale.parentClass.prototype.getValue.call(this,e))},jvm.ColorScale.arrayToRgb=function(e){var t="#",n,r;for(r=0;r<e.length;r++)n=e[r].toString(16),t+=n.length==1?"0"+n:n;return t},jvm.ColorScale.numToRgb=function(e){e=e.toString(16);while(e.length<6)e="0"+e;return"#"+e},jvm.ColorScale.rgbToArray=function(e){return e=e.substr(1),[parseInt(e.substr(0,2),16),parseInt(e.substr(2,2),16),parseInt(e.substr(4,2),16)]},jvm.DataSeries=function(e,t){var n;e=e||{},e.attribute=e.attribute||"fill",this.elements=t,this.params=e,e.attributes&&this.setAttributes(e.attributes),jvm.$.isArray(e.scale)?(n=e.attribute==="fill"||e.attribute==="stroke"?jvm.ColorScale:jvm.NumericScale,this.scale=new n(e.scale,e.normalizeFunction,e.min,e.max)):e.scale?this.scale=new jvm.OrdinalScale(e.scale):this.scale=new jvm.SimpleScale(e.scale),this.values=e.values||{},this.setValues(this.values)},jvm.DataSeries.prototype={setAttributes:function(e,t){var n=e,r;if(typeof e=="string")this.elements[e]&&this.elements[e].setStyle(this.params.attribute,t);else for(r in n)this.elements[r]&&this.elements[r].element.setStyle(this.params.attribute,n[r])},setValues:function(e){var t=Number.MIN_VALUE,n=Number.MAX_VALUE,r,i,s={};if(this.scale instanceof jvm.OrdinalScale||this.scale instanceof jvm.SimpleScale)for(i in e)e[i]?s[i]=this.scale.getValue(e[i]):s[i]=this.elements[i].element.style.initial[this.params.attribute];else{if(!this.params.min||!this.params.max){for(i in e)r=parseFloat(e[i]),r>t&&(t=e[i]),r<n&&(n=r);this.params.min||this.scale.setMin(n),this.params.max||this.scale.setMax(t),this.params.min=n,this.params.max=t}for(i in e)r=parseFloat(e[i]),isNaN(r)?s[i]=this.elements[i].element.style.initial[this.params.attribute]:s[i]=this.scale.getValue(r)}this.setAttributes(s),jvm.$.extend(this.values,e)},clear:function(){var e,t={};for(e in this.values)this.elements[e]&&(t[e]=this.elements[e].element.style.initial[this.params.attribute]);this.setAttributes(t),this.values={}},setScale:function(e){this.scale.setScale(e),this.values&&this.setValues(this.values)},setNormalizeFunction:function(e){this.scale.setNormalizeFunction(e),this.values&&this.setValues(this.values)}},jvm.Proj={degRad:180/Math.PI,radDeg:Math.PI/180,radius:6381372,sgn:function(e){return e>0?1:e<0?-1:e},mill:function(e,t,n){return{x:this.radius*(t-n)*this.radDeg,y:-this.radius*Math.log(Math.tan((45+.4*e)*this.radDeg))/.8}},mill_inv:function(e,t,n){return{lat:(2.5*Math.atan(Math.exp(.8*t/this.radius))-5*Math.PI/8)*this.degRad,lng:(n*this.radDeg+e/this.radius)*this.degRad}},merc:function(e,t,n){return{x:this.radius*(t-n)*this.radDeg,y:-this.radius*Math.log(Math.tan(Math.PI/4+e*Math.PI/360))}},merc_inv:function(e,t,n){return{lat:(2*Math.atan(Math.exp(t/this.radius))-Math.PI/2)*this.degRad,lng:(n*this.radDeg+e/this.radius)*this.degRad}},aea:function(e,t,n){var r=0,i=n*this.radDeg,s=29.5*this.radDeg,o=45.5*this.radDeg,u=e*this.radDeg,a=t*this.radDeg,f=(Math.sin(s)+Math.sin(o))/2,l=Math.cos(s)*Math.cos(s)+2*f*Math.sin(s),c=f*(a-i),h=Math.sqrt(l-2*f*Math.sin(u))/f,p=Math.sqrt(l-2*f*Math.sin(r))/f;return{x:h*Math.sin(c)*this.radius,y:-(p-h*Math.cos(c))*this.radius}},aea_inv:function(e,t,n){var r=e/this.radius,i=t/this.radius,s=0,o=n*this.radDeg,u=29.5*this.radDeg,a=45.5*this.radDeg,f=(Math.sin(u)+Math.sin(a))/2,l=Math.cos(u)*Math.cos(u)+2*f*Math.sin(u),c=Math.sqrt(l-2*f*Math.sin(s))/f,h=Math.sqrt(r*r+(c-i)*(c-i)),p=Math.atan(r/(c-i));return{lat:Math.asin((l-h*h*f*f)/(2*f))*this.degRad,lng:(o+p/f)*this.degRad}},lcc:function(e,t,n){var r=0,i=n*this.radDeg,s=t*this.radDeg,o=33*this.radDeg,u=45*this.radDeg,a=e*this.radDeg,f=Math.log(Math.cos(o)*(1/Math.cos(u)))/Math.log(Math.tan(Math.PI/4+u/2)*(1/Math.tan(Math.PI/4+o/2))),l=Math.cos(o)*Math.pow(Math.tan(Math.PI/4+o/2),f)/f,c=l*Math.pow(1/Math.tan(Math.PI/4+a/2),f),h=l*Math.pow(1/Math.tan(Math.PI/4+r/2),f);return{x:c*Math.sin(f*(s-i))*this.radius,y:-(h-c*Math.cos(f*(s-i)))*this.radius}},lcc_inv:function(e,t,n){var r=e/this.radius,i=t/this.radius,s=0,o=n*this.radDeg,u=33*this.radDeg,a=45*this.radDeg,f=Math.log(Math.cos(u)*(1/Math.cos(a)))/Math.log(Math.tan(Math.PI/4+a/2)*(1/Math.tan(Math.PI/4+u/2))),l=Math.cos(u)*Math.pow(Math.tan(Math.PI/4+u/2),f)/f,c=l*Math.pow(1/Math.tan(Math.PI/4+s/2),f),h=this.sgn(f)*Math.sqrt(r*r+(c-i)*(c-i)),p=Math.atan(r/(c-i));return{lat:(2*Math.atan(Math.pow(l/h,1/f))-Math.PI/2)*this.degRad,lng:(o+p/f)*this.degRad}}},jvm.WorldMap=function(e){var t=this,n;this.params=jvm.$.extend(!0,{},jvm.WorldMap.defaultParams,e);if(!jvm.WorldMap.maps[this.params.map])throw new Error("Attempt to use map which was not loaded: "+this.params.map);this.mapData=jvm.WorldMap.maps[this.params.map],this.markers={},this.regions={},this.regionsColors={},this.regionsData={},this.container=jvm.$("<div>").css({width:"100%",height:"100%"}).addClass("jvectormap-container"),this.params.container.append(this.container),this.container.data("mapObject",this),this.container.css({position:"relative",overflow:"hidden"}),this.defaultWidth=this.mapData.width,this.defaultHeight=this.mapData.height,this.setBackgroundColor(this.params.backgroundColor),this.onResize=function(){t.setSize()},jvm.$(window).resize(this.onResize);for(n in jvm.WorldMap.apiEvents)this.params[n]&&this.container.bind(jvm.WorldMap.apiEvents[n]+".jvectormap",this.params[n]);this.canvas=new jvm.VectorCanvas(this.container[0],this.width,this.height),"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch?this.params.bindTouchEvents&&this.bindContainerTouchEvents():this.bindContainerEvents(),this.bindElementEvents(),this.createLabel(),this.params.zoomButtons&&this.bindZoomButtons(),this.createRegions(),this.createMarkers(this.params.markers||{}),this.setSize(),this.params.focusOn&&(typeof this.params.focusOn=="object"?this.setFocus.call(this,this.params.focusOn.scale,this.params.focusOn.x,this.params.focusOn.y):this.setFocus.call(this,this.params.focusOn)),this.params.selectedRegions&&this.setSelectedRegions(this.params.selectedRegions),this.params.selectedMarkers&&this.setSelectedMarkers(this.params.selectedMarkers),this.params.series&&this.createSeries()},jvm.WorldMap.prototype={transX:0,transY:0,scale:1,baseTransX:0,baseTransY:0,baseScale:1,width:0,height:0,setBackgroundColor:function(e){this.container.css("background-color",e)},resize:function(){var e=this.baseScale;this.width/this.height>this.defaultWidth/this.defaultHeight?(this.baseScale=this.height/this.defaultHeight,this.baseTransX=Math.abs(this.width-this.defaultWidth*this.baseScale)/(2*this.baseScale)):(this.baseScale=this.width/this.defaultWidth,this.baseTransY=Math.abs(this.height-this.defaultHeight*this.baseScale)/(2*this.baseScale)),this.scale*=this.baseScale/e,this.transX*=this.baseScale/e,this.transY*=this.baseScale/e},setSize:function(){this.width=this.container.width(),this.height=this.container.height(),this.resize(),this.canvas.setSize(this.width,this.height),this.applyTransform()},reset:function(){var e,t;for(e in this.series)for(t=0;t<this.series[e].length;t++)this.series[e][t].clear();this.scale=this.baseScale,this.transX=this.baseTransX,this.transY=this.baseTransY,this.applyTransform()},applyTransform:function(){var e,t,n,r;this.defaultWidth*this.scale<=this.width?(e=(this.width-this.defaultWidth*this.scale)/(2*this.scale),n=(this.width-this.defaultWidth*this.scale)/(2*this.scale)):(e=0,n=(this.width-this.defaultWidth*this.scale)/this.scale),this.defaultHeight*this.scale<=this.height?(t=(this.height-this.defaultHeight*this.scale)/(2*this.scale),r=(this.height-this.defaultHeight*this.scale)/(2*this.scale)):(t=0,r=(this.height-this.defaultHeight*this.scale)/this.scale),this.transY>t?this.transY=t:this.transY<r&&(this.transY=r),this.transX>e?this.transX=e:this.transX<n&&(this.transX=n),this.canvas.applyTransformParams(this.scale,this.transX,this.transY),this.markers&&this.repositionMarkers(),this.container.trigger("viewportChange",[this.scale/this.baseScale,this.transX,this.transY])},bindContainerEvents:function(){var e=!1,t,n,r=this;this.container.mousemove(function(i){return e&&(r.transX-=(t-i.pageX)/r.scale,r.transY-=(n-i.pageY)/r.scale,r.applyTransform(),t=i.pageX,n=i.pageY),!1}).mousedown(function(r){return e=!0,t=r.pageX,n=r.pageY,!1}),jvm.$("body").mouseup(function(){e=!1}),this.params.zoomOnScroll&&this.container.mousewheel(function(e,t,n,i){var s=jvm.$(r.container).offset(),o=e.pageX-s.left,u=e.pageY-s.top,a=Math.pow(1.3,i);r.label.hide(),r.setScale(r.scale*a,o,u),e.preventDefault()})},bindContainerTouchEvents:function(){var e,t,n=this,r,i,s,o,u,a=function(a){var f=a.originalEvent.touches,l,c,h,p;a.type=="touchstart"&&(u=0),f.length==1?(u==1&&(h=n.transX,p=n.transY,n.transX-=(r-f[0].pageX)/n.scale,n.transY-=(i-f[0].pageY)/n.scale,n.applyTransform(),n.label.hide(),(h!=n.transX||p!=n.transY)&&a.preventDefault()),r=f[0].pageX,i=f[0].pageY):f.length==2&&(u==2?(c=Math.sqrt(Math.pow(f[0].pageX-f[1].pageX,2)+Math.pow(f[0].pageY-f[1].pageY,2))/t,n.setScale(e*c,s,o),n.label.hide(),a.preventDefault()):(l=jvm.$(n.container).offset(),f[0].pageX>f[1].pageX?s=f[1].pageX+(f[0].pageX-f[1].pageX)/2:s=f[0].pageX+(f[1].pageX-f[0].pageX)/2,f[0].pageY>f[1].pageY?o=f[1].pageY+(f[0].pageY-f[1].pageY)/2:o=f[0].pageY+(f[1].pageY-f[0].pageY)/2,s-=l.left,o-=l.top,e=n.scale,t=Math.sqrt(Math.pow(f[0].pageX-f[1].pageX,2)+Math.pow(f[0].pageY-f[1].pageY,2)))),u=f.length};jvm.$(this.container).bind("touchstart",a),jvm.$(this.container).bind("touchmove",a)},bindElementEvents:function(){var e=this,t;this.container.mousemove(function(){t=!0}),this.container.delegate("[class~='jvectormap-element']","mouseover mouseout",function(t){var n=this,r=jvm.$(this).attr("class").baseVal?jvm.$(this).attr("class").baseVal:jvm.$(this).attr("class"),i=r.indexOf("jvectormap-region")===-1?"marker":"region",s=i=="region"?jvm.$(this).attr("data-code"):jvm.$(this).attr("data-index"),o=i=="region"?e.regions[s].element:e.markers[s].element,u=i=="region"?e.mapData.paths[s].name:e.markers[s].config.name||"",a=jvm.$.Event(i+"LabelShow.jvectormap"),f=jvm.$.Event(i+"Over.jvectormap");t.type=="mouseover"?(e.container.trigger(f,[s]),f.isDefaultPrevented()||o.setHovered(!0),e.label.text(u),e.container.trigger(a,[e.label,s]),a.isDefaultPrevented()||(e.label.show(),e.labelWidth=e.label.width(),e.labelHeight=e.label.height())):(o.setHovered(!1),e.label.hide(),e.container.trigger(i+"Out.jvectormap",[s]))}),this.container.delegate("[class~='jvectormap-element']","mousedown",function(e){t=!1}),this.container.delegate("[class~='jvectormap-element']","mouseup",function(n){var r=this,i=jvm.$(this).attr("class").baseVal?jvm.$(this).attr("class").baseVal:jvm.$(this).attr("class"),s=i.indexOf("jvectormap-region")===-1?"marker":"region",o=s=="region"?jvm.$(this).attr("data-code"):jvm.$(this).attr("data-index"),u=jvm.$.Event(s+"Click.jvectormap"),a=s=="region"?e.regions[o].element:e.markers[o].element;if(!t){e.container.trigger(u,[o]);if(s==="region"&&e.params.regionsSelectable||s==="marker"&&e.params.markersSelectable)u.isDefaultPrevented()||(e.params[s+"sSelectableOne"]&&e.clearSelected(s+"s"),a.setSelected(!a.isSelected))}})},bindZoomButtons:function(){var e=this;jvm.$("<div/>").addClass("jvectormap-zoomin").text("+").appendTo(this.container),jvm.$("<div/>").addClass("jvectormap-zoomout").html("&#x2212;").appendTo(this.container),this.container.find(".jvectormap-zoomin").click(function(){e.setScale(e.scale*e.params.zoomStep,e.width/2,e.height/2)}),this.container.find(".jvectormap-zoomout").click(function(){e.setScale(e.scale/e.params.zoomStep,e.width/2,e.height/2)})},createLabel:function(){var e=this;this.label=jvm.$("<div/>").addClass("jvectormap-label").appendTo(jvm.$("body")),this.container.mousemove(function(t){var n=t.pageX-15-e.labelWidth,r=t.pageY-15-e.labelHeight;n<5&&(n=t.pageX+15),r<5&&(r=t.pageY+15),e.label.is(":visible")&&e.label.css({left:n,top:r})})},setScale:function(e,t,n,r){var i,s=jvm.$.Event("zoom.jvectormap");e>this.params.zoomMax*this.baseScale?e=this.params.zoomMax*this.baseScale:e<this.params.zoomMin*this.baseScale&&(e=this.params.zoomMin*this.baseScale),typeof t!="undefined"&&typeof n!="undefined"&&(i=e/this.scale,r?(this.transX=t+this.defaultWidth*(this.width/(this.defaultWidth*e))/2,this.transY=n+this.defaultHeight*(this.height/(this.defaultHeight*e))/2):(this.transX-=(i-1)/e*t,this.transY-=(i-1)/e*n)),this.scale=e,this.applyTransform(),this.container.trigger(s,[e/this.baseScale])},setFocus:function(e,t,n){var r,i,s,o,u;if(jvm.$.isArray(e)||this.regions[e]){jvm.$.isArray(e)?o=e:o=[e];for(u=0;u<o.length;u++)this.regions[o[u]]&&(i=this.regions[o[u]].element.getBBox(),i&&(typeof r=="undefined"?r=i:(s={x:Math.min(r.x,i.x),y:Math.min(r.y,i.y),width:Math.max(r.x+r.width,i.x+i.width)-Math.min(r.x,i.x),height:Math.max(r.y+r.height,i.y+i.height)-Math.min(r.y,i.y)},r=s)));this.setScale(Math.min(this.width/r.width,this.height/r.height),-(r.x+r.width/2),-(r.y+r.height/2),!0)}else e*=this.baseScale,this.setScale(e,-t*this.defaultWidth,-n*this.defaultHeight,!0)},getSelected:function(e){var t,n=[];for(t in this[e])this[e][t].element.isSelected&&n.push(t);return n},getSelectedRegions:function(){return this.getSelected("regions")},getSelectedMarkers:function(){return this.getSelected("markers")},setSelected:function(e,t){var n;typeof t!="object"&&(t=[t]);if(jvm.$.isArray(t))for(n=0;n<t.length;n++)this[e][t[n]].element.setSelected(!0);else for(n in t)this[e][n].element.setSelected(!!t[n])},setSelectedRegions:function(e){this.setSelected("regions",e)},setSelectedMarkers:function(e){this.setSelected("markers",e)},clearSelected:function(e){var t={},n=this.getSelected(e),r;for(r=0;r<n.length;r++)t[n[r]]=!1;this.setSelected(e,t)},clearSelectedRegions:function(){this.clearSelected("regions")},clearSelectedMarkers:function(){this.clearSelected("markers")},getMapObject:function(){return this},getRegionName:function(e){return this.mapData.paths[e].name},createRegions:function(){var e,t,n=this;for(e in this.mapData.paths)t=this.canvas.addPath({d:this.mapData.paths[e].path,"data-code":e},jvm.$.extend(!0,{},this.params.regionStyle)),jvm.$(t.node).bind("selected",function(e,t){n.container.trigger("regionSelected.jvectormap",[jvm.$(this).attr("data-code"),t,n.getSelectedRegions()])}),t.addClass("jvectormap-region jvectormap-element"),this.regions[e]={element:t,config:this.mapData.paths[e]}},createMarkers:function(e){var t,n,r,i,s,o=this;this.markersGroup=this.markersGroup||this.canvas.addGroup();if(jvm.$.isArray(e)){s=e.slice(),e={};for(t=0;t<s.length;t++)e[t]=s[t]}for(t in e)i=e[t]instanceof Array?{latLng:e[t]}:e[t],r=this.getMarkerPosition(i),r!==!1&&(n=this.canvas.addCircle({"data-index":t,cx:r.x,cy:r.y},jvm.$.extend(!0,{},this.params.markerStyle,{initial:i.style||{}}),this.markersGroup),n.addClass("jvectormap-marker jvectormap-element"),jvm.$(n.node).bind("selected",function(e,t){o.container.trigger("markerSelected.jvectormap",[jvm.$(this).attr("data-index"),t,o.getSelectedMarkers()])}),this.markers[t]&&this.removeMarkers([t]),this.markers[t]={element:n,config:i})},repositionMarkers:function(){var e,t;for(e in this.markers)t=this.getMarkerPosition(this.markers[e].config),t!==!1&&this.markers[e].element.setStyle({cx:t.x,cy:t.y})},getMarkerPosition:function(e){return jvm.WorldMap.maps[this.params.map].projection?this.latLngToPoint.apply(this,e.latLng||[0,0]):{x:e.coords[0]*this.scale+this.transX*this.scale,y:e.coords[1]*this.scale+this.transY*this.scale}},addMarker:function(e,t,n){var r={},i=[],s,o,n=n||[];r[e]=t;for(o=0;o<n.length;o++)s={},s[e]=n[o],i.push(s);this.addMarkers(r,i)},addMarkers:function(e,t){var n;t=t||[],this.createMarkers(e);for(n=0;n<t.length;n++)this.series.markers[n].setValues(t[n]||{})},removeMarkers:function(e){var t;for(t=0;t<e.length;t++)this.markers[e[t]].element.remove(),delete this.markers[e[t]]},removeAllMarkers:function(){var e,t=[];for(e in this.markers)t.push(e);this.removeMarkers(t)},latLngToPoint:function(e,t){var n,r=jvm.WorldMap.maps[this.params.map].projection,i=r.centralMeridian,s=this.width-this.baseTransX*2*this.baseScale,o=this.height-this.baseTransY*2*this.baseScale,u,a,f=this.scale/this.baseScale;return t<-180+i&&(t+=360),n=jvm.Proj[r.type](e,t,i),u=this.getInsetForPoint(n.x,n.y),u?(a=u.bbox,n.x=(n.x-a[0].x)/(a[1].x-a[0].x)*u.width*this.scale,n.y=(n.y-a[0].y)/(a[1].y-a[0].y)*u.height*this.scale,{x:n.x+this.transX*this.scale+u.left*this.scale,y:n.y+this.transY*this.scale+u.top*this.scale}):!1},pointToLatLng:function(e,t){var n=jvm.WorldMap.maps[this.params.map].projection,r=n.centralMeridian,i=jvm.WorldMap.maps[this.params.map].insets,s,o,u,a,f;for(s=0;s<i.length;s++){o=i[s],u=o.bbox,a=e-(this.transX*this.scale+o.left*this.scale),f=t-(this.transY*this.scale+o.top*this.scale),a=a/(o.width*this.scale)*(u[1].x-u[0].x)+u[0].x,f=f/(o.height*this.scale)*(u[1].y-u[0].y)+u[0].y;if(a>u[0].x&&a<u[1].x&&f>u[0].y&&f<u[1].y)return jvm.Proj[n.type+"_inv"](a,-f,r)}return!1},getInsetForPoint:function(e,t){var n=jvm.WorldMap.maps[this.params.map].insets,r,i;for(r=0;r<n.length;r++){i=n[r].bbox;if(e>i[0].x&&e<i[1].x&&t>i[0].y&&t<i[1].y)return n[r]}},createSeries:function(){var e,t;this.series={markers:[],regions:[]};for(t in this.params.series)for(e=0;e<this.params.series[t].length;e++)this.series[t][e]=new jvm.DataSeries(this.params.series[t][e],this[t])},remove:function(){this.label.remove(),this.container.remove(),jvm.$(window).unbind("resize",this.onResize)}},jvm.WorldMap.maps={},jvm.WorldMap.defaultParams={map:"world_mill_en",backgroundColor:"#505050",zoomButtons:!0,zoomOnScroll:!0,zoomMax:8,zoomMin:1,zoomStep:1.6,regionsSelectable:!1,markersSelectable:!1,bindTouchEvents:!0,regionStyle:{initial:{fill:"white","fill-opacity":1,stroke:"none","stroke-width":0,"stroke-opacity":1},hover:{"fill-opacity":.8},selected:{fill:"yellow"},selectedHover
+:{}},markerStyle:{initial:{fill:"grey",stroke:"#505050","fill-opacity":1,"stroke-width":1,"stroke-opacity":1,r:5},hover:{stroke:"black","stroke-width":2},selected:{fill:"blue"},selectedHover:{}}},jvm.WorldMap.apiEvents={onRegionLabelShow:"regionLabelShow",onRegionOver:"regionOver",onRegionOut:"regionOut",onRegionClick:"regionClick",onRegionSelected:"regionSelected",onMarkerLabelShow:"markerLabelShow",onMarkerOver:"markerOver",onMarkerOut:"markerOut",onMarkerClick:"markerClick",onMarkerSelected:"markerSelected",onViewportChange:"viewportChange"};
\ No newline at end of file
diff --git a/js/jquery-jvectormap-world-mill-en.js b/js/jquery-jvectormap-world-mill-en.js
new file mode 100644
index 0000000..0cc1574
--- /dev/null
+++ b/js/jquery-jvectormap-world-mill-en.js
@@ -0,0 +1 @@
+$.fn.vectorMap('addMap', 'world_mill_en',{"insets": [{"width": 900.0, "top": 0, "height": 440.7063107441331, "bbox": [{"y": -12671671.123330014, "x": -20004297.151525836}, {"y": 6930392.025135122, "x": 20026572.394749384}], "left": 0}], "paths": {"BD": {"path": "M652.71,228.85l-0.04,1.38l-0.46,-0.21l-0.42,0.3l0.05,0.65l-0.17,-1.37l-0.48,-1.26l-1.08,-1.6l-0.23,-0.13l-2.31,-0.11l-0.31,0.36l0.21,0.98l-0.6,1.11l-0.8,-0.4l-0.37,0.09l-0.23,0.3l-0.54,-0.21l-0.78,-0.19l-0.38,-2.04l-0.83,-1.89l0.4,-1.5l-0.16,-0.35l-1.24,-0.57l0.36,-0.62l1.5,-0.95l0.02,-0.49l-1.62,-1.26l0.64,-1.31l1.7,1.0l0.12,0.04l0.96,0.11l0.19,1.62l0.25,0.26l2.38,0.37l2.32,-0.04l1.06,0.33l-0.92,1.79l-0.97,0.13l-0.23,0.16l-0.77,1.51l0.05,0.35l1.37,1.37l0.5,-0.14l0.35,-1.46l0.24,-0.0l1.24,3.92Z", "name": "Bangladesh"}, "BE": {"path": "M429.28,143.95l1.76,0.25l0.13,-0.01l2.16,-0.64l1.46,1.34l1.26,0.71l-0.23,1.8l-0.44,0.08l-0.24,0.25l-0.2,1.36l-1.8,-1.22l-0.23,-0.05l-1.14,0.23l-1.62,-1.43l-1.15,-1.31l-0.21,-0.1l-0.95,-0.04l-0.21,-0.68l1.66,-0.54Z", "name": "Belgium"}, "BF": {"path": "M413.48,260.21l-1.22,-0.46l-0.13,-0.02l-1.17,0.1l-0.15,0.06l-0.73,0.53l-0.87,-0.41l-0.39,-0.75l-0.13,-0.13l-0.98,-0.48l-0.14,-1.2l0.63,-0.99l0.05,-0.18l-0.05,-0.73l1.9,-2.01l0.08,-0.14l0.35,-1.65l0.49,-0.44l1.05,0.3l0.21,-0.02l1.05,-0.52l0.13,-0.13l0.3,-0.58l1.87,-1.1l0.11,-0.1l0.43,-0.72l2.23,-1.01l1.21,-0.32l0.51,0.4l0.19,0.06l1.25,-0.01l-0.14,0.89l0.01,0.13l0.34,1.16l0.06,0.11l1.35,1.59l0.07,1.13l0.24,0.28l2.64,0.53l-0.05,1.39l-0.42,0.59l-1.11,0.21l-0.22,0.17l-0.46,0.99l-0.69,0.23l-2.12,-0.05l-1.14,-0.2l-0.19,0.03l-0.72,0.36l-1.07,-0.17l-4.35,0.12l-0.29,0.29l-0.06,1.44l0.25,1.45Z", "name": "Burkina Faso"}, "BG": {"path": "M477.63,166.84l0.51,0.9l0.33,0.14l0.9,-0.21l1.91,0.47l3.68,0.16l0.17,-0.05l1.2,-0.75l2.78,-0.67l1.72,1.05l1.02,0.24l-0.97,0.97l-0.91,2.17l0.0,0.24l0.56,1.19l-1.58,-0.3l-0.16,0.01l-2.55,0.95l-0.2,0.28l-0.02,1.23l-1.92,0.24l-1.68,-0.99l-0.27,-0.02l-1.94,0.8l-1.52,-0.07l-0.15,-1.72l-0.12,-0.21l-0.99,-0.76l0.18,-0.18l0.02,-0.39l-0.17,-0.22l0.33,-0.75l0.91,-0.91l0.01,-0.42l-1.16,-1.25l-0.18,-0.89l0.24,-0.27Z", "name": "Bulgaria"}, "BA": {"path": "M468.39,164.66l0.16,0.04l0.43,-0.0l-0.43,0.93l0.06,0.34l1.08,1.06l-0.28,1.09l-0.5,0.13l-0.47,0.28l-0.86,0.74l-0.1,0.16l-0.28,1.29l-1.81,-0.94l-0.9,-1.22l-1.0,-0.73l-1.1,-1.1l-0.55,-0.96l-1.11,-1.3l0.3,-0.75l0.59,0.46l0.42,-0.04l0.46,-0.54l1.0,-0.06l2.11,0.5l1.72,-0.03l1.06,0.64Z", "name": "Bosnia and Herzegovina"}, "BN": {"path": "M707.34,273.57l0.76,-0.72l1.59,-1.03l-0.18,1.93l-0.9,-0.06l-0.28,0.14l-0.31,0.51l-0.68,-0.78Z", "name": "Brunei"}, "BO": {"path": "M263.83,340.79l-0.23,-0.12l-2.86,-0.11l-0.28,0.17l-0.77,1.67l-1.17,-1.51l-0.18,-0.11l-3.28,-0.64l-0.28,0.1l-2.02,2.3l-1.43,0.29l-0.91,-3.35l-1.31,-2.88l0.75,-2.41l-0.09,-0.32l-1.23,-1.03l-0.31,-1.76l-0.05,-0.12l-1.12,-1.6l1.49,-2.62l0.01,-0.28l-1.0,-2.0l0.48,-0.72l0.02,-0.29l-0.37,-0.78l0.87,-1.13l0.06,-0.18l0.05,-2.17l0.12,-1.71l0.5,-0.8l0.01,-0.3l-1.9,-3.58l1.3,0.15l1.34,-0.05l0.23,-0.12l0.51,-0.7l2.12,-0.99l1.31,-0.93l2.81,-0.37l-0.21,1.51l0.01,0.13l0.29,0.91l-0.19,1.64l0.11,0.27l2.72,2.27l0.15,0.07l2.71,0.41l0.92,0.88l0.12,0.07l1.64,0.49l1.0,0.71l0.18,0.06l1.5,-0.02l1.24,0.64l0.1,1.31l0.05,0.14l0.44,0.68l0.02,0.73l-0.44,0.03l-0.27,0.39l0.96,2.99l0.28,0.21l4.43,0.1l-0.28,1.12l0.0,0.15l0.27,1.02l0.15,0.19l1.27,0.67l0.52,1.42l-0.42,1.91l-0.66,1.1l-0.04,0.2l0.21,1.3l-0.19,0.13l-0.01,-0.27l-0.15,-0.24l-2.33,-1.33l-0.14,-0.04l-2.38,-0.03l-4.36,0.76l-0.21,0.16l-1.2,2.29l-0.03,0.13l-0.06,1.37l-0.79,2.53l-0.05,-0.08Z", "name": "Bolivia"}, "JP": {"path": "M781.17,166.78l1.8,0.67l0.28,-0.04l1.38,-1.01l0.43,2.67l-3.44,0.77l-0.18,0.12l-2.04,2.79l-3.71,-1.94l-0.42,0.15l-1.29,3.11l-2.32,0.04l-0.3,-2.63l1.12,-2.1l2.51,-0.16l0.28,-0.25l0.73,-4.22l0.58,-1.9l2.59,2.84l2.0,1.1ZM773.66,187.36l-0.92,2.24l-0.01,0.2l0.4,1.3l-1.18,1.81l-3.06,1.28l-4.35,0.17l-0.19,0.08l-3.4,3.06l-1.36,-0.87l-0.1,-1.95l-0.34,-0.28l-4.35,0.62l-2.99,1.33l-2.87,0.05l-0.28,0.2l0.09,0.33l2.37,1.93l-1.57,4.44l-1.35,0.97l-0.9,-0.79l0.57,-2.32l-0.15,-0.34l-1.5,-0.77l-0.81,-1.53l2.04,-0.75l0.14,-0.1l1.28,-1.72l2.47,-1.43l1.84,-1.92l4.83,-0.82l2.62,0.57l0.33,-0.16l2.45,-4.77l1.38,1.14l0.38,0.0l5.1,-4.02l0.09,-0.11l1.57,-3.57l0.02,-0.16l-0.42,-3.22l0.94,-1.67l2.27,-0.47l1.26,3.82l-0.07,2.23l-2.26,2.86l-0.06,0.19l0.04,2.93ZM757.85,196.18l0.22,0.66l-1.11,1.33l-0.8,-0.7l-0.33,-0.04l-1.28,0.65l-0.14,0.15l-0.54,1.34l-1.17,-0.57l0.02,-1.03l1.2,-1.45l1.24,0.28l0.29,-0.1l0.9,-1.03l1.51,0.5Z", "name": "Japan"}, "BI": {"path": "M494.7,295.83l-0.14,-2.71l-0.04,-0.13l-0.34,-0.62l0.93,0.12l0.3,-0.16l0.67,-1.25l0.9,0.11l0.11,0.76l0.08,0.16l0.46,0.48l0.02,0.56l-0.55,0.48l-0.96,1.29l-0.82,0.82l-0.61,0.07Z", "name": "Burundi"}, "BJ": {"path": "M427.4,268.94l-1.58,0.22l-0.52,-1.45l0.11,-5.73l-0.08,-0.21l-0.43,-0.44l-0.09,-1.13l-0.09,-0.19l-1.52,-1.52l0.24,-1.01l0.7,-0.23l0.18,-0.16l0.45,-0.97l1.07,-0.21l0.19,-0.12l0.53,-0.73l0.73,-0.65l0.68,-0.0l1.69,1.3l-0.08,0.67l0.02,0.14l0.52,1.38l-0.44,0.9l-0.01,0.24l0.2,0.52l-1.1,1.42l-0.76,0.76l-0.08,0.13l-0.47,1.59l0.05,1.69l-0.13,3.79Z", "name": "Benin"}, "BT": {"path": "M650.38,213.78l0.88,0.75l-0.13,1.24l-1.77,0.07l-2.1,-0.18l-1.57,0.4l-2.02,-0.91l-0.02,-0.24l1.54,-1.87l1.18,-0.6l1.67,0.59l1.32,0.08l1.01,0.67Z", "name": "Bhutan"}, "JM": {"path": "M226.67,238.37l1.64,0.23l1.2,0.56l0.11,0.19l-1.25,0.03l-0.14,0.04l-0.65,0.37l-1.24,-0.37l-1.17,-0.77l0.11,-0.22l0.86,-0.15l0.52,0.08Z", "name": "Jamaica"}, "BW": {"path": "M484.91,331.96l0.53,0.52l0.82,1.53l2.83,2.86l0.14,0.08l0.85,0.22l0.03,0.81l0.74,1.66l0.21,0.17l1.87,0.39l1.17,0.87l-3.13,1.71l-2.3,2.01l-0.07,0.1l-0.82,1.74l-0.66,0.88l-1.24,0.19l-0.24,0.2l-0.65,1.98l-1.4,0.55l-1.9,-0.12l-1.2,-0.74l-1.06,-0.32l-0.22,0.02l-1.22,0.62l-0.14,0.14l-0.58,1.21l-1.16,0.79l-1.18,1.13l-1.5,0.23l-0.4,-0.68l0.22,-1.53l-0.04,-0.19l-1.48,-2.54l-0.11,-0.11l-0.53,-0.31l-0.0,-7.25l2.18,-0.08l0.29,-0.3l0.07,-9.0l1.63,-0.08l3.69,-0.86l0.84,0.93l0.38,0.05l1.53,-0.97l0.79,-0.03l1.3,-0.53l0.23,0.1l0.92,1.96Z", "name": "Botswana"}, "BR": {"path": "M259.49,274.87l1.42,0.25l1.97,0.62l0.28,-0.05l0.67,-0.55l1.76,-0.38l2.8,-0.94l0.12,-0.08l0.92,-0.96l0.05,-0.33l-0.15,-0.32l0.73,-0.06l0.36,0.35l-0.27,0.93l0.17,0.36l0.76,0.34l0.44,0.9l-0.58,0.73l-0.06,0.13l-0.4,2.13l0.03,0.19l0.62,1.22l0.17,1.11l0.11,0.19l1.54,1.18l0.15,0.06l1.23,0.12l0.29,-0.15l0.2,-0.36l0.71,-0.11l1.13,-0.44l0.79,-0.63l1.25,0.19l0.65,-0.08l1.32,0.2l0.32,-0.18l0.23,-0.51l-0.05,-0.31l-0.31,-0.37l0.11,-0.31l0.75,0.17l0.13,0.0l1.1,-0.24l1.34,0.5l1.08,0.51l0.33,-0.05l0.67,-0.58l0.27,0.05l0.28,0.57l0.31,0.17l1.2,-0.18l0.17,-0.08l1.03,-1.05l0.76,-1.82l1.39,-2.16l0.49,-0.07l0.52,1.17l1.4,4.37l0.2,0.2l1.14,0.35l0.05,1.39l-1.8,1.97l0.01,0.42l0.78,0.75l0.18,0.08l4.16,0.37l0.08,2.25l0.5,0.22l1.78,-1.54l2.98,0.85l4.07,1.5l1.07,1.28l-0.37,1.23l0.36,0.38l2.83,-0.75l4.8,1.3l3.75,-0.09l3.6,2.02l3.27,2.84l1.93,0.72l2.13,0.11l0.76,0.66l1.22,4.56l-0.96,4.03l-1.22,1.58l-3.52,3.51l-1.63,2.91l-1.75,2.09l-0.5,0.04l-0.26,0.19l-0.72,1.99l0.18,4.76l-0.95,5.56l-0.74,0.96l-0.06,0.15l-0.43,3.39l-2.49,3.34l-0.06,0.13l-0.4,2.56l-1.9,1.07l-0.13,0.16l-0.51,1.38l-2.59,0.0l-3.94,1.01l-1.82,1.19l-2.85,0.81l-3.01,2.17l-2.12,2.65l-0.06,0.13l-0.36,2.0l0.01,0.13l0.4,1.42l-0.45,2.63l-0.53,1.23l-1.76,1.53l-2.76,4.79l-2.16,2.15l-1.69,1.29l-0.09,0.12l-1.12,2.6l-1.3,1.26l-0.45,-1.02l0.99,-1.18l0.01,-0.37l-1.5,-1.95l-1.98,-1.54l-2.58,-1.77l-0.2,-0.05l-0.81,0.07l-2.42,-2.05l-0.25,-0.07l-0.77,0.14l2.75,-3.07l2.8,-2.61l1.67,-1.09l2.11,-1.49l0.13,-0.24l0.05,-2.15l-0.07,-0.2l-1.26,-1.54l-0.35,-0.09l-0.64,0.27l0.3,-0.95l0.34,-1.57l0.01,-1.52l-0.16,-0.26l-0.9,-0.48l-0.27,-0.01l-0.86,0.39l-0.65,-0.08l-0.23,-0.8l-0.23,-2.39l-0.04,-0.12l-0.47,-0.79l-0.14,-0.12l-1.69,-0.71l-0.25,0.01l-0.93,0.47l-2.29,-0.44l0.15,-3.3l-0.03,-0.15l-0.62,-1.22l0.57,-0.39l0.13,-0.3l-0.22,-1.37l0.67,-1.13l0.44,-2.04l-0.01,-0.17l-0.59,-1.61l-0.14,-0.16l-1.25,-0.66l-0.22,-0.82l0.35,-1.41l-0.28,-0.37l-4.59,-0.1l-0.78,-2.41l0.34,-0.02l0.28,-0.31l-0.03,-1.1l-0.05,-0.16l-0.45,-0.68l-0.1,-1.4l-0.16,-0.24l-1.45,-0.76l-0.14,-0.03l-1.48,0.02l-1.04,-0.73l-1.62,-0.48l-0.93,-0.9l-0.16,-0.08l-2.72,-0.41l-2.53,-2.12l0.18,-1.54l-0.01,-0.13l-0.29,-0.91l0.26,-1.83l-0.34,-0.34l-3.28,0.43l-0.14,0.05l-1.3,0.93l-2.16,1.01l-0.12,0.09l-0.47,0.65l-1.12,0.05l-1.84,-0.21l-0.12,0.01l-1.33,0.41l-0.82,-0.21l0.16,-3.6l-0.48,-0.26l-1.97,1.43l-1.96,-0.06l-0.86,-1.23l-0.22,-0.13l-1.23,-0.11l0.34,-0.69l-0.05,-0.33l-1.36,-1.5l-0.92,-2.0l0.45,-0.32l0.13,-0.25l-0.0,-0.87l1.34,-0.64l0.17,-0.32l-0.23,-1.23l0.56,-0.77l0.05,-0.13l0.16,-1.03l2.7,-1.61l2.01,-0.47l0.16,-0.09l0.24,-0.27l2.11,0.11l0.31,-0.25l1.13,-6.87l0.06,-1.12l-0.4,-1.53l-0.1,-0.15l-1.0,-0.82l0.01,-1.45l1.08,-0.32l0.39,0.2l0.44,-0.24l0.08,-0.96l-0.25,-0.32l-1.22,-0.22l-0.02,-1.01l4.57,0.05l0.22,-0.09l0.6,-0.63l0.44,0.5l0.47,1.42l0.45,0.16l0.27,-0.18l1.21,1.16l0.23,0.08l1.95,-0.16l0.23,-0.14l0.43,-0.67l1.76,-0.55l1.05,-0.42l0.18,-0.2l0.25,-0.92l1.65,-0.66l0.18,-0.35l-0.14,-0.53l-0.26,-0.22l-1.91,-0.19l-0.29,-1.33l0.1,-1.64l-0.15,-0.28l-0.44,-0.25Z", "name": "Brazil"}, "BS": {"path": "M227.51,216.69l0.3,0.18l-0.24,1.07l0.03,-1.04l-0.09,-0.21ZM226.5,224.03l-0.13,0.03l-0.54,-1.3l-0.09,-0.12l-0.78,-0.64l0.4,-1.26l0.33,0.05l0.79,2.0l0.01,1.24ZM225.76,216.5l-2.16,0.34l-0.07,-0.41l0.85,-0.16l1.36,0.07l0.02,0.16Z", "name": "The Bahamas"}, "BY": {"path": "M480.08,135.28l2.09,0.02l0.13,-0.03l2.72,-1.3l0.16,-0.19l0.55,-1.83l1.94,-1.06l0.15,-0.31l-0.2,-1.33l1.33,-0.52l2.58,-1.3l2.39,0.8l0.3,0.75l0.37,0.17l1.22,-0.39l2.18,0.75l0.2,1.36l-0.48,0.85l0.01,0.32l1.57,2.26l0.92,0.6l-0.1,0.41l0.19,0.35l1.61,0.57l0.48,0.6l-0.64,0.49l-1.91,-0.11l-0.18,0.05l-0.48,0.32l-0.1,0.39l0.57,1.1l0.51,1.78l-1.79,0.17l-0.18,0.08l-0.77,0.73l-0.09,0.19l-0.13,1.31l-0.75,-0.22l-2.11,0.15l-0.56,-0.66l-0.39,-0.06l-0.8,0.49l-0.79,-0.4l-0.13,-0.03l-1.94,-0.07l-2.76,-0.79l-2.58,-0.27l-1.98,0.07l-0.15,0.05l-1.31,0.86l-0.8,0.09l-0.04,-1.16l-0.03,-0.12l-0.63,-1.28l1.22,-0.56l0.17,-0.27l0.01,-1.35l-0.04,-0.15l-0.66,-1.24l-0.08,-1.12Z", "name": "Belarus"}, "BZ": {"path": "M198.03,239.7l0.28,0.19l0.43,-0.1l0.82,-1.42l0.0,0.07l0.29,0.29l0.16,0.0l-0.02,0.35l-0.39,1.08l0.02,0.25l0.16,0.29l-0.23,0.8l0.04,0.24l0.09,0.14l-0.25,1.12l-0.38,0.53l-0.33,0.06l-0.21,0.15l-0.41,0.74l-0.25,0.0l0.17,-2.58l0.01,-2.2Z", "name": "Belize"}, "RU": {"path": "M688.57,38.85l0.63,2.39l0.44,0.19l2.22,-1.23l7.18,0.07l5.54,2.49l1.85,1.77l-0.55,2.34l-2.64,1.42l-6.57,2.76l-1.95,1.5l0.12,0.53l3.09,0.68l3.69,1.23l0.21,-0.01l1.98,-0.81l1.16,2.84l0.5,0.08l1.03,-1.18l3.86,-0.74l7.79,0.78l0.56,2.05l0.27,0.22l10.47,0.71l0.32,-0.29l0.13,-3.34l4.98,0.8l3.96,-0.02l3.88,2.43l1.06,2.79l-1.38,1.83l0.01,0.38l3.15,3.64l0.1,0.08l3.94,1.86l0.4,-0.14l2.28,-4.56l3.75,1.94l0.22,0.02l4.18,-1.22l4.76,1.4l0.26,-0.04l1.74,-1.23l3.98,0.63l0.32,-0.41l-1.71,-4.1l3.0,-1.86l22.39,3.04l2.06,2.67l0.1,0.08l6.55,3.51l0.17,0.03l10.08,-0.86l4.86,0.73l1.91,1.72l-0.29,3.13l0.18,0.31l3.08,1.26l0.19,0.01l3.32,-0.9l4.37,-0.11l4.78,0.87l4.61,-0.48l4.26,3.82l0.32,0.05l3.1,-1.4l0.12,-0.45l-1.91,-2.67l0.92,-1.64l7.78,1.22l5.22,-0.26l7.12,2.1l9.6,5.22l6.4,4.15l-0.2,2.44l0.14,0.28l1.69,1.04l0.45,-0.31l-0.51,-2.66l6.31,0.58l4.52,3.61l-2.1,1.52l-4.02,0.42l-0.27,0.29l-0.06,3.83l-0.81,0.67l-2.14,-0.11l-1.91,-1.39l-3.19,-1.13l-0.51,-1.63l-0.21,-0.2l-2.54,-0.67l-0.13,-0.0l-2.69,0.5l-1.12,-1.19l0.48,-1.36l-0.38,-0.39l-3.0,0.98l-0.17,0.44l1.02,1.76l-1.27,1.55l-3.09,1.71l-3.15,-0.29l-0.3,0.18l0.07,0.34l2.22,2.1l1.47,3.22l1.15,1.09l0.25,1.41l-0.48,0.76l-4.47,-0.81l-0.17,0.02l-6.97,2.9l-2.2,0.44l-0.11,0.05l-3.83,2.68l-3.63,2.32l-0.1,0.11l-0.76,1.4l-3.3,-2.4l-0.3,-0.03l-6.31,2.85l-0.99,-1.21l-0.4,-0.06l-2.32,1.54l-3.23,-0.49l-0.33,0.2l-0.79,2.39l-2.97,3.51l-0.07,0.21l0.09,1.47l0.22,0.27l2.62,0.74l-0.3,4.7l-2.06,0.12l-0.26,0.2l-1.07,2.94l0.04,0.27l0.83,1.19l-4.03,1.63l-0.18,0.21l-0.83,3.72l-3.55,0.79l-0.23,0.23l-0.73,3.32l-3.22,2.76l-0.76,-1.88l-1.07,-4.88l-1.39,-7.59l1.17,-4.76l2.05,-2.08l0.09,-0.19l0.11,-1.46l3.67,-0.77l0.15,-0.08l4.47,-4.61l4.29,-3.82l4.48,-3.01l0.11,-0.14l2.01,-5.43l-0.31,-0.4l-3.04,0.33l-0.24,0.17l-1.47,3.11l-5.98,3.94l-1.91,-4.36l-0.33,-0.17l-6.46,1.3l-0.15,0.08l-6.27,6.33l-0.01,0.41l1.7,1.87l-5.04,0.87l-3.51,0.34l0.16,-2.32l-0.26,-0.32l-3.89,-0.56l-0.19,0.04l-3.02,1.77l-7.63,-0.63l-8.24,1.1l-0.16,0.07l-8.11,7.09l-9.6,8.31l0.16,0.52l3.79,0.42l1.16,2.03l0.17,0.14l2.43,0.76l0.31,-0.08l1.5,-1.61l2.49,0.2l3.46,3.6l0.08,2.67l-1.91,3.26l-0.04,0.14l-0.21,3.91l-1.11,5.09l-3.73,4.55l-0.87,2.21l-6.73,7.14l-1.59,1.77l-3.23,1.72l-1.38,0.03l-1.48,-1.39l-0.37,-0.03l-3.36,2.22l-0.11,0.14l-0.16,0.42l-0.01,-1.09l1.0,-0.06l0.28,-0.27l0.36,-3.6l-0.61,-2.51l1.85,-0.94l2.94,0.53l0.32,-0.15l1.71,-3.1l0.84,-3.38l0.97,-1.18l1.32,-2.88l-0.34,-0.42l-4.14,0.95l-2.18,1.25l-3.51,-0.0l-0.95,-2.81l-0.1,-0.14l-2.97,-2.3l-0.11,-0.05l-4.19,-1.0l-0.89,-3.08l-0.87,-2.03l-0.95,-1.46l-1.54,-3.37l-0.12,-0.14l-2.27,-1.28l-3.83,-1.02l-3.37,0.1l-3.11,0.61l-0.13,0.06l-2.07,1.69l0.04,0.49l1.23,0.72l0.03,1.53l-1.34,1.05l-2.26,3.51l-0.05,0.17l0.02,1.27l-3.25,1.9l-2.87,-1.17l-0.14,-0.02l-2.86,0.26l-1.22,-1.02l-0.12,-0.06l-1.5,-0.35l-0.23,0.04l-3.62,2.27l-3.24,0.53l-2.28,0.79l-3.08,-0.51l-2.24,0.03l-1.49,-1.61l-2.45,-1.57l-0.11,-0.04l-2.6,-0.43l-3.17,0.43l-2.31,0.59l-3.31,-1.28l-0.45,-2.31l-0.21,-0.23l-2.94,-0.85l-2.26,-0.39l-2.77,-1.36l-0.37,0.09l-2.59,3.45l-0.03,0.32l0.91,1.74l-2.15,2.01l-3.47,-0.79l-2.44,-0.12l-1.59,-1.46l-0.2,-0.08l-2.55,-0.05l-2.12,-0.98l-0.24,-0.01l-3.85,1.57l-4.74,2.79l-2.59,0.55l-0.79,0.21l-1.21,-1.81l-0.29,-0.13l-3.05,0.41l-0.96,-1.25l-0.14,-0.1l-1.65,-0.6l-1.15,-1.82l-0.13,-0.12l-1.38,-0.6l-0.19,-0.02l-3.49,0.82l-3.35,-1.85l-0.38,0.08l-1.08,1.4l-5.36,-8.17l-3.02,-2.52l0.72,-0.85l0.01,-0.38l-0.37,-0.08l-6.22,3.21l-1.98,0.16l0.17,-1.51l-0.2,-0.31l-3.22,-1.17l-0.19,-0.0l-2.3,0.74l-0.72,-3.27l-0.24,-0.23l-4.5,-0.75l-0.21,0.04l-2.2,1.42l-6.21,1.27l-0.11,0.05l-1.16,0.81l-9.3,1.19l-0.18,0.09l-1.15,1.17l-0.02,0.39l1.56,2.01l-2.02,0.74l-0.16,0.42l0.35,0.68l-2.18,1.49l0.02,0.51l3.83,2.16l-0.45,1.13l-3.31,-0.13l-0.25,0.12l-0.57,0.77l-2.97,-1.59l-0.15,-0.04l-3.97,0.07l-0.13,0.03l-2.53,1.32l-2.84,-1.28l-5.52,-2.3l-0.12,-0.02l-3.91,0.09l-0.16,0.05l-5.17,3.6l-0.13,0.21l-0.25,1.89l-2.17,-1.6l-0.44,0.1l-2.0,3.59l0.06,0.37l0.55,0.5l-1.32,2.23l0.04,0.36l2.13,2.17l0.23,0.09l1.7,-0.08l1.42,1.89l-0.23,1.5l0.19,0.32l0.94,0.38l-0.89,1.44l-2.3,0.49l-0.17,0.11l-2.49,3.2l0.0,0.37l2.2,2.81l-0.23,1.93l0.06,0.22l2.56,3.32l-1.27,1.02l-0.4,0.66l-0.8,-0.15l-1.65,-1.75l-0.18,-0.09l-0.66,-0.09l-1.45,-0.64l-0.72,-1.16l-0.18,-0.13l-2.34,-0.63l-0.17,0.0l-1.32,0.41l-0.31,-0.4l-0.12,-0.09l-3.49,-1.48l-3.67,-0.49l-2.1,-0.52l-0.3,0.1l-0.12,0.14l-2.96,-2.4l-2.89,-1.19l-1.69,-1.42l1.27,-0.35l0.16,-0.1l2.08,-2.61l-0.04,-0.41l-1.02,-0.9l3.21,-1.12l0.2,-0.31l-0.07,-0.69l-0.37,-0.26l-1.86,0.42l0.05,-0.86l1.11,-0.76l2.35,-0.23l0.25,-0.19l0.39,-1.07l0.0,-0.19l-0.51,-1.64l0.95,-1.58l0.04,-0.16l-0.03,-0.95l-0.22,-0.28l-3.69,-1.06l-1.43,0.02l-1.45,-1.44l-0.29,-0.08l-1.83,0.49l-2.88,-1.04l0.04,-0.42l-0.04,-0.18l-0.89,-1.43l-0.23,-0.14l-1.77,-0.14l-0.13,-0.66l0.52,-0.56l0.01,-0.4l-1.6,-1.9l-0.27,-0.1l-2.55,0.32l-0.71,-0.16l-0.3,0.1l-0.53,0.63l-0.58,-0.08l-0.56,-1.97l-0.48,-0.94l0.17,-0.11l1.92,0.11l0.2,-0.06l0.97,-0.74l0.05,-0.42l-0.72,-0.91l-0.13,-0.1l-1.43,-0.51l0.09,-0.36l-0.13,-0.33l-0.97,-0.59l-1.43,-2.06l0.44,-0.77l0.04,-0.19l-0.25,-1.64l-0.2,-0.24l-2.45,-0.84l-0.19,-0.0l-1.05,0.34l-0.25,-0.62l-0.18,-0.17l-2.5,-0.84l-0.74,-1.93l-0.21,-1.7l-0.13,-0.21l-0.92,-0.63l0.83,-0.89l0.07,-0.27l-0.71,-3.26l1.69,-2.01l0.03,-0.34l-0.24,-0.41l2.63,-1.9l-0.01,-0.49l-2.31,-1.57l5.08,-4.61l2.33,-2.24l1.01,-2.08l-0.09,-0.37l-3.52,-2.56l0.94,-2.38l-0.04,-0.29l-2.14,-2.86l1.61,-3.35l-0.01,-0.29l-2.81,-4.58l2.19,-3.04l-0.06,-0.42l-3.7,-2.76l0.32,-2.67l1.87,-0.38l4.26,-1.77l2.46,-1.47l3.96,2.58l0.12,0.05l6.81,1.04l9.37,4.87l1.81,1.92l0.15,2.55l-2.61,2.06l-3.95,1.07l-11.1,-3.15l-0.17,0.0l-1.84,0.53l-0.1,0.53l3.97,2.97l0.15,1.77l0.16,4.14l0.19,0.27l3.21,1.22l1.94,1.03l0.44,-0.22l0.32,-1.94l-0.07,-0.25l-1.32,-1.52l1.25,-1.2l5.87,2.45l0.24,-0.01l2.11,-0.98l0.13,-0.42l-1.55,-2.75l5.52,-3.84l2.13,0.22l2.28,1.42l0.43,-0.12l1.46,-2.87l-0.04,-0.33l-1.97,-2.37l1.14,-2.38l-0.02,-0.3l-1.42,-2.07l6.15,1.22l1.14,1.92l-2.74,0.46l-0.25,0.3l0.02,2.36l0.12,0.24l1.97,1.44l0.25,0.05l3.87,-0.91l0.22,-0.23l0.58,-2.55l5.09,-1.98l8.67,-3.69l1.22,0.14l-2.06,2.2l0.18,0.5l3.11,0.45l0.23,-0.07l1.71,-1.41l4.59,-0.12l0.12,-0.03l3.53,-1.72l2.7,2.48l0.42,-0.01l2.85,-2.88l-0.0,-0.43l-2.42,-2.35l1.0,-1.13l7.2,1.31l3.42,1.36l9.06,4.97l0.39,-0.08l1.67,-2.27l-0.04,-0.4l-2.46,-2.23l-0.06,-0.82l-0.26,-0.27l-2.64,-0.38l0.69,-1.76l0.0,-0.22l-1.32,-3.47l-0.07,-1.27l4.52,-4.09l0.08,-0.11l1.6,-4.18l1.67,-0.84l6.33,1.2l0.46,2.31l-2.31,3.67l0.05,0.38l1.49,1.41l0.77,3.04l-0.56,6.05l0.09,0.24l2.62,2.54l-0.99,2.65l-4.87,5.96l0.17,0.48l2.86,0.61l0.31,-0.13l0.94,-1.42l2.67,-1.04l0.18,-0.19l0.64,-2.01l2.11,-1.98l0.05,-0.37l-1.38,-2.32l1.11,-2.74l-0.24,-0.41l-2.53,-0.33l-0.53,-2.16l1.96,-4.42l-0.05,-0.32l-3.03,-3.48l4.21,-2.94l0.12,-0.3l-0.52,-3.04l0.72,-0.06l1.18,2.35l-0.97,4.39l0.2,0.35l2.68,0.84l0.37,-0.38l-1.05,-3.07l3.89,-1.71l5.05,-0.24l4.55,2.62l0.36,-0.05l0.05,-0.36l-2.19,-3.84l-0.23,-4.78l4.07,-0.92l5.98,0.21l5.47,-0.64l0.2,-0.48l-1.88,-2.37l2.65,-2.99l2.75,-0.13l0.12,-0.03l4.82,-2.48l6.56,-0.67l0.23,-0.14l0.76,-1.27l6.33,-0.46l1.97,1.11l0.28,0.01l5.55,-2.71l4.53,0.08l0.29,-0.21l0.67,-2.18l2.29,-2.15l5.75,-2.13l3.48,1.4l-2.7,1.03l-0.19,0.31l0.26,0.26l5.47,0.78ZM871.83,65.73l0.25,-0.15l1.99,0.01l3.3,1.2l-0.08,0.22l-2.41,1.03l-5.73,0.49l-0.31,-1.0l2.99,-1.8ZM797.64,48.44l-2.22,1.51l-3.85,-0.43l-4.35,-1.85l0.42,-1.13l4.42,0.72l5.59,1.17ZM783.82,46.06l-1.71,3.25l-9.05,-0.14l-4.11,1.15l-4.64,-3.04l1.21,-3.13l3.11,-0.91l6.53,0.22l8.66,2.59ZM780.37,145.71l2.28,5.23l-3.09,-0.89l-0.37,0.19l-1.54,4.65l0.04,0.27l2.38,3.17l-0.05,1.4l-1.41,-1.41l-0.46,0.04l-1.23,1.81l-0.33,-1.86l0.28,-3.1l-0.28,-3.41l0.58,-2.46l0.11,-4.39l-0.03,-0.13l-1.44,-3.2l0.21,-4.39l2.19,-1.49l0.09,-0.41l-0.81,-1.3l0.48,-0.21l0.56,1.94l0.86,3.23l-0.05,3.36l1.03,3.35ZM780.16,57.18l-3.4,0.03l-5.06,-0.53l1.97,-1.59l2.95,-0.42l3.35,1.75l0.18,0.77ZM683.84,31.18l-13.29,1.97l4.16,-6.56l1.88,-0.58l1.77,0.34l6.08,3.02l-0.6,1.8ZM670.94,28.02l-5.18,0.65l-6.89,-1.58l-4.03,-2.07l-1.88,-3.98l-0.18,-0.16l-2.8,-0.93l5.91,-3.62l5.25,-1.29l4.73,2.88l5.63,5.44l-0.57,4.66ZM564.37,68.98l-0.85,0.23l-7.93,-0.57l-0.6,-1.84l-0.21,-0.2l-4.34,-1.18l-0.3,-2.08l2.34,-0.92l0.19,-0.29l-0.08,-2.43l4.85,-4.0l-0.12,-0.52l-1.68,-0.43l5.47,-3.94l0.11,-0.33l-0.6,-2.02l5.36,-2.55l8.22,-3.27l8.29,-0.96l4.34,-1.94l4.67,-0.65l1.45,1.72l-1.43,1.37l-8.8,2.52l-7.65,2.42l-7.92,4.84l-3.73,4.75l-3.92,4.58l-0.07,0.23l0.51,3.88l0.11,0.2l4.32,3.39ZM548.86,18.57l-3.28,0.75l-2.25,0.44l-0.22,0.19l-0.3,0.81l-2.67,0.86l-2.27,-1.14l1.2,-1.51l-0.23,-0.49l-3.14,-0.1l2.48,-0.54l3.55,-0.07l0.44,1.36l0.49,0.12l1.4,-1.35l2.2,-0.9l3.13,1.08l-0.54,0.49ZM477.5,133.25l-4.21,0.05l-2.69,-0.34l0.39,-1.03l3.24,-1.06l2.51,0.58l0.85,0.43l-0.2,0.71l-0.0,0.15l0.12,0.52Z", "name": "Russia"}, "RW": {"path": "M497.03,288.12l0.78,1.11l-0.12,1.19l-0.49,0.21l-1.25,-0.15l-0.3,0.16l-0.67,1.24l-1.01,-0.13l0.16,-0.92l0.22,-0.12l0.15,-0.24l0.09,-1.37l0.49,-0.48l0.42,0.18l0.25,-0.01l1.26,-0.65Z", "name": "Rwanda"}, "RS": {"path": "M469.75,168.65l0.21,-0.21l0.36,-1.44l-0.08,-0.29l-1.06,-1.03l0.54,-1.16l-0.28,-0.43l-0.26,0.0l0.55,-0.67l-0.01,-0.39l-0.77,-0.86l-0.45,-0.89l1.56,-0.67l1.39,0.12l1.22,1.1l0.26,0.91l0.16,0.19l1.38,0.66l0.17,1.12l0.14,0.21l1.46,0.9l0.35,-0.03l0.62,-0.54l0.09,0.06l-0.28,0.25l-0.03,0.42l0.29,0.34l-0.44,0.5l-0.07,0.26l0.22,1.12l0.07,0.14l1.02,1.1l-0.81,0.84l-0.42,0.96l0.04,0.3l0.12,0.15l-0.15,0.16l-1.04,0.04l-0.39,0.08l0.33,-0.81l-0.29,-0.41l-0.21,0.01l-0.39,-0.45l-0.13,-0.09l-0.32,-0.11l-0.27,-0.4l-0.14,-0.11l-0.4,-0.16l-0.31,-0.37l-0.34,-0.09l-0.45,0.17l-0.18,0.18l-0.29,0.84l-0.96,-0.65l-0.81,-0.33l-0.32,-0.37l-0.22,-0.18Z", "name": "Republic of Serbia"}, "LT": {"path": "M478.13,133.31l-0.14,-0.63l0.25,-0.88l-0.15,-0.35l-1.17,-0.58l-2.43,-0.57l-0.45,-2.51l2.58,-0.97l4.14,0.22l2.3,-0.32l0.26,0.54l0.22,0.17l1.26,0.22l2.25,1.6l0.19,1.23l-1.87,1.01l-0.14,0.18l-0.54,1.83l-2.54,1.21l-2.18,-0.02l-0.52,-0.91l-0.18,-0.14l-1.11,-0.32Z", "name": "Lithuania"}, "LU": {"path": "M435.95,147.99l0.33,0.49l-0.11,1.07l-0.39,0.04l-0.29,-0.15l0.21,-1.4l0.25,-0.05Z", "name": "Luxembourg"}, "LR": {"path": "M401.37,273.67l-0.32,0.01l-2.48,-1.15l-2.24,-1.89l-2.14,-1.38l-1.47,-1.42l0.44,-0.59l0.05,-0.13l0.12,-0.65l1.07,-1.3l1.08,-1.09l0.52,-0.07l0.43,-0.18l0.84,1.24l-0.15,0.89l0.07,0.25l0.49,0.54l0.22,0.1l0.71,0.01l0.27,-0.16l0.42,-0.83l0.19,0.02l-0.06,0.52l0.23,1.12l-0.5,1.03l0.06,0.35l0.73,0.69l0.14,0.08l0.71,0.15l0.92,0.91l0.06,0.76l-0.17,0.22l-0.06,0.15l-0.17,1.8Z", "name": "Liberia"}, "RO": {"path": "M477.94,155.19l1.02,-0.64l1.49,0.33l1.52,0.01l1.09,0.73l0.32,0.01l0.81,-0.46l1.8,-0.3l0.18,-0.1l0.54,-0.64l0.86,0.0l0.64,0.26l0.71,0.87l0.8,1.35l1.39,1.81l0.07,1.25l-0.26,1.3l0.01,0.15l0.45,1.42l0.15,0.18l1.12,0.57l0.25,0.01l1.05,-0.45l0.86,0.4l0.03,0.43l-0.92,0.51l-0.63,-0.24l-0.4,0.22l-0.64,3.41l-1.12,-0.24l-1.78,-1.09l-0.23,-0.04l-2.95,0.71l-1.25,0.77l-3.55,-0.16l-1.89,-0.47l-0.14,-0.0l-0.75,0.17l-0.61,-1.07l-0.3,-0.36l0.36,-0.32l-0.04,-0.48l-0.62,-0.38l-0.36,0.03l-0.62,0.54l-1.15,-0.71l-0.18,-1.14l-0.17,-0.22l-1.4,-0.67l-0.24,-0.86l-0.09,-0.14l-0.96,-0.87l1.49,-0.44l0.16,-0.11l1.51,-2.14l1.15,-2.09l1.44,-0.63Z", "name": "Romania"}, "GW": {"path": "M383.03,256.73l-1.12,-0.88l-0.14,-0.06l-0.94,-0.15l-0.43,-0.54l0.01,-0.27l-0.13,-0.26l-0.68,-0.48l-0.05,-0.16l0.99,-0.31l0.77,0.08l0.15,-0.02l0.61,-0.26l4.25,0.1l-0.02,0.44l-0.19,0.18l-0.08,0.29l0.17,0.66l-0.17,0.14l-0.44,0.0l-0.16,0.05l-0.57,0.37l-0.66,-0.04l-0.24,0.1l-0.92,1.03Z", "name": "Guinea Bissau"}, "GT": {"path": "M195.13,249.89l-1.05,-0.35l-1.5,-0.04l-1.06,-0.47l-1.19,-0.93l0.04,-0.53l0.27,-0.55l-0.03,-0.31l-0.24,-0.32l1.02,-1.77l3.04,-0.01l0.3,-0.28l0.06,-0.88l-0.19,-0.3l-0.3,-0.11l-0.23,-0.45l-0.11,-0.12l-0.9,-0.58l-0.35,-0.33l0.37,-0.0l0.3,-0.3l0.0,-1.15l4.05,0.02l-0.02,1.74l-0.2,2.89l0.3,0.32l0.67,-0.0l0.75,0.42l0.4,-0.11l-0.62,0.53l-1.17,0.7l-0.13,0.16l-0.18,0.49l0.0,0.21l0.14,0.34l-0.35,0.44l-0.49,0.13l-0.2,0.41l0.03,0.06l-0.27,0.16l-0.86,0.64l-0.12,0.22ZM199.35,245.38l0.07,-0.13l0.05,0.02l-0.13,0.11Z", "name": "Guatemala"}, "GR": {"path": "M487.2,174.55l-0.64,1.54l-0.43,0.24l-1.41,-0.08l-1.28,-0.28l-0.14,0.0l-3.03,0.77l-0.13,0.51l1.39,1.34l-0.78,0.29l-1.2,0.0l-1.23,-1.42l-0.47,0.02l-0.47,0.65l-0.04,0.27l0.56,1.76l0.06,0.11l1.02,1.12l-0.66,0.45l-0.04,0.46l1.39,1.35l1.15,0.79l0.02,1.06l-1.91,-0.63l-0.36,0.42l0.56,1.12l-1.2,0.23l-0.22,0.4l0.8,2.14l-1.15,0.02l-1.89,-1.15l-0.89,-2.19l-0.43,-1.91l-0.05,-0.11l-0.98,-1.35l-1.24,-1.62l-0.13,-0.63l1.07,-1.32l0.06,-0.14l0.13,-0.81l0.68,-0.36l0.16,-0.25l0.03,-0.54l1.4,-0.23l0.12,-0.05l0.87,-0.6l1.26,0.05l0.25,-0.11l0.34,-0.43l0.33,-0.07l1.81,0.08l0.13,-0.02l1.87,-0.77l1.64,0.97l0.19,0.04l2.28,-0.28l0.26,-0.29l0.02,-0.95l0.56,0.36ZM480.44,192.0l1.05,0.74l0.01,0.0l-1.26,-0.23l0.2,-0.51ZM481.76,192.79l1.86,-0.15l1.53,0.17l-0.02,0.19l0.34,0.3l-2.28,0.15l0.01,-0.13l-0.25,-0.31l-1.19,-0.22ZM485.65,193.28l0.65,-0.16l-0.05,0.12l-0.6,0.04Z", "name": "Greece"}, "GQ": {"path": "M444.81,282.04l-0.21,-0.17l0.74,-2.4l3.56,0.05l0.02,2.42l-3.34,-0.02l-0.76,0.13Z", "name": "Equatorial Guinea"}, "GY": {"path": "M271.34,264.25l1.43,0.81l1.44,1.53l0.06,1.19l0.28,0.28l0.84,0.05l2.13,1.92l-0.34,1.93l-1.37,0.59l-0.17,0.34l0.12,0.51l-0.43,1.21l0.03,0.26l1.11,1.82l0.26,0.14l0.56,0.0l0.32,1.29l1.25,1.78l-0.08,0.01l-1.34,-0.21l-0.24,0.06l-0.78,0.64l-1.06,0.41l-0.76,0.1l-0.22,0.15l-0.18,0.32l-0.95,-0.1l-1.38,-1.05l-0.19,-1.13l-0.6,-1.18l0.37,-1.96l0.65,-0.83l0.03,-0.32l-0.57,-1.17l-0.15,-0.14l-0.62,-0.27l0.25,-0.85l-0.08,-0.3l-0.58,-0.58l-0.24,-0.09l-1.15,0.1l-1.41,-1.58l0.48,-0.49l0.09,-0.22l-0.04,-0.92l1.31,-0.34l0.73,-0.52l0.04,-0.44l-0.75,-0.82l0.16,-0.66l1.74,-1.3Z", "name": "Guyana"}, "GE": {"path": "M525.41,174.19l0.26,-0.88l-0.0,-0.17l-0.63,-2.06l-0.1,-0.15l-1.45,-1.12l-0.11,-0.05l-1.31,-0.33l-0.66,-0.69l1.97,0.48l3.65,0.49l3.3,1.41l0.39,0.5l0.33,0.1l1.43,-0.45l2.14,0.58l0.7,1.14l0.13,0.12l1.06,0.47l-0.18,0.11l-0.08,0.43l1.08,1.41l-0.06,0.06l-1.16,-0.15l-1.82,-0.84l-0.31,0.04l-0.55,0.44l-3.29,0.44l-2.32,-1.41l-0.17,-0.04l-2.25,0.12Z", "name": "Georgia"}, "GB": {"path": "M412.82,118.6l-2.31,3.4l-0.0,0.33l0.31,0.13l2.52,-0.49l2.34,0.02l-0.56,2.51l-2.22,3.13l0.22,0.47l2.43,0.21l2.35,4.35l0.17,0.14l1.58,0.51l1.49,3.78l0.73,1.37l0.2,0.15l2.76,0.59l-0.25,1.75l-1.18,0.91l-0.08,0.39l0.87,1.49l-1.96,1.51l-3.31,-0.02l-4.15,0.88l-1.07,-0.59l-0.35,0.04l-1.55,1.44l-2.17,-0.35l-0.22,0.05l-1.61,1.15l-0.78,-0.38l3.31,-3.12l2.18,-0.7l0.21,-0.31l-0.26,-0.27l-3.78,-0.54l-0.48,-0.9l2.3,-0.92l0.13,-0.46l-1.29,-1.71l0.39,-1.83l3.46,0.29l0.32,-0.24l0.37,-1.99l-0.06,-0.24l-1.71,-2.17l-0.18,-0.11l-2.91,-0.58l-0.43,-0.68l0.82,-1.4l-0.03,-0.35l-0.82,-0.97l-0.46,0.01l-0.85,1.05l-0.11,-2.6l-0.05,-0.16l-1.19,-1.7l0.86,-3.53l1.81,-2.75l1.88,0.26l2.38,-0.24ZM406.39,132.84l-1.09,1.92l-1.65,-0.62l-1.26,0.02l0.41,-1.46l0.0,-0.16l-0.42,-1.51l1.62,-0.11l2.39,1.92Z", "name": "United Kingdom"}, "GA": {"path": "M448.76,294.47l-2.38,-2.34l-1.63,-2.04l-1.46,-2.48l0.06,-0.66l0.54,-0.81l0.61,-1.82l0.46,-1.69l0.63,-0.11l3.62,0.03l0.3,-0.3l-0.02,-2.75l0.88,-0.12l1.47,0.32l0.13,0.0l1.39,-0.3l-0.13,0.87l0.03,0.19l0.7,1.29l0.3,0.16l1.74,-0.19l0.36,0.29l-1.01,2.7l0.05,0.29l1.13,1.42l0.25,1.82l-0.3,1.56l-0.64,0.99l-1.93,-0.09l-1.26,-1.13l-0.5,0.17l-0.16,0.91l-1.48,0.27l-0.12,0.05l-0.86,0.63l-0.08,0.39l0.81,1.42l-1.48,1.08Z", "name": "Gabon"}, "GN": {"path": "M399.83,265.31l-0.69,-0.06l-0.3,0.16l-0.43,0.85l-0.39,-0.01l-0.3,-0.33l0.14,-0.87l-0.05,-0.22l-1.05,-1.54l-0.37,-0.11l-0.61,0.27l-0.84,0.12l0.02,-0.54l-0.04,-0.17l-0.35,-0.57l0.07,-0.63l-0.03,-0.17l-0.57,-1.11l-0.7,-0.9l-0.24,-0.12l-2.0,-0.0l-0.19,0.07l-0.51,0.42l-0.6,0.05l-0.21,0.11l-0.43,0.55l-0.3,0.7l-1.04,0.86l-0.91,-1.24l-1.0,-1.02l-0.69,-0.37l-0.52,-0.42l-0.3,-1.11l-0.37,-0.56l-0.1,-0.1l-0.4,-0.23l0.77,-0.85l0.62,0.04l0.18,-0.05l0.58,-0.38l0.46,-0.0l0.19,-0.07l0.39,-0.34l0.1,-0.3l-0.17,-0.67l0.15,-0.14l0.09,-0.2l0.03,-0.57l0.87,0.02l1.76,0.6l0.13,0.01l0.55,-0.06l0.22,-0.13l0.08,-0.12l1.18,0.17l0.17,-0.02l0.09,0.56l0.3,0.25l0.4,-0.0l0.14,-0.03l0.56,-0.29l0.23,0.05l0.63,0.59l0.15,0.07l1.07,0.2l0.24,-0.06l0.65,-0.52l0.77,-0.32l0.55,-0.32l0.3,0.04l0.44,0.45l0.34,0.74l0.84,0.87l-0.35,0.45l-0.06,0.15l-0.1,0.82l0.42,0.31l0.35,-0.16l0.05,0.04l-0.1,0.59l0.09,0.27l0.42,0.4l-0.06,0.02l-0.18,0.21l-0.2,0.86l0.03,0.21l0.56,1.02l0.52,1.71l-0.65,0.21l-0.15,0.12l-0.24,0.35l-0.03,0.28l0.16,0.41l-0.1,0.76l-0.12,0.0Z", "name": "Guinea"}, "GM": {"path": "M379.18,251.48l0.15,-0.55l2.51,-0.07l0.21,-0.09l0.48,-0.52l0.58,-0.03l0.91,0.58l0.16,0.05l0.78,0.01l0.14,-0.03l0.59,-0.31l0.16,0.24l-0.71,0.38l-0.94,-0.04l-1.02,-0.51l-0.3,0.01l-0.86,0.55l-0.37,0.02l-0.14,0.04l-0.53,0.31l-1.81,-0.04Z", "name": "Gambia"}, "GL": {"path": "M304.13,6.6l8.19,-3.63l8.72,0.28l0.19,-0.06l3.12,-2.28l8.75,-0.61l19.94,0.8l14.93,4.75l-3.92,2.01l-9.52,0.27l-13.48,0.6l-0.27,0.2l0.09,0.33l1.26,1.09l0.22,0.07l8.81,-0.67l7.49,2.07l0.19,-0.01l4.68,-1.78l1.76,1.84l-2.59,3.26l-0.01,0.36l0.34,0.11l6.35,-2.2l12.09,-2.32l7.31,1.14l1.17,2.13l-9.9,4.05l-1.43,1.32l-7.91,0.98l-0.26,0.31l0.29,0.29l5.25,0.25l-2.63,3.72l-2.02,3.61l-0.04,0.15l0.08,6.05l0.07,0.19l2.61,3.0l-3.4,0.2l-4.12,1.66l-0.04,0.54l4.5,2.67l0.53,3.9l-2.39,0.42l-0.19,0.48l2.91,3.83l-5.0,0.32l-0.27,0.22l0.12,0.33l2.69,1.84l-0.65,1.35l-3.36,0.71l-3.46,0.01l-0.21,0.51l3.05,3.15l0.02,1.53l-4.54,-1.79l-0.32,0.06l-1.29,1.26l0.11,0.5l3.33,1.15l3.17,2.74l0.85,3.29l-4.0,0.78l-1.83,-1.66l-3.1,-2.64l-0.36,-0.02l-0.13,0.33l0.8,2.92l-2.76,2.26l-0.09,0.33l0.28,0.2l6.59,0.19l2.47,0.18l-5.86,3.38l-6.76,3.43l-7.26,1.48l-2.73,0.02l-0.16,0.05l-2.67,1.72l-3.44,4.42l-5.28,2.86l-1.73,0.18l-3.33,1.01l-3.59,0.96l-0.15,0.1l-2.15,2.52l-0.07,0.19l-0.03,2.76l-1.21,2.49l-4.03,3.1l-0.1,0.33l0.98,2.94l-2.31,6.57l-3.21,0.21l-3.6,-3.0l-0.19,-0.07l-4.9,-0.02l-2.29,-1.97l-1.69,-3.78l-4.31,-4.86l-1.23,-2.52l-0.34,-3.58l-0.08,-0.17l-3.35,-3.67l0.85,-2.92l-0.09,-0.31l-1.5,-1.34l2.33,-4.7l3.67,-1.57l0.15,-0.13l1.02,-1.93l0.52,-3.47l-0.44,-0.31l-2.85,1.57l-1.33,0.64l-2.12,0.59l-2.81,-1.32l-0.15,-2.79l0.88,-2.17l2.09,-0.06l5.07,1.2l0.34,-0.17l-0.11,-0.37l-4.3,-2.9l-2.24,-1.58l-0.25,-0.05l-2.38,0.62l-1.7,-0.93l2.62,-4.1l-0.03,-0.36l-1.51,-1.75l-1.97,-3.3l-3.01,-5.21l-0.1,-0.11l-3.04,-1.85l0.03,-1.94l-0.18,-0.28l-6.82,-3.01l-5.35,-0.38l-6.69,0.21l-6.03,0.37l-2.81,-1.59l-3.84,-2.9l5.94,-1.5l5.01,-0.28l0.28,-0.29l-0.26,-0.31l-10.68,-1.38l-5.38,-2.1l0.27,-1.68l9.3,-2.6l9.18,-2.68l0.19,-0.16l0.97,-2.05l-0.18,-0.42l-6.29,-1.91l1.81,-1.9l8.58,-4.05l3.6,-0.63l0.23,-0.4l-0.92,-2.37l5.59,-1.5l7.66,-0.95l7.58,-0.05l2.65,1.84l0.31,0.02l6.52,-3.29l5.85,2.24l3.55,0.49l5.17,1.95l0.38,-0.16l-0.13,-0.39l-5.77,-3.16l0.29,-2.26Z", "name": "Greenland"}, "KW": {"path": "M540.87,207.81l0.41,0.94l-0.18,0.51l0.0,0.21l0.65,1.66l-1.15,0.05l-0.54,-1.12l-0.24,-0.17l-1.73,-0.2l1.44,-2.06l1.33,0.18Z", "name": "Kuwait"}, "GH": {"path": "M423.16,269.88l-3.58,1.34l-1.41,0.87l-2.13,0.69l-1.91,-0.61l0.09,-0.75l-0.03,-0.17l-1.04,-2.07l0.62,-2.7l1.04,-2.08l0.03,-0.19l-1.0,-5.46l0.05,-1.12l4.04,-0.11l1.08,0.18l0.18,-0.03l0.72,-0.36l0.75,0.13l-0.11,0.48l0.06,0.26l0.98,1.22l-0.0,1.77l0.24,1.99l0.05,0.13l0.55,0.81l-0.52,2.14l0.19,1.37l0.69,1.66l0.38,0.62Z", "name": "Ghana"}, "OM": {"path": "M568.16,231.0l-0.08,0.1l-0.84,1.61l-0.93,-0.11l-0.27,0.11l-0.58,0.73l-0.4,1.32l-0.01,0.14l0.29,1.61l-0.07,0.09l-1.0,-0.01l-0.16,0.04l-1.56,0.97l-0.14,0.2l-0.23,1.17l-0.41,0.4l-1.44,-0.02l-0.17,0.05l-0.98,0.65l-0.13,0.25l0.01,0.87l-0.97,0.57l-1.27,-0.22l-0.19,0.03l-1.63,0.84l-0.88,0.11l-2.55,-5.57l7.2,-2.49l0.19,-0.19l1.67,-5.23l-0.03,-0.25l-1.1,-1.78l0.05,-0.89l0.68,-1.03l0.05,-0.16l0.01,-0.89l0.96,-0.44l0.07,-0.5l-0.32,-0.26l0.16,-1.31l0.85,-0.01l1.03,1.67l0.09,0.09l1.4,0.96l0.11,0.05l1.82,0.34l1.37,0.45l1.75,2.32l0.13,0.1l0.7,0.26l-0.0,0.3l-1.25,2.19l-1.01,0.8ZM561.88,218.47l-0.01,0.02l-0.15,-0.29l0.3,-0.38l-0.14,0.65Z", "name": "Oman"}, "_3": {"path": "M543.2,261.06l-1.07,1.46l-1.65,1.99l-1.91,0.01l-8.08,-2.95l-0.89,-0.84l-0.9,-1.19l-0.81,-1.23l0.44,-0.73l0.76,-1.12l0.49,0.28l0.52,1.05l1.13,1.06l0.2,0.08l1.24,0.01l2.42,-0.65l2.77,-0.31l2.17,-0.78l1.31,-0.19l0.84,-0.43l1.03,-0.06l-0.01,4.54Z", "name": "Somaliland"}, "_2": {"path": "M384.23,230.37l0.07,-0.06l0.28,-0.89l0.99,-1.13l0.07,-0.13l0.8,-3.54l3.4,-2.8l0.09,-0.13l0.76,-2.17l0.07,5.5l-2.07,0.21l-0.24,0.17l-0.61,1.36l-0.02,0.16l0.43,3.46l-4.01,-0.01ZM391.82,218.2l0.07,-0.06l0.75,-1.93l1.86,-0.25l0.94,0.34l1.14,0.0l0.18,-0.06l0.73,-0.56l1.41,-0.08l-0.0,2.72l-7.08,-0.12Z", "name": "Western Sahara"}, "_1": {"path": "M472.71,172.84l-0.07,-0.43l-0.16,-0.22l-0.53,-0.27l-0.38,-0.58l0.3,-0.43l0.51,-0.19l0.18,-0.18l0.3,-0.87l0.12,-0.04l0.22,0.26l0.12,0.09l0.38,0.15l0.28,0.41l0.15,0.12l0.34,0.12l0.43,0.5l0.15,0.07l-0.12,0.3l-0.27,0.32l-0.03,0.18l-0.31,0.06l-1.48,0.47l-0.15,0.17Z", "name": "Kosovo"}, "_0": {"path": "M503.54,192.92l0.09,-0.17l0.41,0.01l-0.08,0.01l-0.42,0.15ZM504.23,192.76l1.02,0.02l0.4,-0.13l-0.09,0.29l0.03,0.08l-0.35,0.16l-0.24,-0.04l-0.06,-0.1l-0.18,-0.17l-0.19,-0.08l-0.33,-0.02Z", "name": "Northern Cyprus"}, "JO": {"path": "M510.26,200.93l0.28,-0.57l2.53,1.0l0.27,-0.02l4.57,-2.77l0.84,2.84l-0.28,0.25l-4.95,1.37l-0.14,0.49l2.24,2.48l-0.5,0.28l-0.13,0.14l-0.35,0.78l-1.76,0.35l-0.2,0.14l-0.57,0.94l-0.94,0.73l-2.45,-0.38l-0.03,-0.12l1.23,-4.32l-0.04,-1.1l0.34,-0.75l0.03,-0.12l0.0,-1.63Z", "name": "Jordan"}, "HR": {"path": "M455.49,162.73l1.53,0.09l0.24,-0.1l0.29,-0.34l0.64,0.38l0.14,0.04l0.98,0.06l0.32,-0.3l-0.01,-0.66l0.67,-0.25l0.19,-0.22l0.21,-1.11l1.72,-0.72l0.65,0.32l1.94,1.37l2.07,0.6l0.22,-0.02l0.67,-0.33l0.47,0.94l0.67,0.76l-0.63,0.77l-0.91,-0.55l-0.16,-0.04l-1.69,0.04l-2.2,-0.51l-1.17,0.07l-0.21,0.11l-0.36,0.42l-0.67,-0.53l-0.46,0.12l-0.52,1.29l0.05,0.31l1.21,1.42l0.58,0.99l1.15,1.14l0.95,0.68l0.92,1.23l0.1,0.09l1.75,0.91l-1.87,-0.89l-1.5,-1.11l-2.23,-0.88l-1.77,-1.9l0.12,-0.06l0.1,-0.47l-1.07,-1.22l-0.04,-0.94l-0.21,-0.27l-1.61,-0.49l-0.35,0.14l-0.53,0.93l-0.41,-0.57l0.04,-0.73Z", "name": "Croatia"}, "HT": {"path": "M237.82,234.68l1.35,0.1l1.95,0.37l0.18,1.15l-0.16,0.83l-0.51,0.37l-0.06,0.44l0.57,0.68l-0.02,0.22l-1.31,-0.35l-1.26,0.17l-1.49,-0.18l-0.15,0.02l-1.03,0.43l-1.02,-0.61l0.09,-0.36l2.04,0.32l1.9,0.21l0.19,-0.05l0.9,-0.58l0.05,-0.47l-1.05,-1.03l0.02,-0.86l-0.23,-0.3l-1.13,-0.29l0.18,-0.23Z", "name": "Haiti"}, "HU": {"path": "M461.96,157.92l0.68,-1.66l-0.03,-0.29l-0.15,-0.22l0.84,-0.0l0.3,-0.26l0.12,-0.84l0.88,0.57l0.98,0.38l0.16,0.01l2.1,-0.39l0.23,-0.21l0.14,-0.45l0.88,-0.1l1.06,-0.43l0.13,0.1l0.28,0.04l1.18,-0.4l0.14,-0.1l0.52,-0.67l0.63,-0.15l2.6,0.95l0.26,-0.03l0.38,-0.23l1.12,0.7l0.1,0.49l-1.31,0.57l-0.14,0.13l-1.18,2.14l-1.44,2.04l-1.85,0.55l-1.51,-0.13l-0.14,0.02l-1.92,0.82l-0.85,0.42l-1.91,-0.55l-1.83,-1.31l-0.74,-0.37l-0.44,-0.97l-0.26,-0.18Z", "name": "Hungary"}, "HN": {"path": "M202.48,251.87l-0.33,-0.62l-0.18,-0.14l-0.5,-0.15l0.13,-0.76l-0.11,-0.28l-0.34,-0.28l-0.6,-0.23l-0.18,-0.01l-0.81,0.22l-0.16,-0.24l-0.72,-0.39l-0.51,-0.48l-0.12,-0.07l-0.31,-0.09l0.24,-0.3l0.04,-0.3l-0.16,-0.4l0.1,-0.28l1.14,-0.69l1.0,-0.86l0.09,0.04l0.3,-0.05l0.47,-0.39l0.49,-0.03l0.14,0.13l0.29,0.06l0.31,-0.1l1.16,0.22l1.24,-0.08l0.81,-0.28l0.29,-0.25l0.63,0.1l0.69,0.18l0.65,-0.06l0.49,-0.2l1.04,0.32l0.38,0.06l0.7,0.44l0.71,0.56l0.92,0.41l0.1,0.11l-0.11,-0.01l-0.23,0.09l-0.3,0.3l-0.76,0.29l-0.58,0.0l-0.15,0.04l-0.45,0.26l-0.31,-0.07l-0.37,-0.34l-0.28,-0.07l-0.26,0.07l-0.18,0.15l-0.23,0.43l-0.04,-0.0l-0.33,0.28l-0.03,0.4l-0.76,0.61l-0.45,0.3l-0.15,0.16l-0.51,-0.36l-0.41,0.06l-0.45,0.56l-0.41,-0.01l-0.59,0.06l-0.27,0.31l0.04,0.96l-0.07,0.0l-0.25,0.16l-0.24,0.45l-0.42,0.06Z", "name": "Honduras"}, "LV": {"path": "M473.99,127.16l0.07,-2.15l1.15,-2.11l2.05,-1.07l1.84,2.48l0.25,0.12l2.01,-0.07l0.29,-0.25l0.45,-2.58l1.85,-0.56l0.98,0.4l2.13,1.33l0.16,0.05l1.97,0.01l1.02,0.7l0.21,1.67l0.71,1.84l-2.44,1.23l-1.36,0.53l-2.28,-1.62l-0.12,-0.05l-1.18,-0.2l-0.28,-0.6l-0.31,-0.17l-2.43,0.35l-4.17,-0.23l-0.12,0.02l-2.45,0.93Z", "name": "Latvia"}, "PR": {"path": "M254.95,238.31l1.15,0.21l0.2,0.23l-0.36,0.36l-1.76,-0.01l-1.2,0.07l-0.09,-0.69l0.17,-0.18l1.89,0.01Z", "name": "Puerto Rico"}, "PS": {"path": "M509.66,201.06l-0.0,1.44l-0.29,0.63l-0.59,0.19l0.02,-0.11l0.52,-0.31l-0.02,-0.53l-0.41,-0.2l0.36,-1.28l0.41,0.17Z", "name": "West Bank"}, "PT": {"path": "M398.65,173.6l0.75,-0.63l0.7,-0.3l0.51,1.2l0.28,0.18l1.48,-0.0l0.2,-0.08l0.33,-0.3l1.16,0.08l0.52,1.11l-0.95,0.66l-0.13,0.24l-0.03,2.2l-0.33,0.35l-0.08,0.18l-0.08,1.17l-0.86,0.19l-0.2,0.44l0.93,1.64l-0.64,1.79l0.07,0.31l0.72,0.72l-0.24,0.56l-0.9,1.05l-0.07,0.26l0.17,0.77l-0.73,0.54l-1.18,-0.36l-0.16,-0.0l-0.85,0.21l0.31,-1.81l-0.23,-1.87l-0.23,-0.25l-0.99,-0.24l-0.49,-0.91l0.18,-1.72l0.93,-0.99l0.08,-0.16l0.17,-1.17l0.52,-1.76l-0.04,-1.36l-0.51,-1.14l-0.09,-0.8Z", "name": "Portugal"}, "PY": {"path": "M264.33,341.43l0.93,-2.96l0.07,-1.42l1.1,-2.1l4.19,-0.73l2.22,0.04l2.12,1.21l0.07,0.76l0.7,1.38l-0.16,3.48l0.24,0.31l2.64,0.5l0.19,-0.03l0.9,-0.45l1.47,0.62l0.38,0.64l0.23,2.35l0.3,1.07l0.25,0.21l0.93,0.12l0.16,-0.02l0.8,-0.37l0.61,0.33l-0.0,1.25l-0.33,1.53l-0.5,1.57l-0.39,2.26l-2.14,1.94l-1.85,0.4l-2.74,-0.4l-2.13,-0.62l2.26,-3.75l0.03,-0.24l-0.36,-1.18l-0.17,-0.19l-2.55,-1.03l-3.04,-1.95l-2.07,-0.43l-4.4,-4.12Z", "name": "Paraguay"}, "PA": {"path": "M213.65,263.79l0.18,-0.43l0.02,-0.18l-0.06,-0.28l0.23,-0.18l-0.01,-0.48l-0.4,-0.29l-0.01,-0.62l0.57,-0.13l0.68,0.69l-0.04,0.39l0.26,0.33l1.0,0.11l0.27,-0.1l0.49,0.44l0.24,0.07l1.34,-0.22l1.04,-0.62l1.49,-0.5l0.86,-0.73l0.99,0.11l0.18,0.28l1.35,0.08l1.02,0.4l0.78,0.72l0.71,0.53l-0.1,0.12l-0.05,0.3l0.53,1.34l-0.28,0.44l-0.6,-0.13l-0.36,0.22l-0.2,0.76l-0.41,-0.36l-0.44,-1.12l0.49,-0.53l-0.14,-0.49l-0.51,-0.14l-0.41,-0.72l-0.11,-0.11l-1.25,-0.7l-0.19,-0.04l-1.1,0.16l-0.22,0.15l-0.47,0.81l-0.9,0.56l-0.49,0.08l-0.22,0.17l-0.25,0.52l0.05,0.32l0.93,1.07l-0.41,0.21l-0.29,0.3l-0.81,0.09l-0.36,-1.26l-0.53,-0.1l-0.21,0.28l-0.5,-0.09l-0.44,-0.88l-0.22,-0.16l-0.99,-0.16l-0.61,-0.28l-0.13,-0.03l-1.0,0.0Z", "name": "Panama"}, "PG": {"path": "M808.4,298.6l0.62,0.46l1.19,1.56l1.04,0.77l-0.18,0.37l-0.42,0.15l-0.92,-0.82l-1.05,-1.53l-0.27,-0.96ZM804.09,296.06l-0.3,0.26l-0.36,-1.11l-0.66,-1.06l-2.55,-1.89l-1.42,-0.59l0.17,-0.15l1.16,0.6l0.85,0.55l1.01,0.58l0.97,1.02l0.9,0.76l0.24,1.03ZM796.71,297.99l0.15,0.82l0.34,0.24l1.43,-0.19l0.19,-0.11l0.68,-0.82l1.36,-0.87l0.13,-0.31l-0.21,-1.13l1.04,-0.03l0.3,0.25l-0.04,1.17l-0.74,1.34l-1.17,0.18l-0.22,0.15l-0.35,0.62l-2.51,1.13l-1.21,-0.0l-1.99,-0.71l-1.19,-0.58l0.07,-0.28l1.98,0.32l1.46,-0.2l0.24,-0.21l0.25,-0.79ZM789.24,303.52l0.11,0.15l2.19,1.62l1.6,2.62l0.27,0.14l1.09,-0.06l-0.07,0.77l0.23,0.32l1.23,0.27l-0.14,0.09l0.05,0.53l2.39,0.95l-0.11,0.28l-1.33,0.14l-0.51,-0.55l-0.18,-0.09l-4.59,-0.65l-1.87,-1.55l-1.38,-1.35l-1.28,-2.17l-0.16,-0.13l-3.27,-1.1l-0.19,0.0l-2.12,0.72l-1.58,0.85l-0.15,0.31l0.28,1.63l-1.65,0.73l-1.37,-0.4l-2.3,-0.09l-0.08,-15.65l3.95,1.57l4.58,1.42l1.67,1.25l1.32,1.19l0.36,1.39l0.19,0.21l4.06,1.51l0.39,0.85l-1.9,0.22l-0.25,0.39l0.55,1.68Z", "name": "Papua New Guinea"}, "PE": {"path": "M246.44,329.21l-0.63,1.25l-1.05,0.54l-2.25,-1.33l-0.19,-0.93l-0.16,-0.21l-4.95,-2.58l-4.46,-2.79l-1.87,-1.52l-0.94,-1.91l0.33,-0.6l-0.01,-0.31l-2.11,-3.33l-2.46,-4.66l-2.36,-5.02l-1.04,-1.18l-0.77,-1.81l-0.08,-0.11l-1.95,-1.64l-1.54,-0.88l0.61,-0.85l0.02,-0.31l-1.15,-2.27l0.69,-1.56l1.59,-1.26l0.12,0.42l-0.56,0.47l-0.11,0.25l0.07,0.92l0.36,0.27l0.97,-0.19l0.85,0.23l0.99,1.19l0.41,0.05l1.42,-1.03l0.11,-0.16l0.46,-1.64l1.45,-2.06l2.92,-0.96l0.11,-0.07l2.73,-2.62l0.84,-1.72l0.02,-0.18l-0.3,-1.65l0.28,-0.1l1.49,1.06l0.77,1.14l0.1,0.09l1.08,0.6l1.43,2.55l0.21,0.15l1.86,0.31l0.18,-0.03l1.25,-0.6l0.77,0.37l0.17,0.03l1.4,-0.2l1.57,0.96l-1.45,2.29l0.23,0.46l0.63,0.05l0.66,0.7l-1.51,-0.08l-0.24,0.1l-0.27,0.31l-1.96,0.46l-2.95,1.74l-0.14,0.21l-0.17,1.1l-0.6,0.82l-0.05,0.23l0.21,1.13l-1.31,0.63l-0.17,0.27l0.0,0.91l-0.53,0.37l-0.1,0.37l1.04,2.27l1.31,1.46l-0.44,0.9l0.24,0.43l1.52,0.13l0.87,1.23l0.24,0.13l2.21,0.07l0.18,-0.06l1.55,-1.13l-0.14,3.22l0.23,0.3l1.14,0.29l0.16,-0.0l1.18,-0.36l1.97,3.71l-0.45,0.71l-0.04,0.14l-0.12,1.8l-0.05,2.07l-0.92,1.2l-0.03,0.31l0.38,0.8l-0.48,0.72l-0.02,0.3l1.01,2.02l-1.5,2.64Z", "name": "Peru"}, "PK": {"path": "M609.08,187.76l1.66,1.21l0.71,2.11l0.2,0.19l3.62,1.01l-1.98,1.95l-2.65,0.4l-3.75,-0.68l-0.26,0.08l-1.23,1.22l-0.07,0.31l0.89,2.46l0.88,1.92l0.1,0.12l1.67,1.14l-1.8,1.35l-0.12,0.25l0.04,1.85l-2.35,2.67l-1.59,2.79l-2.5,2.72l-2.76,-0.2l-0.24,0.09l-2.76,2.83l0.04,0.45l1.54,1.13l0.27,1.94l0.09,0.17l1.34,1.29l0.4,1.83l-5.14,-0.01l-0.22,0.09l-1.53,1.63l-1.52,-0.56l-0.76,-1.88l-1.93,-2.03l-0.25,-0.09l-4.6,0.5l-4.05,0.05l-3.1,0.33l0.77,-2.53l3.48,-1.33l0.19,-0.33l-0.21,-1.24l-0.19,-0.23l-1.01,-0.37l-0.06,-2.18l-0.17,-0.26l-2.32,-1.16l-0.96,-1.57l-0.56,-0.65l3.16,1.05l0.14,0.01l2.45,-0.4l1.44,0.33l0.3,-0.1l0.4,-0.47l1.58,0.22l0.14,-0.01l3.25,-1.14l0.2,-0.27l0.08,-2.23l1.23,-1.38l1.73,0.0l0.28,-0.2l0.22,-0.61l1.68,-0.32l0.86,0.24l0.27,-0.05l0.98,-0.78l0.11,-0.26l-0.13,-1.57l0.96,-1.52l1.51,-0.67l0.14,-0.41l-0.74,-1.4l1.86,0.07l0.26,-0.13l0.69,-1.01l0.05,-0.2l-0.09,-0.94l1.14,-1.09l0.09,-0.28l-0.29,-1.41l-0.51,-1.07l1.23,-1.05l2.6,-0.58l2.86,-0.33l1.33,-0.54l1.3,-0.29Z", "name": "Pakistan"}, "PH": {"path": "M737.11,263.82l0.25,1.66l0.14,1.34l-0.54,1.46l-0.64,-1.79l-0.5,-0.1l-1.17,1.28l-0.05,0.32l0.74,1.71l-0.49,0.81l-2.6,-1.28l-0.61,-1.57l0.68,-1.07l-0.07,-0.4l-1.59,-1.19l-0.42,0.06l-0.69,0.91l-1.01,-0.08l-0.21,0.06l-1.58,1.2l-0.17,-0.3l0.87,-1.88l1.48,-0.66l1.18,-0.81l0.71,0.92l0.34,0.1l1.9,-0.69l0.18,-0.18l0.34,-0.94l1.57,-0.06l0.29,-0.32l-0.1,-1.38l1.41,0.83l0.36,2.06ZM734.94,254.42l0.56,2.24l-1.41,-0.49l-0.4,0.3l0.07,0.94l0.51,1.3l-0.54,0.26l-0.08,-1.34l-0.25,-0.28l-0.56,-0.1l-0.23,-0.91l1.03,0.14l0.34,-0.31l-0.03,-0.96l-0.06,-0.18l-1.14,-1.44l1.62,0.04l0.57,0.78ZM724.68,238.33l1.48,0.71l0.33,-0.04l0.44,-0.38l0.05,0.13l-0.37,0.97l0.01,0.23l0.81,1.75l-0.59,1.92l-1.37,0.79l-0.14,0.2l-0.39,2.07l0.01,0.14l0.56,2.04l0.23,0.21l1.33,0.28l0.14,-0.0l1.0,-0.27l2.82,1.28l-0.2,1.16l0.12,0.29l0.66,0.5l-0.13,0.56l-1.54,-0.99l-0.89,-1.29l-0.49,0.0l-0.44,0.65l-1.34,-1.28l-0.26,-0.08l-2.18,0.36l-0.96,-0.44l0.09,-0.72l0.69,-0.57l-0.01,-0.47l-0.75,-0.59l-0.47,0.14l-0.15,0.43l-0.86,-1.02l-0.34,-1.02l-0.07,-1.74l0.49,0.41l0.49,-0.21l0.26,-3.99l0.73,-2.1l1.23,0.0ZM731.12,258.92l-0.82,0.75l-0.83,1.64l-0.52,0.5l-1.17,-1.33l0.36,-0.47l0.62,-0.7l0.07,-0.15l0.24,-1.35l0.73,-0.08l-0.31,1.29l0.16,0.34l0.37,-0.09l1.21,-1.6l-0.12,1.24ZM726.66,255.58l0.85,0.45l0.14,0.03l1.28,-0.0l-0.03,0.62l-1.04,0.96l-1.15,0.55l-0.05,-0.71l0.17,-1.26l-0.01,-0.13l-0.16,-0.51ZM724.92,252.06l-0.45,1.5l-0.7,-0.83l-0.95,-1.43l1.44,0.06l0.67,0.7ZM717.48,261.28l-1.87,1.35l0.21,-0.3l1.81,-1.57l1.5,-1.75l0.97,-1.84l0.23,1.08l-1.56,1.33l-1.29,1.7Z", "name": "Philippines"}, "PL": {"path": "M458.8,144.25l-0.96,-1.98l0.18,-1.06l-0.01,-0.15l-0.62,-1.8l-0.82,-1.11l0.56,-0.73l0.05,-0.28l-0.51,-1.51l1.48,-0.87l3.88,-1.58l3.06,-1.14l2.23,0.52l0.15,0.66l0.29,0.23l2.4,0.04l3.11,0.39l4.56,-0.05l1.12,0.32l0.51,0.89l0.1,1.45l0.03,0.12l0.66,1.23l-0.01,1.08l-1.33,0.61l-0.14,0.41l0.74,1.5l0.07,1.53l1.22,2.79l-0.19,0.66l-1.09,0.33l-0.14,0.09l-2.27,2.72l-0.04,0.31l0.35,0.8l-2.22,-1.16l-0.21,-0.02l-1.72,0.44l-1.1,-0.31l-0.21,0.02l-1.3,0.61l-1.11,-1.02l-0.32,-0.05l-0.81,0.35l-1.15,-1.61l-0.21,-0.12l-1.65,-0.17l-0.19,-0.82l-0.23,-0.23l-1.72,-0.37l-0.34,0.17l-0.25,0.56l-0.88,-0.44l0.12,-0.69l-0.25,-0.35l-1.78,-0.27l-1.08,-0.97Z", "name": "Poland"}, "ZM": {"path": "M502.81,308.32l1.09,1.04l0.58,1.94l-0.39,0.66l-0.5,2.05l-0.0,0.14l0.45,1.95l-0.69,0.77l-0.06,0.11l-0.76,2.37l0.15,0.36l0.62,0.31l-6.85,1.9l-0.22,0.33l0.2,1.54l-1.62,0.3l-0.12,0.05l-1.43,1.02l-0.11,0.15l-0.25,0.73l-0.73,0.17l-0.14,0.08l-2.18,2.12l-1.33,1.6l-0.65,0.05l-0.83,-0.29l-2.75,-0.28l-0.24,-0.1l-0.15,-0.27l-0.99,-0.58l-0.12,-0.04l-1.73,-0.14l-1.88,0.54l-1.5,-1.48l-1.61,-2.01l0.11,-7.73l4.92,0.03l0.29,-0.37l-0.19,-0.79l0.34,-0.86l0.0,-0.21l-0.41,-1.11l0.26,-1.14l-0.01,-0.16l-0.12,-0.36l0.18,0.01l0.1,0.56l0.31,0.25l1.14,-0.06l1.44,0.21l0.76,1.05l0.19,0.12l2.01,0.35l0.19,-0.03l1.24,-0.65l0.44,1.03l0.22,0.18l1.81,0.34l0.85,0.99l1.02,1.39l0.24,0.12l1.92,0.02l0.3,-0.32l-0.21,-2.74l-0.47,-0.23l-0.53,0.36l-1.58,-0.89l-0.51,-0.34l0.29,-2.36l0.44,-2.99l-0.03,-0.18l-0.5,-0.99l0.61,-1.38l0.53,-0.24l3.26,-0.41l0.89,0.23l1.01,0.62l1.04,0.44l1.6,0.43l1.35,0.72Z", "name": "Zambia"}, "EE": {"path": "M482.19,120.88l0.23,-1.68l-0.43,-0.31l-0.75,0.37l-1.34,-1.1l-0.18,-1.75l2.92,-0.95l3.07,-0.53l2.66,0.6l2.48,-0.1l0.18,0.31l-1.65,1.96l-0.06,0.26l0.71,3.25l-0.88,0.94l-1.85,-0.01l-2.08,-1.3l-1.14,-0.47l-0.2,-0.01l-1.69,0.51Z", "name": "Estonia"}, "EG": {"path": "M508.07,208.8l-0.66,1.06l-0.53,2.03l-0.64,1.32l-0.32,0.26l-1.74,-1.85l-1.77,-3.86l-0.48,-0.09l-0.26,0.25l-0.07,0.32l1.04,2.88l1.55,2.76l1.89,4.18l0.94,1.48l0.83,1.54l2.08,2.73l-0.3,0.28l-0.1,0.23l0.08,1.72l0.11,0.22l2.91,2.37l-28.78,0.0l0.0,-19.06l-0.73,-2.2l0.61,-1.59l0.0,-0.2l-0.34,-1.04l0.73,-1.08l3.13,-0.04l2.36,0.72l2.48,0.81l1.15,0.43l0.23,-0.01l1.93,-0.87l1.02,-0.78l2.08,-0.21l1.59,0.31l0.62,1.24l0.52,0.03l0.46,-0.71l1.86,0.59l1.95,0.16l0.17,-0.04l0.92,-0.52l1.48,4.24Z", "name": "Egypt"}, "ZA": {"path": "M467.06,373.27l-0.13,-0.29l0.01,-1.58l-0.02,-0.12l-0.71,-1.64l0.59,-0.37l0.14,-0.26l-0.07,-2.13l-0.05,-0.15l-1.63,-2.58l-1.25,-2.31l-1.71,-3.37l0.88,-0.98l0.7,0.52l0.39,1.08l0.23,0.19l1.1,0.19l1.55,0.51l0.14,0.01l1.35,-0.2l0.11,-0.04l2.24,-1.39l0.14,-0.25l0.0,-9.4l0.16,0.09l1.39,2.38l-0.22,1.53l0.04,0.19l0.56,0.94l0.3,0.14l1.79,-0.27l0.16,-0.08l1.23,-1.18l1.17,-0.79l0.1,-0.12l0.57,-1.19l1.02,-0.52l0.9,0.28l1.16,0.73l0.14,0.05l2.04,0.13l0.13,-0.02l1.6,-0.62l0.18,-0.19l0.63,-1.93l1.18,-0.19l0.19,-0.12l0.78,-1.05l0.81,-1.71l2.18,-1.91l3.44,-1.88l0.89,0.02l1.17,0.43l0.21,-0.0l0.76,-0.29l1.07,0.21l1.15,3.55l0.63,1.82l-0.44,2.9l0.1,0.52l-0.74,-0.29l-0.18,-0.01l-0.72,0.19l-0.21,0.2l-0.22,0.74l-0.66,0.97l-0.05,0.18l0.02,0.93l0.09,0.21l1.49,1.46l0.27,0.08l1.47,-0.29l0.22,-0.18l0.43,-1.01l1.29,0.02l-0.51,1.63l-0.29,2.2l-0.59,1.12l-2.2,1.78l-1.06,1.39l-0.72,1.44l-1.39,1.93l-2.81,2.84l-1.75,1.65l-1.85,1.24l-2.55,1.06l-1.23,0.14l-0.24,0.18l-0.22,0.54l-1.27,-0.35l-0.2,0.01l-1.15,0.5l-2.62,-0.52l-0.12,0.0l-1.46,0.33l-0.98,-0.14l-0.16,0.02l-2.55,1.1l-2.11,0.44l-1.59,1.07l-0.93,0.06l-0.97,-0.92l-0.19,-0.08l-0.72,-0.04l-1.0,-1.16l-0.25,0.05ZM493.72,359.24l-1.12,-0.86l-0.31,-0.03l-1.23,0.59l-1.36,1.07l-1.39,1.78l0.01,0.38l1.88,2.11l0.31,0.09l0.9,-0.27l0.18,-0.15l0.4,-0.77l1.28,-0.39l0.18,-0.16l0.42,-0.88l0.76,-1.32l-0.05,-0.37l-0.87,-0.82Z", "name": "South Africa"}, "EC": {"path": "M220.2,293.48l1.25,-1.76l0.02,-0.31l-0.54,-1.09l-0.5,-0.06l-0.78,0.94l-1.03,-0.75l0.33,-0.46l0.05,-0.23l-0.38,-2.04l0.66,-0.28l0.17,-0.19l0.45,-1.52l0.93,-1.58l0.04,-0.2l-0.13,-0.78l1.19,-0.47l1.57,-0.91l2.35,1.34l0.17,0.04l0.28,-0.02l0.52,0.91l0.21,0.15l2.12,0.35l0.2,-0.03l0.55,-0.31l1.08,0.73l0.97,0.54l0.31,1.67l-0.71,1.49l-2.64,2.54l-2.95,0.97l-0.15,0.11l-1.53,2.18l-0.49,1.68l-1.1,0.8l-0.87,-1.05l-0.15,-0.1l-1.01,-0.27l-0.13,-0.0l-0.7,0.14l-0.03,-0.43l0.6,-0.5l0.1,-0.31l-0.26,-0.91Z", "name": "Ecuador"}, "AL": {"path": "M470.27,171.7l0.38,0.19l0.45,-0.18l0.4,0.61l0.11,0.1l0.46,0.24l0.13,0.87l-0.3,0.95l-0.0,0.17l0.36,1.28l0.12,0.17l0.9,0.63l-0.03,0.44l-0.67,0.35l-0.16,0.22l-0.14,0.88l-0.96,1.18l-0.06,-0.03l-0.04,-0.48l-0.12,-0.22l-1.28,-0.92l-0.19,-1.25l0.2,-1.96l0.33,-0.89l-0.06,-0.3l-0.36,-0.41l-0.13,-0.75l0.66,-0.9Z", "name": "Albania"}, "AO": {"path": "M461.62,299.93l0.55,1.67l0.73,1.54l1.56,2.18l0.28,0.12l1.66,-0.2l0.81,-0.34l1.28,0.33l0.33,-0.14l0.39,-0.67l0.56,-1.3l1.37,-0.09l0.27,-0.21l0.07,-0.23l0.67,-0.01l-0.13,0.53l0.29,0.37l2.74,-0.02l0.04,1.29l0.03,0.13l0.46,0.87l-0.35,1.52l0.18,1.55l0.07,0.16l0.75,0.85l-0.13,2.89l0.41,0.29l0.56,-0.21l1.11,0.05l1.5,-0.37l0.9,0.12l0.18,0.53l-0.27,1.15l0.01,0.17l0.4,1.08l-0.33,0.85l-0.01,0.18l0.12,0.51l-4.83,-0.03l-0.3,0.3l-0.12,8.13l0.07,0.19l1.69,2.1l1.27,1.25l-4.03,0.92l-5.93,-0.36l-1.66,-1.19l-0.18,-0.06l-10.15,0.11l-0.34,0.13l-1.35,-1.05l-0.17,-0.06l-1.62,-0.08l-1.6,0.45l-0.88,0.36l-0.17,-1.2l0.34,-2.19l0.85,-2.32l0.14,-1.13l0.79,-2.24l0.57,-1.0l1.42,-1.64l0.82,-1.15l0.05,-0.13l0.26,-1.88l-0.13,-1.51l-0.07,-0.16l-0.72,-0.87l-1.23,-2.91l0.09,-0.37l0.73,-0.95l0.05,-0.27l-1.27,-4.12l-1.19,-1.54l0.1,-0.2l0.86,-0.28l0.78,0.03l0.83,-0.29l7.12,0.03ZM451.81,298.94l-0.17,0.07l-0.5,-1.42l0.85,-0.92l0.53,-0.29l0.48,0.44l-0.56,0.32l-0.1,0.1l-0.41,0.65l-0.05,0.14l-0.07,0.91Z", "name": "Angola"}, "KZ": {"path": "M598.42,172.08l-1.37,0.54l-3.3,2.09l-0.11,0.12l-1.01,1.97l-0.56,0.01l-0.6,-1.24l-0.26,-0.17l-2.95,-0.09l-0.46,-2.22l-0.29,-0.24l-0.91,-0.02l0.17,-2.72l-0.12,-0.26l-3.0,-2.22l-0.2,-0.06l-4.29,0.24l-2.8,0.42l-2.36,-2.7l-6.4,-3.65l-0.23,-0.03l-6.45,1.83l-0.22,0.29l0.1,10.94l-0.84,0.1l-1.65,-2.21l-0.11,-0.09l-1.69,-0.84l-0.2,-0.02l-2.84,0.63l-0.14,0.07l-0.71,0.64l-0.02,-0.11l0.57,-1.17l0.0,-0.26l-0.48,-1.05l-0.17,-0.16l-2.78,-0.99l-1.08,-2.62l-0.13,-0.15l-1.24,-0.7l-0.04,-0.48l2.07,0.25l0.34,-0.29l0.09,-2.03l1.84,-0.44l2.12,0.45l0.36,-0.25l0.45,-3.04l-0.45,-2.06l-0.31,-0.23l-2.44,0.15l-2.07,-0.75l-0.23,0.01l-2.88,1.38l-2.21,0.62l-0.96,-0.38l0.22,-1.39l-0.06,-0.23l-1.6,-2.12l-0.25,-0.12l-1.72,0.08l-1.87,-1.91l1.33,-2.24l-0.06,-0.38l-0.55,-0.5l1.72,-3.08l2.3,1.7l0.48,-0.2l0.29,-2.26l4.99,-3.48l3.76,-0.08l5.46,2.27l2.96,1.33l0.26,-0.01l2.59,-1.36l3.82,-0.06l3.13,1.67l0.38,-0.09l0.63,-0.85l3.36,0.14l0.29,-0.19l0.63,-1.57l-0.13,-0.37l-3.64,-2.05l2.0,-1.36l0.1,-0.38l-0.32,-0.62l2.09,-0.76l0.13,-0.47l-1.65,-2.13l0.89,-0.91l9.27,-1.18l0.13,-0.05l1.17,-0.82l6.2,-1.27l2.26,-1.43l4.19,0.7l0.74,3.39l0.38,0.22l2.52,-0.81l2.9,1.06l-0.18,1.63l0.32,0.33l2.52,-0.23l5.0,-2.58l0.03,0.39l3.16,2.62l5.57,8.48l0.49,0.02l1.18,-1.53l3.22,1.78l0.21,0.03l3.5,-0.83l1.21,0.52l1.16,1.82l0.15,0.12l1.67,0.61l1.01,1.32l0.28,0.11l3.04,-0.41l1.1,1.64l-1.68,1.89l-1.97,0.28l-0.26,0.29l-0.12,3.09l-1.2,1.23l-4.81,-1.01l-0.35,0.2l-1.77,5.51l-1.14,0.62l-4.92,1.23l-0.2,0.41l2.14,5.06l-1.45,0.67l-0.17,0.31l0.15,1.28l-1.05,-0.3l-1.21,-1.04l-0.17,-0.07l-3.73,-0.32l-4.15,-0.08l-0.92,0.31l-3.46,-1.24l-0.22,0.01l-1.42,0.63l-0.17,0.21l-0.32,1.49l-3.82,-0.97l-0.15,0.0l-1.65,0.43l-0.2,0.17l-0.51,1.21Z", "name": "Kazakhstan"}, "ET": {"path": "M516.0,247.63l1.21,0.92l0.3,0.04l1.3,-0.53l0.46,0.41l0.19,0.08l1.65,0.03l2.05,0.96l0.67,0.88l1.07,0.79l1.0,1.45l0.7,0.68l-0.72,0.92l-0.85,1.19l-0.04,0.25l0.19,0.67l0.04,0.74l0.29,0.28l1.4,0.04l0.55,-0.15l0.23,0.19l-0.41,0.67l0.01,0.32l0.92,1.39l0.93,1.23l0.99,0.94l0.1,0.06l8.19,2.99l1.51,0.01l-6.51,6.95l-3.14,0.11l-0.18,0.06l-2.15,1.71l-1.51,0.04l-0.22,0.1l-0.6,0.69l-1.46,-0.0l-0.93,-0.78l-0.32,-0.04l-2.29,1.05l-0.12,0.1l-0.64,0.9l-1.44,-0.17l-0.51,-0.26l-0.17,-0.03l-0.56,0.07l-0.68,-0.02l-3.1,-2.08l-0.17,-0.05l-1.62,0.0l-0.68,-0.65l0.0,-1.28l-0.21,-0.29l-1.19,-0.38l-1.42,-2.63l-0.13,-0.12l-1.05,-0.53l-0.46,-1.0l-1.27,-1.23l-0.17,-0.08l-1.08,-0.13l0.53,-0.9l1.17,-0.05l0.26,-0.17l0.37,-0.77l0.03,-0.14l-0.03,-2.23l0.7,-2.49l1.08,-0.65l0.14,-0.19l0.24,-1.0l1.03,-1.85l1.47,-1.22l0.09,-0.12l1.02,-2.51l0.36,-1.96l2.62,0.48l0.33,-0.18l0.63,-1.55Z", "name": "Ethiopia"}, "ZW": {"path": "M498.95,341.2l-1.16,-0.23l-0.16,0.01l-0.74,0.28l-1.11,-0.41l-1.02,-0.04l-1.52,-1.13l-0.12,-0.05l-1.79,-0.37l-0.65,-1.46l-0.01,-0.86l-0.22,-0.29l-0.99,-0.26l-2.74,-2.77l-0.77,-1.46l-0.52,-0.5l-0.72,-1.54l2.24,0.23l0.78,0.28l0.12,0.02l0.85,-0.06l0.21,-0.11l1.38,-1.66l2.11,-2.05l0.81,-0.18l0.22,-0.2l0.27,-0.8l1.29,-0.93l1.53,-0.28l0.11,0.66l0.3,0.25l2.02,-0.05l1.04,0.48l0.5,0.59l0.18,0.1l1.13,0.18l1.11,0.7l0.01,3.06l-0.49,1.82l-0.11,1.94l0.03,0.16l0.35,0.68l-0.24,1.3l-0.27,0.17l-0.12,0.15l-0.64,1.83l-2.49,2.8Z", "name": "Zimbabwe"}, "ES": {"path": "M398.67,172.8l0.09,-1.45l-0.06,-0.2l-0.82,-1.05l3.16,-1.96l3.01,0.54l3.33,-0.02l2.64,0.52l2.14,-0.15l3.9,0.1l0.91,1.08l0.14,0.09l4.61,1.38l0.26,-0.04l0.77,-0.55l2.66,1.29l0.17,0.03l2.59,-0.35l0.1,1.28l-2.2,1.85l-3.13,0.62l-0.23,0.23l-0.21,0.92l-1.54,1.68l-0.97,2.4l0.02,0.26l0.85,1.46l-1.27,1.14l-0.09,0.14l-0.5,1.73l-1.73,0.53l-0.15,0.1l-1.68,2.1l-3.03,0.04l-2.38,-0.05l-0.17,0.05l-1.57,1.01l-0.9,1.01l-0.96,-0.19l-0.82,-0.86l-0.69,-1.6l-0.22,-0.18l-2.14,-0.41l-0.13,-0.62l0.83,-0.97l0.39,-0.86l-0.06,-0.33l-0.73,-0.73l0.63,-1.74l-0.02,-0.25l-0.8,-1.41l0.69,-0.15l0.23,-0.27l0.09,-1.29l0.33,-0.36l0.08,-0.2l0.03,-2.16l1.03,-0.72l0.1,-0.37l-0.7,-1.5l-0.25,-0.17l-1.46,-0.11l-0.22,0.07l-0.34,0.3l-1.17,0.0l-0.55,-1.29l-0.39,-0.16l-1.02,0.44l-0.45,0.36Z", "name": "Spain"}, "ER": {"path": "M527.15,253.05l-0.77,-0.74l-1.01,-1.47l-1.14,-0.86l-0.62,-0.84l-0.11,-0.09l-2.18,-1.02l-0.12,-0.03l-1.61,-0.03l-0.52,-0.46l-0.31,-0.05l-1.31,0.54l-1.38,-1.06l-0.46,0.12l-0.69,1.68l-2.49,-0.46l-0.2,-0.76l1.06,-3.69l0.24,-1.65l0.66,-0.66l1.76,-0.4l0.16,-0.1l0.97,-1.13l1.24,2.55l0.68,2.34l0.09,0.14l1.4,1.27l3.39,2.4l1.37,1.43l2.14,2.34l0.94,0.6l-0.32,0.26l-0.85,-0.17Z", "name": "Eritrea"}, "ME": {"path": "M469.05,172.9l-0.57,-0.8l-0.1,-0.09l-0.82,-0.46l0.16,-0.33l0.35,-1.57l0.72,-0.62l0.27,-0.16l0.48,0.38l0.35,0.4l0.12,0.08l0.79,0.32l0.66,0.43l-0.43,0.62l-0.28,0.11l-0.07,-0.25l-0.53,-0.1l-1.09,1.49l-0.05,0.23l0.06,0.32Z", "name": "Montenegro"}, "MD": {"path": "M488.2,153.75l0.14,-0.11l1.49,-0.28l1.75,0.95l1.06,0.14l0.92,0.7l-0.15,0.9l0.15,0.31l0.8,0.46l0.33,1.2l0.09,0.14l0.72,0.66l-0.11,0.28l0.1,0.33l-0.06,0.02l-1.25,-0.08l-0.17,-0.29l-0.39,-0.12l-0.52,0.25l-0.16,0.36l0.13,0.42l-0.6,0.88l-0.43,1.03l-0.22,0.12l-0.32,-1.0l0.25,-1.34l-0.08,-1.38l-0.06,-0.17l-1.43,-1.87l-0.81,-1.36l-0.78,-0.95l-0.12,-0.09l-0.29,-0.12Z", "name": "Moldova"}, "MG": {"path": "M544.77,316.45l0.64,1.04l0.6,1.62l0.4,3.04l0.63,1.21l-0.22,1.07l-0.15,0.26l-0.59,-1.05l-0.52,-0.01l-0.47,0.76l-0.04,0.23l0.46,1.84l-0.19,0.92l-0.61,0.53l-0.1,0.21l-0.16,2.15l-0.97,2.98l-1.24,3.59l-1.55,4.97l-0.96,3.67l-1.08,2.93l-1.94,0.61l-2.05,1.06l-3.2,-1.53l-0.62,-1.26l-0.18,-2.39l-0.87,-2.07l-0.22,-1.8l0.4,-1.69l1.01,-0.4l0.19,-0.28l0.01,-0.79l1.15,-1.91l0.04,-0.11l0.23,-1.66l-0.03,-0.17l-0.57,-1.21l-0.46,-1.58l-0.19,-2.25l0.82,-1.36l0.33,-1.51l1.11,-0.1l1.4,-0.53l0.9,-0.45l1.03,-0.03l0.21,-0.09l1.41,-1.45l2.12,-1.65l0.75,-1.29l0.03,-0.24l-0.17,-0.56l0.53,0.15l0.32,-0.1l1.38,-1.77l0.06,-0.18l0.04,-1.44l0.54,-0.74l0.62,0.77Z", "name": "Madagascar"}, "MA": {"path": "M378.66,230.13l0.07,-0.75l0.93,-0.72l0.82,-1.37l0.04,-0.21l-0.14,-0.8l0.8,-1.74l1.33,-1.61l0.79,-0.4l0.14,-0.15l0.66,-1.55l0.08,-1.46l0.83,-1.52l1.6,-0.94l0.11,-0.11l1.56,-2.71l1.2,-0.99l2.24,-0.29l0.17,-0.08l1.95,-1.83l1.3,-0.77l2.09,-2.28l0.07,-0.26l-0.61,-3.34l0.92,-2.3l0.33,-1.44l1.52,-1.79l2.48,-1.27l1.86,-1.16l0.1,-0.11l1.67,-2.93l0.72,-1.59l1.54,0.01l1.43,1.14l0.21,0.06l2.33,-0.19l2.55,0.62l0.97,0.03l0.83,1.6l0.15,1.71l0.86,2.96l0.09,0.14l0.5,0.45l-0.31,0.73l-3.11,0.44l-0.16,0.07l-1.07,0.97l-1.36,0.23l-0.25,0.28l-0.1,1.85l-2.74,1.02l-0.14,0.11l-0.9,1.3l-1.93,0.69l-2.56,0.44l-4.04,2.01l-0.17,0.27l0.02,2.91l-0.08,0.0l-0.3,0.31l0.05,1.15l-1.25,0.07l-0.16,0.06l-0.73,0.55l-0.98,0.0l-0.85,-0.33l-0.15,-0.02l-2.11,0.29l-0.24,0.19l-0.76,1.95l-0.63,0.16l-0.21,0.19l-1.15,3.29l-3.42,2.81l-0.1,0.17l-0.81,3.57l-0.98,1.12l-0.3,0.85l-5.13,0.19Z", "name": "Morocco"}, "UZ": {"path": "M587.83,186.48l0.06,-1.46l-0.19,-0.29l-3.31,-1.24l-2.57,-1.4l-1.63,-1.38l-2.79,-1.98l-1.2,-2.98l-0.12,-0.14l-0.84,-0.54l-0.18,-0.05l-2.61,0.13l-0.76,-0.48l-0.25,-2.25l-0.17,-0.24l-3.37,-1.6l-0.32,0.04l-2.08,1.73l-2.11,1.02l-0.16,0.35l0.31,1.14l-2.14,0.03l-0.09,-10.68l6.1,-1.74l6.25,3.57l2.36,2.72l0.27,0.1l2.92,-0.44l4.17,-0.23l2.78,2.06l-0.18,2.87l0.29,0.32l0.98,0.02l0.46,2.22l0.28,0.24l3.0,0.09l0.61,1.25l0.28,0.17l0.93,-0.02l0.26,-0.16l1.06,-2.06l3.21,-2.03l1.3,-0.5l0.19,0.08l-1.75,1.62l0.05,0.48l1.85,1.12l0.27,0.02l1.65,-0.69l2.4,1.27l-2.69,1.79l-1.79,-0.27l-0.89,0.06l-0.22,-0.52l0.48,-1.26l-0.34,-0.4l-3.35,0.69l-0.22,0.18l-0.78,1.87l-1.07,1.47l-1.93,-0.13l-0.29,0.16l-0.65,1.29l0.16,0.42l1.69,0.64l0.48,1.91l-1.25,2.6l-1.64,-0.53l-1.18,-0.03Z", "name": "Uzbekistan"}, "MM": {"path": "M670.1,233.39l-1.46,1.11l-1.68,0.11l-0.26,0.19l-1.1,2.7l-0.95,0.42l-0.14,0.42l1.21,2.27l1.61,1.92l0.94,1.55l-0.82,1.99l-0.77,0.42l-0.13,0.39l0.64,1.35l1.62,1.97l0.26,1.32l-0.04,1.15l0.02,0.13l0.92,2.18l-1.3,2.23l-0.79,1.69l-0.1,-0.77l0.74,-1.87l-0.02,-0.26l-0.8,-1.42l0.2,-2.68l-0.06,-0.2l-0.98,-1.27l-0.8,-2.98l-0.45,-3.22l-1.11,-2.22l-0.45,-0.1l-1.64,1.28l-2.74,1.76l-1.26,-0.2l-1.27,-0.49l0.79,-2.93l0.0,-0.14l-0.52,-2.42l-1.93,-2.97l0.26,-0.8l-0.22,-0.39l-1.37,-0.31l-1.65,-1.98l-0.12,-1.5l0.41,0.19l0.42,-0.26l0.05,-1.7l1.08,-0.54l0.16,-0.34l-0.24,-1.0l0.5,-0.79l0.05,-0.15l0.08,-2.35l1.58,0.49l0.36,-0.15l1.12,-2.19l0.15,-1.34l1.35,-2.18l0.04,-0.17l-0.07,-1.35l2.97,-1.71l1.67,0.45l0.38,-0.33l-0.18,-1.46l0.7,-0.4l0.15,-0.32l-0.13,-0.72l0.94,-0.13l0.74,1.41l0.11,0.12l0.95,0.56l0.07,1.89l-0.09,2.08l-2.28,2.15l-0.09,0.19l-0.3,3.15l0.35,0.32l2.37,-0.39l0.53,2.17l0.2,0.21l1.3,0.42l-0.63,1.9l0.14,0.36l1.86,0.99l1.1,0.49l0.24,0.0l1.45,-0.6l0.04,0.51l-2.01,1.6l-0.56,0.96l-1.34,0.56Z", "name": "Myanmar"}, "ML": {"path": "M390.79,248.2l0.67,-0.37l0.14,-0.18l0.36,-1.31l0.51,-0.04l1.68,0.69l0.21,0.0l1.34,-0.48l0.89,0.16l0.3,-0.13l0.29,-0.44l9.89,-0.04l0.29,-0.21l0.56,-1.8l-0.11,-0.33l-0.33,-0.24l-2.37,-22.1l3.41,-0.04l8.37,5.73l8.38,5.68l0.56,1.15l0.14,0.14l1.56,0.75l0.99,0.36l0.03,1.45l0.33,0.29l2.45,-0.22l0.01,5.52l-1.3,1.64l-0.06,0.15l-0.18,1.37l-1.99,0.36l-3.4,0.22l-0.19,0.09l-0.85,0.83l-1.48,0.09l-1.49,0.01l-0.54,-0.43l-0.26,-0.05l-1.38,0.36l-2.39,1.08l-0.13,0.12l-0.44,0.73l-1.88,1.11l-0.11,0.12l-0.3,0.57l-0.86,0.42l-1.1,-0.31l-0.28,0.07l-0.69,0.62l-0.09,0.16l-0.35,1.66l-1.93,2.04l-0.08,0.23l0.05,0.76l-0.63,0.99l-0.04,0.19l0.14,1.23l-0.81,0.29l-0.32,0.17l-0.27,-0.75l-0.39,-0.18l-0.65,0.26l-0.36,-0.04l-0.29,0.14l-0.37,0.6l-1.69,-0.02l-0.63,-0.34l-0.32,0.02l-0.12,0.09l-0.47,-0.45l0.1,-0.6l-0.09,-0.27l-0.31,-0.3l-0.33,-0.05l-0.05,0.02l0.02,-0.21l0.46,-0.59l-0.02,-0.39l-0.99,-1.02l-0.34,-0.74l-0.56,-0.56l-0.17,-0.09l-0.5,-0.07l-0.19,0.04l-0.58,0.35l-0.79,0.33l-0.65,0.51l-0.85,-0.16l-0.63,-0.59l-0.14,-0.07l-0.41,-0.08l-0.2,0.03l-0.59,0.31l-0.07,0.0l-0.1,-0.63l0.11,-0.85l-0.21,-0.98l-0.11,-0.17l-0.86,-0.66l-0.45,-1.34l-0.1,-1.36Z", "name": "Mali"}, "MN": {"path": "M641.06,150.59l2.41,-0.53l4.76,-2.8l3.67,-1.49l2.06,0.96l0.12,0.03l2.5,0.05l1.59,1.45l0.19,0.08l2.47,0.12l3.59,0.81l0.27,-0.07l2.43,-2.28l0.06,-0.36l-0.93,-1.77l2.33,-3.1l2.66,1.3l2.26,0.39l2.75,0.8l0.44,2.3l0.19,0.22l3.56,1.38l0.18,0.01l2.35,-0.6l3.1,-0.42l2.4,0.41l2.37,1.52l1.49,1.63l0.23,0.1l2.29,-0.03l3.13,0.52l0.15,-0.01l2.28,-0.79l3.27,-0.53l0.11,-0.04l3.56,-2.23l1.31,0.31l1.26,1.05l0.22,0.07l2.45,-0.22l-0.98,1.96l-1.77,3.21l-0.01,0.28l0.64,1.31l0.35,0.16l1.35,-0.38l2.4,0.48l0.22,-0.04l1.78,-1.09l1.82,0.92l2.11,2.07l-0.17,0.68l-1.79,-0.31l-3.74,0.45l-1.85,0.96l-1.78,2.01l-3.74,1.18l-2.46,1.61l-2.45,-0.6l-1.42,-0.28l-0.31,0.13l-1.31,1.99l0.0,0.33l0.78,1.15l0.3,0.74l-1.58,0.93l-1.75,1.59l-2.83,1.03l-3.77,0.12l-4.05,1.05l-2.81,1.54l-0.95,-0.8l-0.19,-0.07l-2.96,0.0l-3.64,-1.8l-2.55,-0.48l-3.38,0.41l-5.13,-0.67l-2.66,0.06l-1.35,-1.65l-1.12,-2.78l-0.21,-0.18l-1.5,-0.33l-2.98,-1.89l-0.12,-0.04l-3.37,-0.43l-2.84,-0.51l-0.75,-1.13l0.93,-3.54l-0.04,-0.24l-1.73,-2.55l-0.15,-0.12l-3.52,-1.18l-1.99,-1.61l-0.54,-1.85Z", "name": "Mongolia"}, "MK": {"path": "M472.73,173.87l0.08,0.01l0.32,-0.25l0.08,-0.44l1.29,-0.41l1.37,-0.28l1.03,-0.04l1.06,0.82l0.14,1.59l-0.22,0.04l-0.17,0.11l-0.32,0.4l-1.2,-0.05l-0.18,0.05l-0.9,0.61l-1.45,0.23l-0.85,-0.59l-0.3,-1.09l0.22,-0.71Z", "name": "Macedonia"}, "MW": {"path": "M507.18,313.84l-0.67,1.85l-0.01,0.16l0.7,3.31l0.31,0.24l0.75,-0.03l0.78,0.71l0.99,1.75l0.2,3.03l-0.91,0.45l-0.14,0.15l-0.59,1.38l-1.24,-1.21l-0.17,-1.62l0.49,-1.12l0.02,-0.16l-0.15,-1.03l-0.13,-0.21l-0.99,-0.65l-0.26,-0.03l-0.53,0.18l-1.31,-1.12l-1.15,-0.59l0.66,-2.06l0.75,-0.84l0.07,-0.27l-0.47,-2.04l0.48,-1.94l0.4,-0.65l0.03,-0.24l-0.64,-2.15l-0.08,-0.13l-0.44,-0.42l1.34,0.26l1.25,1.73l0.67,3.3Z", "name": "Malawi"}, "MR": {"path": "M390.54,247.66l-1.48,-1.58l-1.51,-1.88l-0.12,-0.09l-1.64,-0.67l-1.17,-0.74l-0.17,-0.05l-1.4,0.03l-0.12,0.03l-1.14,0.52l-1.15,-0.21l-0.26,0.08l-0.44,0.43l-0.11,-0.72l0.68,-1.29l0.31,-2.43l-0.28,-2.63l-0.29,-1.27l0.24,-1.24l-0.03,-0.2l-0.65,-1.24l-1.19,-1.05l0.32,-0.51l9.64,0.02l0.3,-0.34l-0.46,-3.71l0.51,-1.12l2.17,-0.22l0.27,-0.3l-0.08,-6.5l7.91,0.13l0.31,-0.3l0.01,-3.5l8.17,5.63l-2.89,0.04l-0.29,0.33l2.42,22.56l0.12,0.21l0.26,0.19l-0.43,1.38l-9.83,0.04l-0.25,0.13l-0.27,0.41l-0.77,-0.14l-0.15,0.01l-1.3,0.47l-1.64,-0.67l-0.14,-0.02l-0.79,0.06l-0.27,0.22l-0.39,1.39l-0.53,0.29Z", "name": "Mauritania"}, "UG": {"path": "M500.74,287.17l-2.84,-0.02l-0.92,0.32l-1.37,0.71l-0.29,-0.12l0.02,-1.6l0.54,-0.89l0.04,-0.13l0.14,-1.96l0.49,-1.09l0.91,-1.24l0.97,-0.68l0.8,-0.89l-0.13,-0.49l-0.79,-0.27l0.13,-2.55l0.78,-0.52l1.45,0.51l0.18,0.01l1.97,-0.57l1.72,0.01l0.18,-0.06l1.29,-0.97l0.98,1.44l0.29,1.24l1.05,2.75l-0.84,1.68l-1.94,2.66l-0.06,0.18l0.02,2.36l-4.8,0.18Z", "name": "Uganda"}, "MY": {"path": "M717.6,273.52l-1.51,0.7l-2.13,-0.41l-2.88,-0.0l-0.29,0.21l-0.84,2.77l-0.9,0.82l-0.08,0.12l-1.23,3.34l-1.81,0.47l-2.29,-0.68l-0.14,-0.01l-1.2,0.22l-0.14,0.07l-1.36,1.18l-1.47,-0.17l-0.12,0.01l-1.46,0.46l-1.51,-1.25l-0.24,-0.97l1.26,0.59l0.2,0.02l1.93,-0.47l0.22,-0.22l0.47,-1.98l0.9,-0.4l2.97,-0.54l0.17,-0.09l1.8,-1.98l1.02,-1.32l0.9,1.03l0.48,-0.04l0.43,-0.7l1.02,0.07l0.32,-0.27l0.25,-2.72l1.84,-1.67l1.23,-1.89l0.73,-0.01l1.12,1.11l0.1,0.99l0.18,0.24l1.66,0.71l1.85,0.67l-0.09,0.51l-1.45,0.11l-0.26,0.4l0.35,0.97ZM673.78,269.53l0.17,1.14l0.35,0.25l1.65,-0.3l0.18,-0.11l0.68,-0.86l0.31,0.13l1.41,1.45l0.99,1.59l0.13,1.57l-0.26,1.09l0.0,0.15l0.24,0.84l0.18,1.46l0.11,0.2l0.82,0.64l0.92,2.08l-0.03,0.52l-1.4,0.13l-2.29,-1.79l-2.86,-1.92l-0.27,-1.16l-0.07,-0.13l-1.39,-1.61l-0.33,-1.99l-0.05,-0.12l-0.84,-1.27l0.26,-1.72l-0.03,-0.18l-0.45,-0.87l0.13,-0.13l1.71,0.92Z", "name": "Malaysia"}, "MX": {"path": "M133.41,213.83l0.61,0.09l0.27,-0.09l0.93,-1.01l0.08,-0.18l0.09,-1.22l-0.09,-0.23l-1.93,-1.94l-1.46,-0.77l-2.96,-5.62l-0.86,-2.1l2.44,-0.18l2.68,-0.25l-0.03,0.08l0.17,0.4l3.79,1.35l5.81,1.97l6.96,-0.02l0.3,-0.3l0.0,-0.84l3.91,0.0l0.87,0.93l1.27,0.87l1.44,1.17l0.79,1.37l0.62,1.49l0.12,0.14l1.35,0.85l2.08,0.82l0.35,-0.1l1.49,-2.04l1.81,-0.05l1.63,1.01l1.21,1.8l0.86,1.58l1.47,1.55l0.53,1.82l0.73,1.32l0.14,0.13l1.98,0.84l1.78,0.59l0.61,-0.03l-0.78,1.89l-0.45,1.96l-0.19,3.58l-0.24,1.27l0.01,0.14l0.43,1.43l0.78,1.31l0.49,1.98l0.06,0.12l1.63,1.9l0.61,1.51l0.98,1.28l0.16,0.11l2.58,0.67l0.98,1.02l0.31,0.08l2.17,-0.71l1.91,-0.26l1.87,-0.47l1.67,-0.49l1.59,-1.06l0.11,-0.14l0.6,-1.52l0.22,-2.21l0.35,-0.62l1.58,-0.64l2.59,-0.59l2.18,0.09l1.43,-0.2l0.39,0.36l-0.07,1.02l-1.28,1.48l-0.65,1.68l0.07,0.32l0.33,0.32l-0.79,2.49l-0.28,-0.3l-0.24,-0.09l-1.0,0.08l-0.24,0.15l-0.74,1.28l-0.19,-0.13l-0.28,-0.03l-0.3,0.12l-0.19,0.29l0.0,0.06l-4.34,-0.02l-0.3,0.3l-0.0,1.16l-0.83,0.0l-0.28,0.19l0.08,0.33l0.93,0.86l0.9,0.58l0.24,0.48l0.16,0.15l0.2,0.08l-0.03,0.38l-2.94,0.01l-0.26,0.15l-1.21,2.09l0.02,0.33l0.25,0.33l-0.21,0.44l-0.04,0.22l-2.42,-2.35l-1.36,-0.87l-2.04,-0.67l-0.13,-0.01l-1.4,0.19l-2.07,0.98l-1.14,0.23l-1.72,-0.66l-1.85,-0.48l-2.31,-1.16l-1.92,-0.38l-2.79,-1.18l-2.04,-1.2l-0.6,-0.66l-0.19,-0.1l-1.37,-0.15l-2.45,-0.78l-1.07,-1.18l-2.63,-1.44l-1.2,-1.56l-0.44,-0.93l0.5,-0.15l0.2,-0.39l-0.2,-0.58l0.46,-0.55l0.07,-0.19l0.01,-0.91l-0.06,-0.18l-0.81,-1.13l-0.25,-1.08l-0.86,-1.36l-2.21,-2.63l-2.53,-2.09l-1.2,-1.63l-0.11,-0.09l-2.08,-1.06l-0.34,-0.48l0.35,-1.53l-0.16,-0.34l-1.24,-0.61l-1.39,-1.23l-0.6,-1.81l-0.24,-0.2l-1.25,-0.2l-1.38,-1.35l-1.11,-1.25l-0.1,-0.76l-0.05,-0.13l-1.33,-2.04l-0.85,-2.02l0.04,-0.99l-0.14,-0.27l-1.81,-1.1l-0.2,-0.04l-0.74,0.11l-1.34,-0.72l-0.42,0.16l-0.4,1.12l-0.0,0.19l0.41,1.3l0.24,2.04l0.06,0.15l0.88,1.16l1.84,1.86l0.4,0.61l0.12,0.1l0.27,0.14l0.29,0.82l0.31,0.2l0.2,-0.02l0.43,1.51l0.09,0.14l0.72,0.65l0.51,0.91l1.58,1.4l0.8,2.42l0.77,1.23l0.66,1.19l0.13,1.34l0.28,0.27l1.08,0.08l0.92,1.1l0.83,1.08l-0.03,0.24l-0.88,0.81l-0.13,-0.0l-0.59,-1.42l-0.07,-0.11l-1.67,-1.53l-1.81,-1.28l-1.15,-0.61l0.07,-1.85l-0.38,-1.45l-0.12,-0.17l-2.91,-2.03l-0.39,0.04l-0.11,0.11l-0.42,-0.46l-0.11,-0.08l-1.49,-0.63l-1.09,-1.16Z", "name": "Mexico"}, "VU": {"path": "M839.92,325.66l0.78,0.73l-0.18,0.07l-0.6,-0.8ZM839.13,322.74l0.27,1.36l-0.13,-0.06l-0.21,-0.02l-0.29,0.08l-0.22,-0.43l-0.03,-1.32l0.61,0.4Z", "name": "Vanuatu"}, "FR": {"path": "M444.58,172.63l-0.68,1.92l-0.72,-0.38l-0.51,-1.79l0.43,-0.95l1.15,-0.83l0.33,2.04ZM429.71,147.03l1.77,1.57l0.26,0.07l1.16,-0.23l2.12,1.44l0.56,0.28l0.16,0.03l0.61,-0.06l1.09,0.78l0.13,0.05l3.18,0.53l-1.09,1.94l-0.3,2.16l-0.48,0.38l-1.0,-0.26l-0.37,0.32l0.07,0.66l-1.73,1.68l-0.09,0.21l-0.04,1.42l0.41,0.29l0.96,-0.4l0.67,1.07l-0.09,0.78l0.04,0.19l0.61,0.97l-0.71,0.78l-0.07,0.28l0.65,2.39l0.21,0.21l1.09,0.31l-0.2,0.95l-2.08,1.58l-4.81,-0.8l-0.13,0.01l-3.65,0.99l-0.22,0.24l-0.25,1.6l-2.59,0.35l-2.74,-1.33l-0.31,0.03l-0.79,0.57l-4.38,-1.31l-0.79,-0.94l1.16,-1.64l0.05,-0.15l0.48,-6.17l-0.06,-0.21l-2.58,-3.3l-1.89,-1.65l-0.11,-0.06l-3.64,-1.17l-0.2,-1.88l2.92,-0.63l4.14,0.82l0.35,-0.36l-0.65,-3.0l1.77,1.05l0.27,0.02l5.83,-2.54l0.17,-0.19l0.71,-2.54l1.75,-0.53l0.27,0.88l0.27,0.21l1.04,0.05l1.08,1.23ZM289.1,278.45l-0.85,0.84l-0.88,0.13l-0.25,-0.51l-0.21,-0.16l-0.56,-0.1l-0.25,0.07l-0.63,0.55l-0.62,-0.29l0.5,-0.88l0.21,-1.11l0.42,-1.05l-0.03,-0.28l-0.93,-1.42l-0.18,-1.54l1.13,-1.87l2.42,0.78l2.55,2.04l0.33,0.81l-1.4,2.16l-0.77,1.84Z", "name": "France"}, "FI": {"path": "M492.26,76.42l-0.38,3.12l0.12,0.28l3.6,2.69l-2.14,2.96l-0.01,0.33l2.83,4.61l-1.61,3.36l0.03,0.31l2.15,2.87l-0.96,2.44l0.1,0.35l3.51,2.55l-0.81,1.72l-2.28,2.19l-5.28,4.79l-4.51,0.31l-4.39,1.37l-3.87,0.75l-1.34,-1.89l-0.11,-0.09l-2.23,-1.14l0.53,-3.54l-0.01,-0.14l-1.17,-3.37l1.12,-2.13l2.23,-2.44l5.69,-4.33l1.65,-0.84l0.16,-0.31l-0.26,-1.73l-0.15,-0.22l-3.4,-1.91l-0.77,-1.47l-0.07,-6.45l-0.12,-0.24l-3.91,-2.94l-3.0,-1.92l0.97,-0.76l2.6,2.17l0.21,0.07l3.2,-0.21l2.63,1.03l0.3,-0.05l2.39,-1.94l0.09,-0.13l1.18,-3.12l3.63,-1.42l2.87,1.59l-0.98,2.87Z", "name": "Finland"}, "FJ": {"path": "M869.98,327.07l-1.31,0.44l-0.14,-0.41l0.96,-0.41l0.85,-0.17l1.43,-0.78l-0.16,0.65l-1.64,0.67ZM867.58,329.12l0.54,0.47l-0.31,1.0l-1.32,0.3l-1.13,-0.26l-0.17,-0.78l0.72,-0.66l0.98,0.27l0.25,-0.04l0.43,-0.29Z", "name": "Fiji"}, "FK": {"path": "M268.15,427.89l2.6,-1.73l1.98,0.77l0.31,-0.05l1.32,-1.17l1.58,1.18l-0.54,0.84l-3.1,0.92l-1.0,-1.04l-0.39,-0.04l-1.9,1.35l-0.86,-1.04Z", "name": "Falkland Islands"}, "NI": {"path": "M202.1,252.6l0.23,-0.0l0.12,-0.11l0.68,-0.09l0.22,-0.15l0.23,-0.43l0.2,-0.01l0.28,-0.31l-0.04,-0.97l0.29,-0.03l0.5,0.02l0.25,-0.11l0.37,-0.46l0.51,0.35l0.4,-0.06l0.23,-0.28l0.45,-0.29l0.87,-0.7l0.11,-0.21l0.02,-0.26l0.23,-0.12l0.25,-0.48l0.29,0.27l0.14,0.07l0.5,0.12l0.22,-0.03l0.48,-0.28l0.66,-0.02l0.87,-0.33l0.36,-0.32l0.21,0.01l-0.11,0.48l0.0,0.14l0.22,0.8l-0.54,0.85l-0.27,1.03l-0.09,1.18l0.14,0.72l0.05,0.95l-0.24,0.15l-0.13,0.19l-0.23,1.09l0.0,0.14l0.14,0.53l-0.42,0.53l-0.06,0.24l0.12,0.69l0.08,0.15l0.18,0.19l-0.26,0.23l-0.49,-0.11l-0.35,-0.44l-0.16,-0.1l-0.79,-0.21l-0.23,0.03l-0.45,0.26l-1.51,-0.62l-0.31,0.05l-0.17,0.15l-1.81,-1.62l-0.6,-0.9l-1.04,-0.79l-0.77,-0.71Z", "name": "Nicaragua"}, "NL": {"path": "M436.22,136.65l1.82,0.08l0.36,0.89l-0.6,2.96l-0.53,1.06l-1.32,0.0l-0.3,0.34l0.35,2.89l-0.83,-0.47l-1.56,-1.43l-0.29,-0.07l-2.26,0.67l-1.02,-0.15l0.68,-0.48l0.1,-0.12l2.14,-4.84l3.25,-1.35Z", "name": "Netherlands"}, "NO": {"path": "M491.45,67.31l7.06,3.0l-2.52,0.94l-0.11,0.49l2.43,2.49l-3.82,1.59l-1.48,0.3l0.89,-2.61l-0.14,-0.36l-3.21,-1.78l-0.25,-0.02l-3.89,1.52l-0.17,0.17l-1.2,3.17l-2.19,1.78l-2.53,-0.99l-0.13,-0.02l-3.15,0.21l-2.69,-2.25l-0.38,-0.01l-1.43,1.11l-1.47,0.17l-0.26,0.26l-0.33,2.57l-4.42,-0.65l-0.33,0.22l-0.6,2.19l-2.17,-0.01l-0.27,0.16l-4.15,7.68l-3.88,5.76l-0.0,0.33l0.81,1.23l-0.7,1.27l-2.3,-0.06l-0.28,0.18l-1.63,3.72l-0.02,0.13l0.15,5.17l0.07,0.18l1.51,1.84l-0.79,4.24l-2.04,2.5l-0.92,1.75l-1.39,-1.88l-0.44,-0.05l-4.89,4.21l-3.16,0.81l-3.24,-1.74l-0.86,-3.82l-0.78,-8.6l2.18,-2.36l6.56,-3.28l5.0,-4.16l4.63,-5.74l5.99,-8.09l4.17,-3.23l6.84,-5.49l5.39,-1.92l4.06,0.24l0.23,-0.09l3.72,-3.67l4.51,0.19l4.4,-0.89ZM484.58,19.95l4.42,1.82l-3.25,2.68l-7.14,0.65l-7.16,-0.91l-0.39,-1.37l-0.28,-0.22l-3.48,-0.1l-2.25,-2.15l7.09,-1.48l3.55,1.36l0.28,-0.03l2.42,-1.66l6.18,1.41ZM481.99,33.92l-4.73,1.85l-3.76,-1.06l1.27,-1.02l0.04,-0.43l-1.18,-1.35l4.46,-0.94l0.89,1.83l0.17,0.15l2.83,0.96ZM466.5,23.95l7.64,3.87l-5.63,1.94l-0.19,0.19l-1.35,3.88l-2.08,0.96l-0.16,0.19l-1.14,4.18l-2.71,0.18l-4.94,-2.95l1.95,-1.63l-0.08,-0.51l-3.7,-1.54l-4.79,-4.54l-1.78,-4.01l6.29,-1.88l1.25,1.81l0.25,0.13l3.57,-0.08l0.26,-0.17l0.87,-1.79l3.41,-0.18l3.08,1.94Z", "name": "Norway"}, "NA": {"path": "M461.88,357.98l-1.61,-1.77l-0.94,-1.9l-0.54,-2.58l-0.62,-1.95l-0.83,-4.05l-0.06,-3.13l-0.33,-1.5l-0.07,-0.14l-0.95,-1.06l-1.27,-2.12l-1.3,-3.1l-0.59,-1.71l-1.98,-2.46l-0.13,-1.67l0.99,-0.4l1.44,-0.42l1.48,0.07l1.42,1.11l0.31,0.03l0.32,-0.15l9.99,-0.11l1.66,1.18l0.16,0.06l6.06,0.37l4.69,-1.06l2.01,-0.57l1.5,0.14l0.63,0.37l-1.0,0.41l-0.7,0.01l-0.16,0.05l-1.38,0.88l-0.79,-0.88l-0.29,-0.09l-3.83,0.9l-1.84,0.08l-0.29,0.3l-0.07,8.99l-2.18,0.08l-0.29,0.3l-0.0,17.47l-2.04,1.27l-1.21,0.18l-1.51,-0.49l-0.99,-0.18l-0.36,-1.0l-0.1,-0.14l-0.99,-0.74l-0.4,0.04l-0.98,1.09Z", "name": "Namibia"}, "NC": {"path": "M835.87,338.68l2.06,1.63l1.01,0.94l-0.49,0.32l-1.21,-0.62l-1.76,-1.16l-1.58,-1.36l-1.61,-1.79l-0.16,-0.41l0.54,0.02l1.32,0.83l1.08,0.87l0.79,0.73Z", "name": "New Caledonia"}, "NE": {"path": "M426.67,254.17l0.03,-1.04l-0.24,-0.3l-2.66,-0.53l-0.06,-1.0l-0.07,-0.17l-1.37,-1.62l-0.3,-1.04l0.15,-0.94l1.37,-0.09l0.19,-0.09l0.85,-0.83l3.34,-0.22l2.22,-0.41l0.24,-0.26l0.2,-1.5l1.32,-1.65l0.07,-0.19l-0.01,-5.74l3.4,-1.13l7.24,-5.12l8.46,-4.95l3.76,1.08l1.35,1.39l0.36,0.05l1.39,-0.77l0.55,3.66l0.12,0.2l0.82,0.6l0.03,0.69l0.1,0.21l0.87,0.74l-0.47,0.99l-0.96,5.26l-0.13,3.25l-3.08,2.34l-0.1,0.15l-1.08,3.37l0.08,0.31l0.94,0.86l-0.01,1.51l0.29,0.3l1.25,0.05l-0.14,0.66l-0.51,0.11l-0.24,0.26l-0.06,0.57l-0.04,0.0l-1.59,-2.62l-0.21,-0.14l-0.59,-0.1l-0.23,0.05l-1.83,1.33l-1.79,-0.68l-1.42,-0.17l-0.17,0.03l-0.65,0.32l-1.39,-0.07l-0.19,0.06l-1.4,1.03l-1.12,0.05l-2.97,-1.29l-0.26,0.01l-1.12,0.59l-1.08,-0.04l-0.85,-0.88l-0.11,-0.07l-2.51,-0.95l-0.14,-0.02l-2.69,0.3l-0.16,0.07l-0.65,0.55l-0.1,0.16l-0.34,1.41l-0.69,0.98l-0.05,0.15l-0.13,1.72l-1.47,-1.13l-0.18,-0.06l-0.9,0.01l-0.2,0.08l-0.32,0.28Z", "name": "Niger"}, "NG": {"path": "M442.0,272.7l-2.4,0.83l-0.88,-0.12l-0.19,0.04l-0.89,0.52l-1.78,-0.05l-1.23,-1.44l-0.88,-1.87l-1.77,-1.66l-0.21,-0.08l-3.78,0.03l0.13,-3.75l-0.06,-1.58l0.44,-1.47l0.74,-0.75l1.21,-1.56l0.04,-0.29l-0.22,-0.56l0.44,-0.9l0.01,-0.24l-0.54,-1.44l0.26,-2.97l0.72,-1.06l0.33,-1.37l0.51,-0.43l2.53,-0.28l2.38,0.9l0.89,0.91l0.2,0.09l1.28,0.04l0.15,-0.03l1.06,-0.56l2.9,1.26l0.13,0.02l1.28,-0.06l0.16,-0.06l1.39,-1.02l1.36,0.07l0.15,-0.03l0.64,-0.32l1.22,0.13l1.9,0.73l0.28,-0.04l1.86,-1.35l0.33,0.06l1.62,2.67l0.29,0.14l0.32,-0.04l0.73,0.74l-0.19,0.37l-0.12,0.74l-2.03,1.89l-0.07,0.11l-0.66,1.62l-0.35,1.28l-0.48,0.51l-0.07,0.12l-0.48,1.67l-1.26,0.98l-0.1,0.15l-0.38,1.24l-0.58,1.07l-0.2,0.91l-1.43,0.7l-1.26,-0.93l-0.19,-0.06l-0.95,0.04l-0.2,0.09l-1.41,1.39l-0.61,0.02l-0.26,0.17l-1.19,2.42l-0.61,1.67Z", "name": "Nigeria"}, "NZ": {"path": "M857.9,379.62l1.85,3.1l0.33,0.14l0.22,-0.28l0.04,-1.41l0.57,0.4l0.35,2.06l0.17,0.22l2.02,0.94l1.78,0.26l0.22,-0.06l1.31,-1.01l0.84,0.22l-0.53,2.27l-0.67,1.5l-1.71,-0.05l-0.25,0.12l-0.67,0.89l-0.05,0.23l0.21,1.15l-0.31,0.46l-2.15,3.57l-1.6,0.99l-0.28,-0.51l-0.15,-0.13l-0.72,-0.3l1.27,-2.15l0.01,-0.29l-0.82,-1.63l-0.15,-0.14l-2.5,-1.09l0.05,-0.69l1.67,-0.94l0.15,-0.21l0.42,-2.24l-0.11,-1.95l-0.03,-0.12l-0.97,-1.85l0.05,-0.41l-0.09,-0.25l-1.18,-1.17l-1.94,-2.49l-0.86,-1.64l0.38,-0.09l1.24,1.43l0.12,0.08l1.81,0.68l0.67,2.39ZM853.93,393.55l0.57,1.24l0.44,0.12l1.51,-1.03l0.52,0.91l0.0,1.09l-0.88,1.31l-1.62,2.2l-1.26,1.2l-0.05,0.38l0.64,1.02l-1.4,0.03l-0.14,0.04l-2.14,1.16l-0.14,0.17l-0.67,2.0l-1.38,3.06l-3.07,2.19l-2.12,-0.06l-1.55,-0.99l-0.14,-0.05l-2.53,-0.2l-0.31,-0.84l1.25,-2.15l3.07,-2.97l1.62,-0.59l1.81,-1.17l2.18,-1.63l1.55,-1.65l1.08,-2.18l0.9,-0.72l0.11,-0.17l0.35,-1.56l1.37,-1.07l0.4,0.91Z", "name": "New Zealand"}, "NP": {"path": "M641.26,213.53l-0.14,0.95l0.32,1.64l-0.21,0.78l-1.83,0.04l-2.98,-0.62l-1.86,-0.25l-1.37,-1.3l-0.18,-0.08l-3.38,-0.34l-3.21,-1.49l-2.38,-1.34l-2.16,-0.92l0.84,-2.2l1.51,-1.18l0.89,-0.57l1.83,0.77l2.5,1.76l1.39,0.41l0.78,1.21l0.17,0.13l1.91,0.53l2.0,1.17l2.92,0.66l2.63,0.24Z", "name": "Nepal"}, "CI": {"path": "M413.53,272.08l-0.83,0.02l-1.79,-0.49l-1.64,0.03l-3.04,0.46l-1.73,0.72l-2.4,0.89l-0.12,-0.02l0.16,-1.7l0.19,-0.25l0.06,-0.2l-0.08,-0.99l-0.09,-0.19l-1.06,-1.05l-0.15,-0.08l-0.71,-0.15l-0.51,-0.48l0.45,-0.92l0.02,-0.19l-0.24,-1.16l0.07,-0.43l0.14,-0.0l0.3,-0.26l0.15,-1.1l-0.02,-0.15l-0.13,-0.34l0.09,-0.13l0.83,-0.27l0.19,-0.37l-0.62,-2.02l-0.55,-1.0l0.14,-0.59l0.35,-0.14l0.24,-0.16l0.53,0.29l0.14,0.04l1.93,0.02l0.26,-0.14l0.36,-0.58l0.39,0.01l0.43,-0.17l0.28,0.79l0.43,0.16l0.56,-0.31l0.89,-0.32l0.92,0.45l0.39,0.75l0.14,0.13l1.13,0.53l0.3,-0.03l0.81,-0.59l1.02,-0.08l1.49,0.57l0.62,3.33l-1.03,2.09l-0.65,2.84l0.02,0.2l1.05,2.08l-0.07,0.64Z", "name": "Ivory Coast"}, "CH": {"path": "M444.71,156.27l0.05,0.3l-0.34,0.69l0.13,0.4l1.13,0.58l1.07,0.1l-0.12,0.81l-0.87,0.42l-1.75,-0.37l-0.34,0.18l-0.47,1.1l-0.86,0.07l-0.33,-0.38l-0.41,-0.04l-1.34,1.01l-1.02,0.13l-0.93,-0.58l-0.82,-1.32l-0.37,-0.12l-0.77,0.32l0.02,-0.84l1.74,-1.69l0.09,-0.25l-0.04,-0.38l0.73,0.19l0.26,-0.06l0.6,-0.48l2.02,0.02l0.24,-0.12l0.38,-0.51l2.31,0.84Z", "name": "Switzerland"}, "CO": {"path": "M232.24,284.95l-0.94,-0.52l-1.22,-0.82l-0.31,-0.01l-0.62,0.35l-1.88,-0.31l-0.54,-0.95l-0.29,-0.15l-0.37,0.03l-2.34,-1.33l-0.15,-0.35l0.57,-0.11l0.24,-0.32l-0.1,-1.15l0.46,-0.71l1.11,-0.15l0.21,-0.13l1.05,-1.57l0.95,-1.31l-0.08,-0.43l-0.73,-0.47l0.4,-1.24l0.01,-0.16l-0.53,-2.15l0.44,-0.54l0.06,-0.24l-0.4,-2.13l-0.06,-0.13l-0.93,-1.22l0.21,-0.8l0.52,0.12l0.32,-0.13l0.47,-0.75l0.03,-0.27l-0.52,-1.32l0.09,-0.11l1.14,0.07l0.22,-0.08l1.82,-1.71l0.96,-0.25l0.22,-0.28l0.02,-0.81l0.43,-2.01l1.28,-1.04l1.48,-0.05l0.27,-0.19l0.12,-0.31l1.73,0.19l0.2,-0.05l1.96,-1.28l0.97,-0.56l1.16,-1.16l0.64,0.11l0.43,0.44l-0.31,0.55l-1.49,0.39l-0.19,0.16l-0.6,1.2l-0.97,0.74l-0.73,0.94l-0.06,0.13l-0.3,1.76l-0.68,1.44l0.23,0.43l1.1,0.14l0.27,0.97l0.08,0.13l0.49,0.49l0.17,0.85l-0.27,0.86l-0.01,0.14l0.09,0.53l0.2,0.23l0.52,0.18l0.54,0.79l0.27,0.13l3.18,-0.24l1.31,0.29l1.7,2.08l0.31,0.1l0.96,-0.26l1.75,0.13l1.41,-0.27l0.56,0.27l-0.36,1.07l-0.54,0.81l-0.05,0.13l-0.2,1.8l0.51,1.79l0.07,0.12l0.65,0.68l0.05,0.32l-1.16,1.14l0.05,0.47l0.86,0.52l0.6,0.79l0.31,1.01l-0.7,-0.81l-0.44,-0.01l-0.74,0.77l-4.75,-0.05l-0.3,0.31l0.03,1.57l0.25,0.29l1.2,0.21l-0.02,0.24l-0.1,-0.05l-0.22,-0.02l-1.41,0.41l-0.22,0.29l-0.01,1.82l0.11,0.23l1.04,0.85l0.35,1.3l-0.06,1.02l-1.02,6.26l-0.84,-0.89l-0.19,-0.09l-0.25,-0.02l1.35,-2.13l-0.1,-0.42l-1.92,-1.17l-0.2,-0.04l-1.41,0.2l-0.82,-0.39l-0.26,0.0l-1.29,0.62l-1.63,-0.27l-1.4,-2.5l-0.12,-0.12l-1.1,-0.61l-0.83,-1.2l-1.67,-1.19l-0.27,-0.04l-0.54,0.19Z", "name": "Colombia"}, "CN": {"path": "M740.32,148.94l0.22,0.21l4.3,1.03l2.84,2.2l0.99,2.92l0.28,0.2l3.8,0.0l0.15,-0.04l2.13,-1.24l3.5,-0.8l-1.05,2.29l-0.95,1.13l-0.06,0.12l-0.85,3.41l-1.56,2.81l-2.83,-0.51l-0.19,0.03l-2.15,1.09l-0.15,0.34l0.65,2.59l-0.33,3.3l-1.03,0.07l-0.28,0.3l0.01,0.75l-1.09,-1.2l-0.48,0.05l-0.94,1.6l-3.76,1.26l-0.2,0.36l0.29,1.19l-1.67,-0.08l-1.11,-0.88l-0.42,0.05l-1.69,2.08l-2.71,1.57l-2.04,1.88l-3.42,0.84l-0.11,0.05l-1.8,1.34l-1.54,0.46l0.52,-0.53l0.06,-0.33l-0.44,-0.96l1.84,-1.84l0.02,-0.41l-1.32,-1.56l-0.36,-0.08l-2.23,1.08l-2.83,2.06l-1.52,1.85l-2.32,0.13l-0.2,0.09l-1.28,1.37l-0.03,0.37l1.32,1.97l0.18,0.13l1.83,0.43l0.07,1.08l0.18,0.26l1.98,0.84l0.3,-0.03l2.66,-1.96l2.06,1.04l0.12,0.03l1.4,0.07l0.27,1.0l-3.24,0.73l-0.17,0.11l-1.13,1.5l-2.38,1.4l-0.1,0.1l-1.29,1.99l0.1,0.42l2.6,1.5l0.97,2.72l1.52,2.56l1.66,2.08l-0.03,1.76l-1.4,0.67l-0.15,0.38l0.6,1.47l0.13,0.15l1.29,0.75l-0.35,2.0l-0.58,1.96l-1.22,0.21l-0.2,0.14l-1.83,2.93l-2.02,3.51l-2.29,3.13l-3.4,2.42l-3.42,2.18l-2.75,0.3l-0.15,0.06l-1.32,1.01l-0.68,-0.67l-0.41,-0.01l-1.37,1.27l-3.42,1.28l-2.62,0.4l-0.24,0.21l-0.8,2.57l-0.95,0.11l-0.53,-1.54l0.52,-0.89l-0.19,-0.44l-3.36,-0.84l-0.17,0.01l-1.09,0.4l-2.36,-0.64l-1.0,-0.9l0.35,-1.34l-0.23,-0.37l-2.22,-0.47l-1.15,-0.94l-0.36,-0.02l-2.08,1.37l-2.35,0.29l-1.98,-0.01l-0.13,0.03l-1.32,0.63l-1.28,0.38l-0.21,0.33l0.33,2.65l-0.78,-0.04l-0.14,-0.39l-0.07,-1.04l-0.41,-0.26l-1.72,0.71l-0.96,-0.43l-1.63,-0.86l0.65,-1.95l-0.19,-0.38l-1.43,-0.46l-0.56,-2.27l-0.34,-0.22l-2.26,0.38l0.25,-2.65l2.29,-2.15l0.09,-0.2l0.1,-2.21l-0.07,-2.09l-0.15,-0.25l-1.02,-0.6l-0.8,-1.52l-0.31,-0.16l-1.42,0.2l-2.16,-0.32l0.55,-0.74l0.01,-0.35l-1.17,-1.7l-0.41,-0.08l-1.67,1.07l-1.97,-0.63l-0.25,0.03l-2.89,1.73l-2.26,1.99l-1.82,0.3l-1.0,-0.66l-0.15,-0.05l-1.28,-0.06l-1.75,-0.61l-0.24,0.02l-1.35,0.69l-0.1,0.08l-1.2,1.45l-0.14,-1.41l-0.4,-0.25l-1.46,0.55l-2.83,-0.26l-2.77,-0.61l-1.99,-1.17l-1.91,-0.54l-0.78,-1.21l-0.17,-0.13l-1.36,-0.38l-2.54,-1.79l-2.01,-0.84l-0.28,0.02l-0.89,0.56l-3.31,-1.83l-2.35,-1.67l-0.57,-2.49l1.34,0.28l0.36,-0.28l0.08,-1.42l-0.05,-0.19l-0.93,-1.34l0.24,-2.18l-0.07,-0.22l-2.69,-3.32l-0.15,-0.1l-3.97,-1.11l-0.69,-2.05l-0.11,-0.15l-1.79,-1.3l-0.39,-0.73l-0.36,-1.57l0.08,-1.09l-0.18,-0.3l-1.52,-0.66l-0.22,-0.01l-0.51,0.18l-0.52,-2.21l0.59,-0.55l0.06,-0.35l-0.22,-0.44l2.12,-1.24l1.63,-0.55l2.58,0.39l0.31,-0.16l0.87,-1.75l3.05,-0.34l0.21,-0.12l0.84,-1.12l3.87,-1.59l0.15,-0.14l0.35,-0.68l0.03,-0.17l-0.17,-1.51l1.52,-0.7l0.15,-0.39l-2.12,-5.0l4.62,-1.15l1.35,-0.72l0.14,-0.17l1.72,-5.37l4.7,0.99l0.28,-0.08l1.39,-1.43l0.08,-0.2l0.11,-2.95l1.83,-0.26l0.18,-0.1l1.85,-2.08l0.61,-0.17l0.57,1.97l0.1,0.15l2.2,1.75l3.48,1.17l1.59,2.36l-0.93,3.53l0.04,0.24l0.9,1.35l0.2,0.13l2.98,0.53l3.32,0.43l2.97,1.89l1.49,0.35l1.08,2.67l1.52,1.88l0.24,0.11l2.74,-0.07l5.15,0.67l3.36,-0.41l2.39,0.43l3.67,1.81l0.13,0.03l2.92,-0.0l1.02,0.86l0.34,0.03l2.88,-1.59l3.98,-1.03l3.81,-0.13l3.02,-1.12l1.77,-1.61l1.73,-1.01l0.13,-0.37l-0.41,-1.01l-0.72,-1.07l1.09,-1.66l1.21,0.24l2.57,0.63l0.24,-0.04l2.46,-1.62l3.78,-1.19l0.13,-0.09l1.8,-2.03l1.66,-0.84l3.54,-0.41l1.93,0.35l0.34,-0.22l0.27,-1.12l-0.08,-0.29l-2.27,-2.22l-2.08,-1.07l-0.29,0.01l-1.82,1.12l-2.36,-0.47l-0.14,0.01l-1.18,0.34l-0.46,-0.94l1.69,-3.08l1.1,-2.21l2.75,1.12l0.26,-0.02l3.53,-2.06l0.15,-0.26l-0.02,-1.35l2.18,-3.39l1.35,-1.04l0.12,-0.24l-0.03,-1.85l-0.15,-0.25l-1.0,-0.58l1.68,-1.37l3.01,-0.59l3.25,-0.09l3.67,0.99l2.08,1.18l1.51,3.3l0.95,1.45l0.85,1.99l0.92,3.19ZM697.0,237.37l-1.95,1.12l-1.74,-0.68l-0.06,-1.9l1.08,-1.03l2.62,-0.7l1.23,0.05l0.37,0.65l-1.01,1.08l-0.54,1.4Z", "name": "China"}, "CM": {"path": "M453.76,278.92l-0.26,-0.11l-0.18,-0.02l-1.42,0.31l-1.56,-0.33l-1.17,0.16l-3.7,-0.05l0.3,-1.63l-0.04,-0.21l-0.98,-1.66l-0.15,-0.13l-1.03,-0.38l-0.46,-1.01l-0.13,-0.14l-0.48,-0.27l0.02,-0.46l0.62,-1.72l1.1,-2.25l0.54,-0.02l0.2,-0.09l1.41,-1.39l0.73,-0.03l1.32,0.97l0.31,0.03l1.72,-0.85l0.16,-0.2l0.22,-1.0l0.57,-1.03l0.36,-1.18l1.26,-0.98l0.1,-0.15l0.49,-1.7l0.48,-0.51l0.07,-0.13l0.35,-1.3l0.63,-1.54l2.06,-1.92l0.09,-0.17l0.12,-0.79l0.24,-0.41l-0.04,-0.36l-0.89,-0.91l0.04,-0.45l0.28,-0.06l0.85,1.39l0.16,1.59l-0.09,1.66l0.04,0.17l1.09,1.84l-0.86,-0.02l-0.72,0.17l-1.07,-0.24l-0.34,0.17l-0.54,1.19l0.06,0.34l1.48,1.47l1.06,0.44l0.32,0.94l0.73,1.6l-0.32,0.57l-1.23,2.49l-0.54,0.41l-0.12,0.21l-0.19,1.95l0.24,1.08l-0.18,0.67l0.07,0.28l1.13,1.25l0.24,0.93l0.92,1.29l1.1,0.8l0.1,1.01l0.26,0.73l-0.12,0.93l-1.65,-0.49l-2.02,-0.66l-3.19,-0.11Z", "name": "Cameroon"}, "CL": {"path": "M246.8,429.1l-1.14,0.78l-2.25,1.21l-0.16,0.23l-0.37,2.94l-0.75,0.06l-2.72,-1.07l-2.83,-2.34l-3.06,-1.9l-0.71,-1.92l0.67,-1.84l-0.02,-0.25l-1.22,-2.13l-0.31,-5.41l1.02,-2.95l2.59,-2.4l-0.13,-0.51l-3.32,-0.8l2.06,-2.4l0.07,-0.15l0.79,-4.77l2.44,0.95l0.4,-0.22l1.31,-6.31l-0.16,-0.33l-1.68,-0.8l-0.42,0.21l-0.72,3.47l-1.01,-0.27l0.74,-4.06l0.85,-5.46l1.12,-1.96l0.03,-0.22l-0.71,-2.82l-0.19,-2.94l0.76,-0.07l0.26,-0.2l1.53,-4.62l1.73,-4.52l1.07,-4.2l-0.56,-4.2l0.73,-2.2l0.01,-0.12l-0.29,-3.3l1.46,-3.34l0.45,-5.19l0.8,-5.52l0.78,-5.89l-0.18,-4.33l-0.49,-3.47l1.1,-0.56l0.13,-0.13l0.44,-0.88l0.9,1.29l0.32,1.8l0.1,0.18l1.16,0.97l-0.73,2.33l0.01,0.21l1.33,2.91l0.97,3.6l0.35,0.22l1.57,-0.31l0.16,0.34l-0.79,2.51l-2.61,1.25l-0.17,0.28l0.08,4.36l-0.48,0.79l0.01,0.33l0.6,0.84l-1.62,1.55l-1.67,2.6l-0.89,2.47l-0.02,0.13l0.23,2.56l-1.5,2.76l-0.03,0.21l1.15,4.8l0.11,0.17l0.54,0.42l-0.01,2.37l-1.4,2.7l-0.03,0.15l0.06,2.25l-1.8,1.78l-0.09,0.21l0.02,2.73l0.71,2.63l-1.33,0.94l-0.12,0.17l-0.67,2.64l-0.59,3.03l0.4,3.55l-0.84,0.51l-0.14,0.31l0.58,3.5l0.08,0.16l0.96,0.99l-0.7,1.08l0.11,0.43l1.04,0.55l0.19,0.8l-0.89,0.48l-0.16,0.31l0.26,1.77l-0.89,4.06l-1.31,2.67l-0.03,0.19l0.28,1.53l-0.73,1.88l-1.85,1.37l-0.12,0.26l0.22,3.46l0.06,0.16l0.88,1.19l0.28,0.12l1.32,-0.17l-0.04,2.13l0.04,0.15l1.04,1.95l0.24,0.16l5.94,0.44ZM248.79,430.71l0.0,7.41l0.3,0.3l2.67,0.0l1.01,0.06l-0.54,0.91l-1.99,1.01l-1.13,-0.1l-1.42,-0.27l-1.87,-1.06l-2.57,-0.49l-3.09,-1.9l-2.52,-1.83l-2.65,-2.93l0.93,0.32l3.54,2.29l3.32,1.23l0.34,-0.09l1.29,-1.57l0.83,-2.32l2.11,-1.28l1.43,0.32Z", "name": "Chile"}, "CA": {"path": "M280.14,145.66l-1.66,2.88l0.06,0.37l0.37,0.03l1.5,-1.01l1.17,0.49l-0.64,0.83l0.13,0.46l2.22,0.89l0.28,-0.03l1.02,-0.7l2.09,0.83l-0.69,2.1l0.37,0.38l1.43,-0.45l0.27,1.43l0.74,1.88l-0.95,2.5l-0.88,0.09l-1.34,-0.48l0.49,-2.34l-0.14,-0.32l-0.7,-0.4l-0.36,0.04l-2.81,2.66l-0.63,-0.05l1.2,-1.01l-0.1,-0.52l-2.4,-0.77l-2.79,0.18l-4.65,-0.09l-0.22,-0.54l1.37,-0.99l0.01,-0.48l-0.82,-0.65l1.91,-1.79l2.57,-5.17l1.49,-1.81l2.04,-1.07l0.63,0.08l-0.27,0.51l-1.33,2.07ZM193.92,74.85l-0.01,4.24l0.19,0.28l0.33,-0.07l3.14,-3.22l2.65,2.5l-0.71,3.04l0.06,0.26l2.42,2.88l0.46,0.0l2.66,-3.14l1.83,-3.74l0.03,-0.12l0.13,-4.53l3.23,0.31l3.63,0.64l3.18,2.08l0.13,1.91l-1.79,2.22l-0.0,0.37l1.69,2.2l-0.28,1.8l-4.74,2.84l-3.33,0.62l-2.5,-1.21l-0.41,0.17l-0.73,2.05l-2.39,3.44l-0.74,1.78l-2.78,2.61l-3.48,0.26l-0.17,0.07l-1.98,1.68l-0.1,0.21l-0.15,2.33l-2.68,0.45l-0.17,0.09l-3.1,3.2l-2.75,4.38l-0.99,3.06l-0.14,4.31l0.25,0.31l3.5,0.58l1.07,3.24l1.18,2.76l0.34,0.18l3.43,-0.69l4.55,1.52l2.45,1.32l1.76,1.65l0.12,0.07l3.11,0.96l2.63,1.46l0.13,0.04l4.12,0.2l2.41,0.3l-0.36,2.81l0.8,3.51l1.81,3.78l0.08,0.1l3.73,3.17l0.34,0.03l1.93,-1.08l0.13,-0.15l1.35,-3.44l0.01,-0.18l-1.31,-5.38l-0.08,-0.14l-1.46,-1.5l3.68,-1.51l2.84,-2.46l1.45,-2.55l0.04,-0.17l-0.2,-2.39l-0.04,-0.12l-1.7,-3.07l-2.9,-2.64l2.79,-3.66l0.05,-0.27l-1.08,-3.38l-0.8,-5.75l1.45,-0.75l4.18,1.03l2.6,0.38l0.18,-0.03l1.93,-0.95l2.18,1.23l3.01,2.18l0.73,1.42l0.25,0.16l4.18,0.27l-0.06,2.95l0.83,4.7l0.22,0.24l2.19,0.55l1.75,2.08l0.38,0.07l3.63,-2.03l0.11,-0.11l2.38,-4.06l1.36,-1.43l1.76,3.01l3.26,4.68l2.68,4.19l-0.94,2.09l0.12,0.38l3.31,1.98l2.23,1.98l0.13,0.07l3.94,0.89l1.48,1.02l0.96,2.82l0.22,0.2l1.85,0.43l0.88,1.13l0.17,3.53l-1.68,1.16l-1.76,1.14l-4.08,1.17l-0.11,0.06l-3.08,2.65l-4.11,0.52l-5.35,-0.69l-3.76,-0.02l-2.62,0.23l-0.2,0.1l-2.05,2.29l-3.13,1.41l-0.11,0.08l-3.6,4.24l-2.87,2.92l-0.05,0.36l0.33,0.14l2.13,-0.52l0.15,-0.08l3.98,-4.15l5.16,-2.63l3.58,-0.31l1.82,1.3l-2.09,1.91l-0.09,0.29l0.8,3.46l0.82,2.37l0.15,0.17l3.25,1.56l0.16,0.03l4.14,-0.45l0.21,-0.12l2.03,-2.86l0.11,1.46l0.13,0.22l1.26,0.88l-2.7,1.78l-5.51,1.83l-2.52,1.26l-2.75,2.16l-1.52,-0.18l-0.08,-2.16l4.19,-2.47l0.14,-0.34l-0.3,-0.22l-4.01,0.1l-2.66,0.36l-1.45,-1.56l0.0,-4.16l-0.11,-0.23l-1.11,-0.91l-0.28,-0.05l-1.5,0.48l-0.7,-0.7l-0.45,0.02l-1.91,2.39l-0.8,2.5l-0.82,1.31l-0.95,0.43l-0.77,0.15l-0.23,0.2l-0.18,0.56l-8.2,0.02l-0.13,0.03l-1.19,0.61l-2.95,2.45l-0.78,1.13l-4.6,0.01l-0.12,0.02l-1.13,0.48l-0.13,0.44l0.37,0.55l0.2,0.82l-0.01,0.09l-3.1,1.42l-2.63,0.5l-2.84,1.57l-0.47,0.0l-0.72,-0.4l-0.18,-0.27l0.03,-0.15l0.52,-1.0l1.2,-1.71l0.73,-1.8l0.02,-0.17l-1.03,-5.47l-0.15,-0.21l-2.35,-1.32l0.16,-0.29l-0.05,-0.35l-0.37,-0.38l-0.22,-0.09l-0.56,0.0l-0.35,-0.34l-0.11,-0.65l-0.46,-0.2l-0.39,0.26l-0.2,-0.03l-0.11,-0.33l-0.48,-0.25l-0.21,-0.71l-0.15,-0.18l-3.97,-2.07l-4.8,-2.39l-0.25,-0.01l-2.19,0.89l-0.72,0.03l-3.04,-0.82l-0.14,-0.0l-1.94,0.4l-2.4,-0.98l-2.56,-0.51l-1.7,-0.19l-0.62,-0.44l-0.42,-1.67l-0.3,-0.23l-0.85,0.02l-0.29,0.3l-0.01,0.95l-69.26,-0.01l-4.77,-3.14l-1.78,-1.41l-4.51,-1.38l-1.3,-2.73l0.34,-1.96l-0.17,-0.33l-3.06,-1.37l-0.41,-2.58l-0.11,-0.18l-2.92,-2.4l-0.05,-1.53l1.32,-1.59l0.07,-0.2l-0.07,-2.21l-0.16,-0.26l-4.19,-2.22l-2.52,-4.02l-1.56,-2.6l-0.08,-0.09l-2.28,-1.64l-1.65,-1.48l-1.31,-1.89l-0.38,-0.1l-2.51,1.21l-2.28,1.92l-2.03,-2.22l-1.85,-1.71l-2.44,-1.04l-2.28,-0.12l0.03,-37.72l4.27,0.98l4.0,2.13l2.61,0.4l0.24,-0.07l2.17,-1.81l2.92,-1.33l3.63,0.53l0.18,-0.03l3.72,-1.94l3.89,-1.06l1.6,1.72l0.37,0.06l1.87,-1.04l0.14,-0.19l0.48,-1.83l1.37,0.38l4.18,3.96l0.41,0.0l2.89,-2.62l0.28,2.79l0.37,0.26l3.08,-0.73l0.17,-0.12l0.85,-1.16l2.81,0.24l3.83,1.86l5.86,1.61l3.46,0.75l2.44,-0.26l2.89,1.89l-3.12,1.89l-0.14,0.31l0.24,0.24l4.53,0.92l6.84,-0.5l2.04,-0.71l2.54,2.44l0.39,0.02l2.72,-2.16l-0.01,-0.48l-2.26,-1.61l1.27,-1.16l2.94,-0.19l1.94,-0.42l1.89,0.97l2.49,2.32l0.24,0.08l2.71,-0.33l4.35,1.9l0.17,0.02l3.86,-0.67l3.62,0.1l0.31,-0.33l-0.26,-2.44l1.9,-0.65l3.58,1.36l-0.01,3.84l0.23,0.29l0.34,-0.17l1.51,-3.23l1.81,0.1l0.31,-0.22l1.13,-4.37l-0.08,-0.29l-2.68,-2.73l-2.83,-1.76l0.19,-4.73l2.77,-3.15l3.06,0.69l2.44,1.97l3.24,4.88l-2.05,2.02l0.15,0.51l4.41,0.85ZM265.85,150.7l-0.84,0.04l-3.15,-0.99l-1.77,-1.17l0.19,-0.06l3.17,0.79l2.39,1.27l0.01,0.12ZM249.41,3.71l6.68,0.49l5.34,0.79l4.34,1.6l-0.08,1.24l-5.91,2.56l-6.03,1.21l-2.36,1.38l-0.14,0.34l0.29,0.22l4.37,-0.02l-4.96,3.01l-4.06,1.64l-0.11,0.08l-4.21,4.62l-5.07,0.92l-0.12,0.05l-1.53,1.1l-7.5,0.59l-0.28,0.28l0.24,0.31l2.67,0.54l-1.04,0.6l-0.09,0.44l1.89,2.49l-2.11,1.66l-3.83,1.52l-0.15,0.13l-1.14,2.01l-3.41,1.55l-0.16,0.36l0.35,1.19l0.3,0.22l3.98,-0.19l0.03,0.78l-6.42,2.99l-6.44,-1.41l-7.41,0.79l-3.72,-0.62l-4.48,-0.26l-0.25,-2.0l4.37,-1.13l0.21,-0.38l-1.14,-3.55l1.13,-0.28l6.61,2.29l0.35,-0.12l-0.04,-0.37l-3.41,-3.45l-0.14,-0.08l-3.57,-0.92l1.62,-1.7l4.36,-1.3l0.2,-0.18l0.71,-1.94l-0.12,-0.36l-3.45,-2.15l-0.88,-2.43l6.36,0.23l1.94,0.61l0.23,-0.02l3.91,-2.1l0.15,-0.32l-0.26,-0.24l-5.69,-0.67l-8.69,0.37l-4.3,-1.92l-2.12,-2.39l-2.82,-1.68l-0.44,-1.65l3.41,-1.06l2.93,-0.2l4.91,-0.99l3.69,-2.28l2.93,0.31l2.64,1.68l0.42,-0.1l1.84,-3.23l3.17,-0.96l4.45,-0.69l7.56,-0.26l1.26,0.64l0.18,0.03l7.2,-1.06l10.81,0.8ZM203.94,57.59l0.01,0.32l1.97,2.97l0.51,-0.01l2.26,-3.75l6.05,-1.89l4.08,4.72l-0.36,2.95l0.38,0.33l4.95,-1.36l0.11,-0.05l2.23,-1.77l5.37,2.31l3.32,2.14l0.3,1.89l0.36,0.25l4.48,-1.01l2.49,2.8l0.14,0.09l5.99,1.78l2.09,1.74l2.18,3.83l-4.29,1.91l-0.01,0.54l5.9,2.83l3.95,0.94l3.54,3.84l0.2,0.1l3.58,0.25l-0.67,2.51l-4.18,4.54l-2.84,-1.61l-3.91,-3.95l-0.26,-0.09l-3.24,0.52l-0.25,0.26l-0.32,2.37l0.1,0.26l2.63,2.38l3.42,1.89l0.96,1.0l1.57,3.8l-0.74,2.43l-2.85,-0.96l-6.26,-3.15l-0.38,0.09l0.04,0.39l3.54,3.4l2.55,2.31l0.23,0.78l-6.26,-1.43l-5.33,-2.25l-2.73,-1.73l0.67,-0.86l-0.09,-0.45l-7.38,-4.01l-0.44,0.27l0.03,0.89l-6.85,0.61l-1.8,-1.17l1.43,-2.6l4.56,-0.07l5.15,-0.52l0.23,-0.45l-0.76,-1.34l0.8,-1.89l3.21,-4.06l0.05,-0.29l-0.72,-1.95l-0.97,-1.47l-0.11,-0.1l-3.84,-2.1l-4.53,-1.33l1.09,-0.75l0.05,-0.45l-2.65,-2.75l-0.18,-0.09l-2.12,-0.24l-1.91,-1.47l-0.39,0.02l-1.27,1.25l-4.4,0.56l-9.06,-0.99l-5.28,-1.31l-4.01,-0.67l-1.72,-1.31l2.32,-1.85l0.1,-0.33l-0.28,-0.2l-3.3,-0.02l-0.74,-4.36l1.86,-4.09l2.46,-1.88l5.74,-1.15l-1.5,2.55ZM261.28,159.28l0.19,0.14l1.82,0.42l1.66,-0.05l-0.66,0.68l-0.75,0.16l-3.0,-1.25l-0.46,-0.77l0.51,-0.52l0.68,1.19ZM230.87,84.48l-2.48,0.19l-0.52,-1.74l0.96,-2.17l2.03,-0.53l1.71,1.04l0.02,1.6l-0.22,0.46l-1.5,1.16ZM229.52,58.19l0.14,0.82l-4.99,-0.22l-2.73,0.63l-0.59,-0.23l-2.61,-2.4l0.08,-1.38l0.94,-0.25l5.61,0.51l4.14,2.54ZM222.12,105.0l-0.79,1.63l-0.75,-0.22l-0.52,-0.91l0.04,-0.09l0.84,-1.01l0.74,0.06l0.44,0.55ZM183.77,38.22l2.72,1.65l0.16,0.04l4.83,-0.01l1.92,1.52l-0.51,1.75l0.18,0.36l2.84,1.14l1.56,1.19l0.16,0.06l3.37,0.22l3.65,0.42l4.07,-1.1l5.05,-0.43l3.96,0.35l2.53,1.8l0.48,1.79l-1.37,1.16l-3.6,1.03l-3.22,-0.59l-7.17,0.76l-5.1,0.09l-4.0,-0.6l-6.48,-1.56l-0.81,-2.57l-0.3,-2.49l-0.1,-0.19l-2.51,-2.25l-0.16,-0.07l-5.12,-0.63l-2.61,-1.45l0.75,-1.71l4.88,0.32ZM207.46,91.26l0.42,1.62l0.42,0.19l1.12,-0.55l1.35,0.99l2.74,1.39l2.73,1.2l0.2,1.74l0.35,0.26l1.72,-0.29l1.31,0.97l-1.72,0.96l-3.68,-0.9l-1.34,-1.71l-0.43,-0.04l-2.46,2.1l-3.23,1.85l-0.74,-1.98l-0.31,-0.19l-2.47,0.28l1.49,-1.34l0.1,-0.19l0.32,-3.15l0.79,-3.45l1.34,0.25ZM215.59,102.66l-2.73,2.0l-1.49,-0.08l-0.37,-0.7l1.61,-1.56l3.0,0.03l-0.02,0.3ZM202.79,24.07l0.11,0.12l2.54,1.53l-3.01,1.47l-4.55,4.07l-4.3,0.38l-5.07,-0.68l-2.51,-2.09l0.03,-1.72l1.86,-1.4l0.1,-0.34l-0.29,-0.2l-4.49,0.04l-2.63,-1.79l-1.45,-2.36l1.61,-2.38l1.65,-1.69l2.47,-0.4l0.19,-0.48l-0.72,-0.89l5.1,-0.26l3.1,3.05l0.13,0.07l4.21,1.25l3.99,1.06l1.92,3.65ZM187.5,59.3l-0.15,0.1l-2.59,3.4l-2.5,-0.15l-1.47,-3.92l0.04,-2.24l1.22,-1.92l2.34,-1.26l5.11,0.17l4.28,1.06l-3.36,3.86l-2.9,0.9ZM186.19,48.8l-1.15,1.63l-3.42,-0.35l-2.68,-1.15l1.11,-1.88l3.34,-1.27l2.01,1.63l0.79,1.38ZM185.78,35.41l-0.95,0.13l-4.48,-0.33l-0.4,-0.91l4.5,0.07l1.45,0.82l-0.1,0.21ZM180.76,32.56l-3.43,1.03l-1.85,-1.14l-1.01,-1.92l-0.16,-1.87l2.87,0.2l1.39,0.35l2.75,1.75l-0.55,1.6ZM181.03,76.32l-1.21,1.2l-3.19,-1.26l-0.18,-0.01l-1.92,0.45l-2.88,-1.67l1.84,-1.16l1.6,-1.77l2.45,1.17l1.45,0.77l2.05,2.28ZM169.72,54.76l2.83,0.97l0.14,0.01l4.25,-0.58l0.47,1.01l-2.19,2.16l0.07,0.48l3.61,1.95l-0.41,3.84l-3.87,1.68l-2.23,-0.36l-1.73,-1.75l-6.07,-3.53l0.03,-1.01l4.79,0.55l0.3,-0.16l-0.04,-0.34l-2.55,-2.89l2.59,-2.05ZM174.44,40.56l1.49,1.87l0.07,2.48l-1.07,3.52l-3.87,0.48l-2.41,-0.72l0.05,-2.72l-0.33,-0.3l-3.79,0.36l-0.13,-3.31l2.36,0.14l0.15,-0.03l3.7,-1.74l3.44,0.29l0.31,-0.22l0.03,-0.12ZM170.14,31.5l0.75,1.74l-3.52,-0.52l-4.19,-1.77l-4.65,-0.17l1.65,-1.11l-0.05,-0.52l-2.86,-1.26l-0.13,-1.58l4.52,0.7l6.66,1.99l1.84,2.5ZM134.64,58.08l-1.08,1.93l0.34,0.44l5.44,-1.41l3.37,2.32l0.37,-0.02l2.66,-2.28l2.03,1.38l2.01,4.53l0.53,0.04l1.26,-1.93l0.03,-0.27l-1.67,-4.55l1.82,-0.58l2.36,0.73l2.69,1.84l1.53,4.46l0.77,3.24l0.15,0.19l4.22,2.26l4.32,2.04l-0.21,1.51l-3.87,0.34l-0.19,0.5l1.45,1.54l-0.65,1.23l-4.3,-0.65l-4.4,-1.19l-2.97,0.28l-4.67,1.48l-6.31,0.65l-4.27,0.39l-1.26,-1.91l-0.15,-0.12l-3.42,-1.2l-0.16,-0.01l-2.05,0.45l-2.66,-3.02l1.2,-0.34l3.82,-0.76l3.58,0.19l3.27,-0.78l0.23,-0.29l-0.24,-0.29l-4.84,-1.06l-5.42,0.35l-3.4,-0.09l-0.97,-1.22l5.39,-1.7l0.21,-0.33l-0.3,-0.25l-3.82,0.06l-3.95,-1.1l1.88,-3.13l1.68,-1.81l6.54,-2.84l2.11,0.77ZM158.85,56.58l-1.82,2.62l-3.38,-2.9l0.49,-0.39l3.17,-0.18l1.54,0.86ZM149.71,42.7l1.0,1.87l0.37,0.14l2.17,-0.83l2.33,0.2l0.38,2.16l-1.38,2.17l-8.33,0.76l-6.34,2.15l-3.51,0.1l-0.22,-1.13l4.98,-2.12l0.17,-0.34l-0.31,-0.23l-11.27,0.6l-3.04,-0.78l3.14,-4.57l2.2,-1.35l6.87,1.7l4.4,3.0l0.14,0.05l4.37,0.39l0.27,-0.48l-3.41,-4.68l1.96,-1.62l2.28,0.53l0.79,2.32ZM145.44,29.83l-2.18,0.77l-3.79,-0.0l0.02,-0.31l2.34,-1.5l1.2,0.23l2.42,0.83ZM144.83,34.5l-4.44,1.46l-3.18,-1.48l1.6,-1.36l3.51,-0.53l3.1,0.75l-0.6,1.16ZM119.02,65.87l-6.17,2.07l-1.19,-1.82l-0.13,-0.11l-5.48,-2.32l0.92,-1.7l1.73,-3.44l2.16,-3.15l-0.02,-0.36l-2.09,-2.56l7.84,-0.71l3.59,1.02l6.32,0.27l2.35,1.37l2.25,1.71l-2.68,1.04l-6.21,3.41l-3.1,3.28l-0.08,0.21l0.0,1.81ZM129.66,35.4l-0.3,3.55l-1.77,1.67l-2.34,0.27l-4.62,2.2l-3.89,0.76l-2.83,-0.93l3.85,-3.52l5.04,-3.36l3.75,0.07l3.11,-0.7ZM111.24,152.74l-0.82,0.29l-3.92,-1.39l-0.7,-1.06l-0.12,-0.1l-2.15,-1.09l-0.41,-0.84l-0.2,-0.16l-2.44,-0.56l-0.84,-1.56l0.1,-0.36l2.34,0.64l1.53,0.5l2.28,0.34l0.78,1.04l1.24,1.55l0.09,0.08l2.42,1.3l0.81,1.39ZM88.54,134.82l0.14,0.02l2.0,-0.23l-0.67,3.48l0.06,0.24l1.78,2.22l-0.24,-0.0l-1.4,-1.42l-0.91,-1.53l-1.26,-1.08l-0.42,-1.35l0.09,-0.66l0.82,0.31Z", "name": "Canada"}, "CG": {"path": "M453.66,296.61l-0.9,-0.82l-0.35,-0.04l-0.83,0.48l-0.77,0.83l-1.65,-2.13l1.66,-1.2l0.08,-0.39l-0.81,-1.43l0.59,-0.43l1.62,-0.29l0.24,-0.24l0.1,-0.58l0.94,0.84l0.19,0.08l2.21,0.11l0.27,-0.14l0.81,-1.29l0.32,-1.76l-0.27,-1.96l-0.06,-0.15l-1.08,-1.35l1.02,-2.74l-0.09,-0.34l-0.62,-0.5l-0.22,-0.06l-1.66,0.18l-0.55,-1.03l0.12,-0.73l2.85,0.09l1.98,0.65l2.0,0.59l0.38,-0.25l0.17,-1.3l1.26,-2.24l1.34,-1.19l1.54,0.38l1.35,0.12l-0.11,1.15l-0.74,1.34l-0.5,1.61l-0.31,2.22l0.12,1.41l-0.4,0.9l-0.06,0.88l-0.24,0.67l-1.57,1.15l-1.24,1.41l-1.09,2.43l-0.03,0.13l0.08,1.95l-0.55,0.69l-1.46,1.23l-1.32,1.41l-0.61,-0.29l-0.13,-0.57l-0.29,-0.23l-1.36,-0.02l-0.23,0.1l-0.72,0.81l-0.41,-0.16Z", "name": "Republic of the Congo"}, "CF": {"path": "M459.41,266.56l1.9,-0.17l0.22,-0.12l0.36,-0.5l0.14,0.02l0.55,0.51l0.29,0.07l3.15,-0.96l0.12,-0.07l1.05,-0.97l1.29,-0.87l0.12,-0.33l-0.17,-0.61l0.38,-0.12l2.36,0.15l0.15,-0.03l2.36,-1.17l0.12,-0.1l1.78,-2.72l1.18,-0.96l1.23,-0.34l0.21,0.79l0.07,0.13l1.37,1.5l0.01,0.86l-0.39,1.0l-0.01,0.17l0.16,0.78l0.1,0.17l0.91,0.76l1.89,1.09l1.24,0.92l0.02,0.67l0.12,0.23l1.67,1.3l0.99,1.03l0.61,1.46l0.14,0.15l1.79,0.95l0.2,0.4l-0.44,0.14l-1.54,-0.06l-1.98,-0.26l-0.93,0.22l-0.19,0.14l-0.3,0.48l-0.57,0.05l-0.91,-0.49l-0.26,-0.01l-2.7,1.21l-1.04,-0.23l-0.21,0.03l-0.34,0.19l-0.12,0.13l-0.64,1.3l-1.67,-0.43l-1.77,-0.24l-1.58,-0.91l-2.06,-0.85l-0.27,0.02l-1.42,0.88l-0.97,1.27l-0.06,0.14l-0.19,1.46l-1.3,-0.11l-1.67,-0.42l-0.27,0.07l-1.55,1.41l-0.99,1.76l-0.14,-1.18l-0.13,-0.22l-1.1,-0.78l-0.86,-1.2l-0.2,-0.84l-0.07,-0.13l-1.07,-1.19l0.16,-0.59l0.0,-0.15l-0.24,-1.01l0.18,-1.77l0.5,-0.38l0.09,-0.11l1.18,-2.4Z", "name": "Central African Republic"}, "CD": {"path": "M497.85,276.25l-0.14,2.77l0.2,0.3l0.57,0.19l-0.47,0.52l-1.0,0.71l-0.96,1.31l-0.56,1.22l-0.16,2.04l-0.54,0.89l-0.04,0.15l-0.02,1.76l-0.63,0.61l-0.09,0.2l-0.08,1.33l-0.2,0.11l-0.15,0.21l-0.23,1.37l0.03,0.2l0.6,1.08l0.16,2.96l0.44,2.29l-0.24,1.25l0.01,0.15l0.5,1.46l0.07,0.12l1.41,1.37l1.09,2.56l-0.51,-0.11l-3.45,0.45l-0.67,0.3l-0.15,0.15l-0.71,1.61l0.01,0.26l0.52,1.03l-0.43,2.9l-0.31,2.55l0.13,0.29l0.7,0.46l1.75,0.99l0.31,-0.01l0.26,-0.17l0.15,1.9l-1.44,-0.02l-0.94,-1.28l-0.94,-1.1l-0.17,-0.1l-1.76,-0.33l-0.5,-1.18l-0.42,-0.15l-1.44,0.75l-1.79,-0.32l-0.77,-1.05l-0.2,-0.12l-1.59,-0.23l-0.97,0.04l-0.1,-0.53l-0.27,-0.25l-0.86,-0.06l-1.13,-0.15l-1.62,0.37l-1.04,-0.06l-0.32,0.09l0.11,-2.56l-0.08,-0.21l-0.77,-0.87l-0.17,-1.41l0.36,-1.47l-0.03,-0.21l-0.48,-0.91l-0.04,-1.52l-0.3,-0.29l-2.65,0.02l0.13,-0.53l-0.29,-0.37l-1.28,0.01l-0.28,0.21l-0.07,0.24l-1.35,0.09l-0.26,0.18l-0.62,1.45l-0.25,0.42l-1.17,-0.3l-0.19,0.01l-0.79,0.34l-1.44,0.18l-1.41,-1.96l-0.7,-1.47l-0.61,-1.86l-0.28,-0.21l-7.39,-0.03l-0.92,0.3l-0.78,-0.03l-0.78,0.25l-0.11,-0.25l0.35,-0.15l0.18,-0.26l0.07,-1.02l0.33,-0.52l0.72,-0.42l0.52,0.2l0.33,-0.08l0.76,-0.86l0.99,0.02l0.11,0.48l0.16,0.2l0.94,0.44l0.35,-0.07l1.46,-1.56l1.44,-1.21l0.68,-0.85l0.06,-0.2l-0.08,-1.99l1.04,-2.33l1.1,-1.23l1.62,-1.19l0.11,-0.14l0.29,-0.8l0.08,-0.94l0.38,-0.82l0.03,-0.16l-0.13,-1.38l0.3,-2.16l0.47,-1.51l0.73,-1.31l0.04,-0.12l0.15,-1.51l0.21,-1.66l0.89,-1.16l1.16,-0.7l1.9,0.79l1.69,0.95l1.81,0.24l1.85,0.48l0.35,-0.16l0.71,-1.43l0.16,-0.09l1.03,0.23l0.19,-0.02l2.65,-1.19l0.86,0.46l0.17,0.03l0.81,-0.08l0.23,-0.14l0.31,-0.5l0.75,-0.17l1.83,0.26l1.64,0.06l0.72,-0.21l1.39,1.9l0.16,0.11l1.12,0.3l0.24,-0.04l0.58,-0.36l1.05,0.15l0.15,-0.02l1.15,-0.44l0.47,0.84l0.08,0.09l2.08,1.57Z", "name": "Democratic Republic of the Congo"}, "CZ": {"path": "M463.29,152.22l-0.88,-0.47l-0.18,-0.03l-1.08,0.15l-1.86,-0.94l-0.21,-0.02l-0.88,0.24l-0.13,0.07l-1.25,1.17l-1.63,-0.91l-1.38,-1.36l-1.22,-0.75l-0.24,-1.24l-0.33,-0.75l1.53,-0.6l0.98,-0.84l1.74,-0.62l0.11,-0.07l0.47,-0.47l0.46,0.27l0.24,0.03l0.96,-0.3l1.06,0.95l0.15,0.07l1.57,0.24l-0.1,0.6l0.16,0.32l1.36,0.68l0.41,-0.15l0.28,-0.62l1.29,0.28l0.19,0.84l0.26,0.23l1.73,0.18l0.74,1.02l-0.17,0.0l-0.25,0.13l-0.32,0.49l-0.46,0.11l-0.22,0.23l-0.13,0.57l-0.32,0.1l-0.2,0.22l-0.03,0.14l-0.65,0.25l-1.05,-0.05l-0.28,0.17l-0.22,0.43Z", "name": "Czech Republic"}, "CY": {"path": "M505.03,193.75l-1.51,0.68l-1.0,-0.3l-0.32,-0.63l0.69,-0.06l0.41,0.13l0.19,-0.0l0.62,-0.22l0.31,0.02l0.06,0.22l0.49,0.17l0.06,-0.01Z", "name": "Cyprus"}, "CR": {"path": "M213.0,263.84l-0.98,-0.4l-0.3,-0.31l0.16,-0.24l0.05,-0.21l-0.09,-0.56l-0.1,-0.18l-0.76,-0.65l-0.99,-0.5l-0.74,-0.28l-0.13,-0.58l-0.12,-0.18l-0.66,-0.45l-0.34,-0.0l-0.13,0.31l0.13,0.59l-0.17,0.21l-0.34,-0.42l-0.14,-0.1l-0.7,-0.22l-0.23,-0.34l0.01,-0.62l0.31,-0.74l-0.14,-0.38l-0.3,-0.15l0.47,-0.4l1.48,0.6l0.26,-0.02l0.47,-0.27l0.58,0.15l0.35,0.44l0.17,0.11l0.74,0.17l0.27,-0.07l0.3,-0.27l0.52,1.09l0.97,1.02l0.77,0.71l-0.41,0.1l-0.23,0.3l0.01,1.02l0.12,0.24l0.2,0.14l-0.07,0.05l-0.11,0.3l0.08,0.37l-0.23,0.63Z", "name": "Costa Rica"}, "CU": {"path": "M215.01,226.09l2.08,0.18l1.94,0.03l2.24,0.86l0.95,0.92l0.25,0.08l2.22,-0.28l0.79,0.55l3.68,2.81l0.19,0.06l0.77,-0.03l1.18,0.42l-0.12,0.47l0.27,0.37l1.78,0.1l1.59,0.9l-0.11,0.22l-1.5,0.3l-1.64,0.13l-1.75,-0.2l-2.69,0.19l1.0,-0.86l-0.03,-0.48l-1.02,-0.68l-0.13,-0.05l-1.52,-0.16l-0.74,-0.64l-0.57,-1.42l-0.3,-0.19l-1.36,0.1l-2.23,-0.67l-0.71,-0.52l-0.14,-0.06l-3.2,-0.4l-0.42,-0.25l0.56,-0.39l0.12,-0.33l-0.27,-0.22l-2.46,-0.13l-0.2,0.06l-1.72,1.31l-0.94,0.03l-0.25,0.15l-0.29,0.53l-1.04,0.24l-0.29,-0.07l0.7,-0.43l0.1,-0.11l0.5,-0.87l1.04,-0.54l1.23,-0.49l1.86,-0.25l0.62,-0.28Z", "name": "Cuba"}, "SZ": {"path": "M500.95,353.41l-0.41,0.97l-1.16,0.23l-1.29,-1.26l-0.02,-0.71l0.63,-0.93l0.23,-0.7l0.47,-0.12l1.04,0.4l0.32,1.05l0.2,1.08Z", "name": "Swaziland"}, "SY": {"path": "M510.84,199.83l0.09,-0.11l0.07,-0.2l-0.04,-1.08l0.56,-1.4l1.3,-1.01l0.1,-0.34l-0.41,-1.11l-0.24,-0.19l-0.89,-0.11l-0.2,-1.84l0.55,-1.05l1.3,-1.22l0.09,-0.19l0.09,-1.09l0.39,0.27l0.25,0.04l2.66,-0.77l1.35,0.52l2.06,-0.01l2.93,-1.08l1.35,0.04l2.14,-0.34l-0.83,1.16l-1.31,0.68l-0.16,0.3l0.23,2.03l-0.9,3.25l-5.43,2.87l-4.79,2.91l-2.32,-0.92Z", "name": "Syria"}, "KG": {"path": "M599.04,172.15l0.38,-0.9l1.43,-0.37l4.04,1.02l0.37,-0.23l0.36,-1.64l1.17,-0.52l3.45,1.24l0.2,-0.0l0.86,-0.31l4.09,0.08l3.61,0.31l1.18,1.02l0.11,0.06l1.19,0.34l-0.13,0.26l-3.84,1.58l-0.13,0.1l-0.81,1.08l-3.08,0.34l-0.24,0.16l-0.85,1.7l-2.43,-0.37l-0.14,0.01l-1.79,0.61l-2.39,1.4l-0.12,0.39l0.25,0.49l-0.48,0.45l-4.57,0.43l-3.04,-0.94l-2.45,0.18l0.14,-1.02l2.42,0.44l0.27,-0.08l0.81,-0.81l1.76,0.27l0.21,-0.05l3.21,-2.14l-0.03,-0.51l-2.97,-1.57l-0.26,-0.01l-1.64,0.69l-1.38,-0.84l1.81,-1.67l-0.09,-0.5l-0.46,-0.18Z", "name": "Kyrgyzstan"}, "KE": {"path": "M523.3,287.04l0.06,0.17l1.29,1.8l-1.46,0.84l-0.11,0.11l-0.55,0.93l-0.81,0.16l-0.24,0.24l-0.34,1.69l-0.81,1.06l-0.46,1.58l-0.76,0.63l-3.3,-2.3l-0.16,-1.32l-0.15,-0.23l-9.35,-5.28l-0.02,-2.4l1.92,-2.63l0.91,-1.83l0.01,-0.24l-1.09,-2.86l-0.29,-1.24l-1.09,-1.63l2.93,-2.85l0.92,0.3l0.0,1.19l0.09,0.22l0.86,0.83l0.21,0.08l1.65,0.0l3.09,2.08l0.16,0.05l0.79,0.03l0.54,-0.06l0.58,0.28l1.67,0.2l0.28,-0.12l0.69,-0.98l2.04,-0.94l0.86,0.73l0.19,0.07l1.1,0.0l-1.82,2.36l-0.06,0.18l0.03,9.12Z", "name": "Kenya"}, "SS": {"path": "M505.7,261.39l0.02,1.64l-0.27,0.55l-1.15,0.05l-0.24,0.15l-0.85,1.44l0.22,0.45l1.44,0.17l1.15,1.12l0.42,0.95l0.14,0.15l1.06,0.54l1.33,2.45l-3.06,2.98l-1.44,1.08l-1.75,0.01l-1.92,0.56l-1.5,-0.53l-0.27,0.03l-0.85,0.57l-1.98,-1.5l-0.56,-1.02l-0.37,-0.13l-1.32,0.5l-1.08,-0.15l-0.2,0.04l-0.56,0.35l-0.9,-0.24l-1.44,-1.97l-0.39,-0.77l-0.13,-0.13l-1.78,-0.94l-0.65,-1.5l-1.08,-1.12l-1.57,-1.22l-0.02,-0.68l-0.12,-0.23l-1.37,-1.02l-1.17,-0.68l0.2,-0.08l0.86,-0.48l0.14,-0.18l0.63,-2.22l0.6,-1.02l1.47,-0.28l0.35,0.56l1.29,1.48l0.14,0.09l0.69,0.22l0.22,-0.02l0.83,-0.4l1.58,0.08l0.26,0.39l0.25,0.13l2.49,0.0l0.3,-0.25l0.06,-0.35l1.13,-0.42l0.18,-0.18l0.22,-0.63l0.68,-0.38l1.95,1.37l0.23,0.05l1.29,-0.26l0.19,-0.12l1.23,-1.8l1.36,-1.37l0.08,-0.25l-0.21,-1.52l-0.06,-0.15l-0.25,-0.3l0.94,-0.08l0.26,-0.21l0.1,-0.32l0.6,0.09l-0.25,1.67l0.3,1.83l0.11,0.19l1.22,0.94l0.25,0.73l-0.04,1.2l0.26,0.31l0.09,0.01Z", "name": "South Sudan"}, "SR": {"path": "M278.1,270.26l2.71,0.45l0.31,-0.14l0.19,-0.32l1.82,-0.16l2.25,0.56l-1.09,1.81l-0.04,0.19l0.2,1.72l0.05,0.13l0.9,1.35l-0.39,0.99l-0.21,1.09l-0.48,0.8l-1.2,-0.44l-0.17,-0.01l-1.12,0.24l-0.95,-0.21l-0.35,0.2l-0.25,0.73l0.05,0.29l0.3,0.35l-0.06,0.13l-1.01,-0.15l-1.42,-2.03l-0.32,-1.36l-0.29,-0.23l-0.63,-0.0l-0.95,-1.56l0.41,-1.16l0.01,-0.17l-0.08,-0.35l1.29,-0.56l0.18,-0.22l0.35,-1.97Z", "name": "Suriname"}, "KH": {"path": "M680.28,257.89l-0.93,-1.2l-1.24,-2.56l-0.56,-2.9l1.45,-1.92l3.07,-0.46l2.26,0.35l2.03,0.98l0.38,-0.11l1.0,-1.55l1.86,0.79l0.52,1.51l-0.28,2.82l-4.05,1.88l-0.12,0.45l0.79,1.1l-2.2,0.17l-2.08,0.98l-1.89,-0.33Z", "name": "Cambodia"}, "SV": {"path": "M197.02,248.89l0.18,-0.05l0.59,0.17l0.55,0.51l0.64,0.35l0.06,0.22l0.37,0.21l1.01,-0.28l0.38,0.13l0.16,0.13l-0.14,0.81l-0.18,0.38l-1.22,-0.03l-0.84,-0.23l-1.11,-0.52l-1.31,-0.15l-0.49,-0.38l0.02,-0.08l0.76,-0.57l0.46,-0.27l0.11,-0.35Z", "name": "El Salvador"}, "SK": {"path": "M468.01,150.02l0.05,0.07l0.36,0.1l0.85,-0.37l1.12,1.02l0.33,0.05l1.38,-0.65l1.07,0.3l0.16,0.0l1.69,-0.43l1.95,1.02l-0.51,0.64l-0.45,1.2l-0.32,0.2l-2.55,-0.93l-0.17,-0.01l-0.82,0.2l-0.17,0.11l-0.53,0.68l-0.94,0.32l-0.14,-0.11l-0.29,-0.04l-1.18,0.48l-0.95,0.09l-0.26,0.21l-0.15,0.47l-1.84,0.34l-0.82,-0.31l-1.14,-0.73l-0.2,-0.89l0.42,-0.84l0.91,0.05l0.12,-0.02l0.86,-0.33l0.18,-0.21l0.03,-0.13l0.32,-0.1l0.2,-0.22l0.12,-0.55l0.39,-0.1l0.18,-0.13l0.3,-0.45l0.43,-0.0Z", "name": "Slovakia"}, "KR": {"path": "M737.31,185.72l0.84,0.08l0.27,-0.12l0.89,-1.2l1.63,-0.13l1.1,-0.2l0.21,-0.16l0.12,-0.24l1.86,2.95l0.59,1.79l0.02,3.17l-0.84,1.38l-2.23,0.55l-1.95,1.14l-1.91,0.21l-0.22,-1.21l0.45,-2.07l-0.01,-0.17l-0.99,-2.67l1.54,-0.4l0.17,-0.46l-1.55,-2.24Z", "name": "South Korea"}, "SI": {"path": "M455.77,159.59l1.79,0.21l0.18,-0.04l1.2,-0.68l2.12,-0.08l0.21,-0.1l0.38,-0.42l0.1,0.01l0.28,0.62l-1.71,0.71l-0.18,0.22l-0.21,1.1l-0.71,0.26l-0.2,0.28l0.01,0.55l-0.59,-0.04l-0.79,-0.47l-0.38,0.06l-0.36,0.41l-0.84,-0.05l0.05,-0.15l-0.56,-1.24l0.21,-1.17Z", "name": "Slovenia"}, "KP": {"path": "M747.76,172.02l-0.23,-0.04l-0.26,0.08l-1.09,1.02l-0.78,1.06l-0.06,0.19l0.09,1.95l-1.12,0.57l-0.53,0.58l-0.88,0.82l-1.69,0.51l-1.09,0.79l-0.12,0.22l-0.07,1.17l-0.22,0.25l0.09,0.47l0.96,0.46l1.22,1.1l-0.19,0.37l-0.91,0.16l-1.75,0.14l-0.22,0.12l-0.87,1.18l-0.95,-0.09l-0.3,0.18l-0.97,-0.44l-0.39,0.13l-0.25,0.44l-0.29,0.09l-0.03,-0.2l-0.18,-0.23l-0.62,-0.25l-0.43,-0.29l0.52,-0.97l0.52,-0.3l0.13,-0.38l-0.18,-0.42l0.59,-1.47l0.01,-0.21l-0.16,-0.48l-0.22,-0.2l-1.41,-0.31l-0.82,-0.55l1.74,-1.62l2.73,-1.58l1.62,-1.96l0.96,0.76l0.17,0.06l2.17,0.11l0.31,-0.37l-0.32,-1.31l3.61,-1.21l0.16,-0.13l0.79,-1.34l1.25,1.38Z", "name": "North Korea"}, "SO": {"path": "M543.8,256.48l0.61,-0.05l1.14,-0.37l1.31,-0.25l0.12,-0.05l1.11,-0.81l0.57,-0.0l0.03,0.39l-0.23,1.49l0.01,1.25l-0.52,0.92l-0.7,2.71l-1.19,2.79l-1.54,3.2l-2.13,3.66l-2.12,2.79l-2.92,3.39l-2.47,2.0l-3.76,2.5l-2.33,1.9l-2.77,3.06l-0.61,1.35l-0.28,0.29l-1.22,-1.69l-0.03,-8.92l2.12,-2.76l0.59,-0.68l1.47,-0.04l0.18,-0.06l2.15,-1.71l3.16,-0.11l0.21,-0.09l7.08,-7.55l1.76,-2.12l1.14,-1.57l0.06,-0.18l0.01,-4.67Z", "name": "Somalia"}, "SN": {"path": "M379.28,250.34l-0.95,-1.82l-0.09,-0.1l-0.83,-0.6l0.62,-0.28l0.13,-0.11l1.21,-1.8l0.6,-1.31l0.71,-0.68l1.09,0.2l0.18,-0.02l1.17,-0.53l1.25,-0.03l1.17,0.73l1.59,0.65l1.47,1.83l1.59,1.7l0.12,1.56l0.49,1.46l0.1,0.14l0.85,0.65l0.18,0.82l-0.08,0.57l-0.13,0.05l-1.29,-0.19l-0.29,0.13l-0.11,0.16l-0.35,0.04l-1.83,-0.61l-5.84,-0.13l-0.12,0.02l-0.6,0.26l-0.87,-0.06l-1.01,0.32l-0.26,-1.26l1.9,0.04l0.16,-0.04l0.54,-0.32l0.37,-0.02l0.15,-0.05l0.78,-0.5l0.92,0.46l0.12,0.03l1.09,0.04l0.15,-0.03l1.08,-0.57l0.11,-0.44l-0.51,-0.74l-0.39,-0.1l-0.76,0.39l-0.62,-0.01l-0.92,-0.58l-0.18,-0.05l-0.79,0.04l-0.2,0.09l-0.48,0.51l-2.41,0.06Z", "name": "Senegal"}, "SL": {"path": "M392.19,267.53l-0.44,-0.12l-1.73,-0.97l-1.24,-1.28l-0.4,-0.84l-0.27,-1.65l1.21,-1.0l0.09,-0.12l0.27,-0.66l0.32,-0.41l0.56,-0.05l0.16,-0.07l0.5,-0.41l1.75,0.0l0.59,0.77l0.49,0.96l-0.07,0.64l0.04,0.19l0.36,0.58l-0.03,0.84l0.24,0.2l-0.64,0.65l-1.13,1.37l-0.06,0.14l-0.12,0.66l-0.43,0.58Z", "name": "Sierra Leone"}, "SB": {"path": "M826.74,311.51l0.23,0.29l-0.95,-0.01l-0.39,-0.63l0.65,0.27l0.45,0.09ZM825.01,308.52l-1.18,-1.39l-0.37,-1.06l0.24,0.0l0.82,1.84l0.49,0.6ZM823.21,309.42l-0.44,0.03l-1.43,-0.24l-0.32,-0.24l0.08,-0.5l1.29,0.31l0.72,0.47l0.11,0.18ZM817.9,303.81l2.59,1.44l0.3,0.41l-1.21,-0.66l-1.34,-0.89l-0.34,-0.3ZM813.77,302.4l0.48,0.34l0.1,0.08l-0.33,-0.17l-0.25,-0.25Z", "name": "Solomon Islands"}, "SA": {"path": "M528.24,243.1l-0.2,-0.69l-0.07,-0.12l-0.69,-0.71l-0.18,-0.94l-0.12,-0.19l-1.24,-0.89l-1.28,-2.09l-0.7,-2.08l-0.07,-0.11l-1.73,-1.79l-0.11,-0.07l-1.03,-0.39l-1.57,-2.36l-0.27,-1.72l0.1,-1.53l-0.03,-0.15l-1.44,-2.93l-1.25,-1.13l-1.34,-0.56l-0.72,-1.33l0.11,-0.49l-0.02,-0.2l-0.7,-1.38l-0.08,-0.1l-0.68,-0.56l-0.97,-1.98l-2.8,-4.03l-0.25,-0.13l-0.85,0.01l0.29,-1.11l0.12,-0.97l0.23,-0.81l2.52,0.39l0.23,-0.06l1.08,-0.84l0.6,-0.95l1.78,-0.35l0.22,-0.17l0.37,-0.83l0.74,-0.42l0.08,-0.46l-2.17,-2.4l4.55,-1.26l0.12,-0.06l0.36,-0.32l2.83,0.71l3.67,1.91l7.04,5.5l0.17,0.06l4.64,0.22l2.06,0.24l0.55,1.15l0.28,0.17l1.56,-0.06l0.9,2.15l0.14,0.15l1.14,0.57l0.39,0.85l0.11,0.13l1.59,1.06l0.12,0.91l-0.23,0.83l0.01,0.18l0.32,0.9l0.07,0.11l0.68,0.7l0.33,0.86l0.37,0.65l0.09,0.1l0.76,0.53l0.25,0.04l0.45,-0.12l0.35,0.75l0.1,0.63l0.96,2.68l0.23,0.19l7.53,1.33l0.27,-0.09l0.24,-0.26l0.87,1.41l-1.58,4.96l-7.34,2.54l-7.28,1.02l-2.34,1.17l-0.12,0.1l-1.74,2.63l-0.86,0.32l-0.49,-0.68l-0.28,-0.12l-0.92,0.12l-2.32,-0.25l-0.41,-0.23l-0.15,-0.04l-2.89,0.06l-0.63,0.2l-0.91,-0.59l-0.43,0.11l-0.66,1.27l-0.03,0.21l0.21,0.89l-0.6,0.45Z", "name": "Saudi Arabia"}, "SE": {"path": "M476.42,90.44l-0.15,0.1l-2.43,2.86l-0.07,0.24l0.36,2.31l-3.84,3.1l-4.83,3.38l-0.11,0.15l-1.82,5.45l0.03,0.26l1.78,2.68l2.27,1.99l-2.13,3.88l-2.49,0.82l-0.2,0.24l-0.95,6.05l-1.32,3.09l-2.82,-0.32l-0.3,0.16l-1.34,2.64l-2.48,0.14l-0.76,-3.15l-2.09,-4.04l-1.85,-5.01l1.03,-1.98l2.06,-2.53l0.06,-0.13l0.83,-4.45l-0.06,-0.25l-1.54,-1.86l-0.15,-5.0l1.52,-3.48l2.28,0.06l0.27,-0.16l0.87,-1.59l-0.01,-0.31l-0.8,-1.21l3.79,-5.63l4.07,-7.54l2.23,0.01l0.29,-0.22l0.59,-2.15l4.46,0.66l0.34,-0.26l0.34,-2.64l1.21,-0.14l3.24,2.08l3.78,2.85l0.06,6.37l0.03,0.14l0.67,1.29l-3.95,1.07Z", "name": "Sweden"}, "SD": {"path": "M505.98,259.75l-0.31,-0.9l-0.1,-0.14l-1.2,-0.93l-0.27,-1.66l0.29,-1.83l-0.25,-0.34l-1.16,-0.17l-0.33,0.21l-0.11,0.37l-1.3,0.11l-0.21,0.49l0.55,0.68l0.18,1.29l-1.31,1.33l-1.18,1.72l-1.04,0.21l-2.0,-1.4l-0.32,-0.02l-0.95,0.52l-0.14,0.16l-0.21,0.6l-1.16,0.43l-0.19,0.23l-0.04,0.27l-2.08,0.0l-0.25,-0.39l-0.24,-0.13l-1.81,-0.09l-0.14,0.03l-0.8,0.38l-0.49,-0.16l-1.22,-1.39l-0.42,-0.67l-0.31,-0.14l-1.81,0.35l-0.2,0.14l-0.72,1.24l-0.61,2.14l-0.73,0.4l-0.62,0.22l-0.83,-0.68l-0.12,-0.6l0.38,-0.97l0.01,-1.14l-0.08,-0.2l-1.39,-1.53l-0.25,-0.97l0.03,-0.57l-0.11,-0.25l-0.81,-0.66l-0.03,-1.34l-0.04,-0.14l-0.52,-0.98l-0.31,-0.15l-0.42,0.07l0.12,-0.44l0.63,-1.03l0.03,-0.23l-0.24,-0.88l0.69,-0.66l0.02,-0.41l-0.4,-0.46l0.58,-1.39l1.04,-1.71l1.97,0.16l0.32,-0.3l-0.12,-10.24l0.02,-0.8l2.59,-0.01l0.3,-0.3l0.0,-4.92l29.19,0.0l0.68,2.17l-0.4,0.35l-0.1,0.27l0.36,2.69l0.93,3.15l0.12,0.16l2.05,1.4l-0.99,1.15l-1.75,0.4l-0.15,0.08l-0.79,0.79l-0.08,0.17l-0.24,1.69l-1.07,3.75l-0.0,0.16l0.25,0.96l-0.38,2.1l-0.98,2.41l-1.52,1.3l-1.07,1.94l-0.25,0.99l-1.08,0.64l-0.13,0.18l-0.46,1.65Z", "name": "Sudan"}, "DO": {"path": "M241.7,234.97l0.15,-0.22l1.73,0.01l1.43,0.64l0.15,0.03l0.45,-0.04l0.36,0.74l0.28,0.17l1.02,-0.04l-0.04,0.43l0.27,0.33l1.03,0.09l0.91,0.7l-0.57,0.64l-0.99,-0.47l-0.16,-0.03l-1.11,0.11l-0.79,-0.12l-0.26,0.09l-0.38,0.4l-0.66,0.11l-0.28,-0.45l-0.38,-0.12l-0.83,0.37l-0.14,0.13l-0.85,1.49l-0.27,-0.17l-0.1,-0.58l0.05,-0.67l-0.07,-0.21l-0.44,-0.53l0.35,-0.25l0.12,-0.19l0.19,-1.0l-0.2,-1.4Z", "name": "Dominican Republic"}, "DJ": {"path": "M528.78,253.36l0.34,0.45l-0.06,0.76l-1.26,0.54l-0.05,0.53l0.82,0.53l-0.57,0.83l-0.3,-0.25l-0.27,-0.05l-0.56,0.17l-1.07,-0.03l-0.04,-0.56l-0.16,-0.56l0.76,-1.07l0.76,-0.97l0.89,0.18l0.25,-0.06l0.51,-0.42Z", "name": "Djibouti"}, "DK": {"path": "M452.4,129.07l-1.27,2.39l-2.25,-1.69l-0.26,-1.08l3.15,-1.0l0.63,1.39ZM447.87,126.25l-0.35,0.76l-0.47,-0.24l-0.38,0.09l-1.8,2.53l-0.03,0.29l0.56,1.4l-1.22,0.4l-1.68,-0.41l-0.92,-1.76l-0.07,-3.47l0.38,-0.88l0.62,-0.93l2.07,-0.21l0.19,-0.1l0.84,-0.95l1.5,-0.76l-0.06,1.26l-0.7,1.1l-0.03,0.25l0.3,1.0l0.18,0.19l1.06,0.42Z", "name": "Denmark"}, "DE": {"path": "M445.51,131.69l0.03,0.94l0.21,0.28l2.32,0.74l-0.02,1.0l0.37,0.3l2.55,-0.65l1.36,-0.89l2.63,1.27l1.09,1.01l0.51,1.51l-0.6,0.78l-0.0,0.36l0.88,1.17l0.58,1.68l-0.18,1.08l0.03,0.18l0.87,1.81l-0.66,0.2l-0.55,-0.32l-0.36,0.05l-0.58,0.58l-1.73,0.62l-0.99,0.84l-1.77,0.7l-0.16,0.4l0.42,0.94l0.26,1.34l0.14,0.2l1.25,0.76l1.22,1.2l-0.71,1.2l-0.81,0.37l-0.17,0.32l0.34,1.99l-0.04,0.09l-0.47,-0.39l-0.17,-0.07l-1.2,-0.1l-1.85,0.57l-2.15,-0.13l-0.29,0.18l-0.21,0.5l-0.96,-0.67l-0.24,-0.05l-0.67,0.16l-2.6,-0.94l-0.34,0.1l-0.42,0.57l-1.64,-0.02l0.26,-1.88l1.24,-2.15l-0.21,-0.45l-3.54,-0.58l-0.98,-0.71l0.12,-1.26l-0.05,-0.2l-0.44,-0.64l0.27,-2.18l-0.38,-3.14l1.17,-0.0l0.27,-0.17l0.63,-1.26l0.65,-3.17l-0.02,-0.17l-0.41,-1.0l0.32,-0.47l1.77,-0.16l0.37,0.6l0.47,0.06l1.7,-1.69l0.06,-0.33l-0.55,-1.24l-0.09,-1.51l1.5,0.36l0.16,-0.01l1.22,-0.4Z", "name": "Germany"}, "YE": {"path": "M553.53,242.65l-1.51,0.58l-0.17,0.16l-0.48,1.14l-0.07,0.79l-2.31,1.0l-3.98,1.19l-2.28,1.8l-0.97,0.12l-0.7,-0.14l-0.23,0.05l-1.42,1.03l-1.51,0.47l-2.07,0.13l-0.68,0.15l-0.17,0.1l-0.49,0.6l-0.57,0.16l-0.18,0.13l-0.3,0.49l-1.06,-0.05l-0.13,0.02l-0.73,0.32l-1.48,-0.11l-0.55,-1.26l0.07,-1.32l-0.04,-0.16l-0.39,-0.72l-0.48,-1.85l-0.52,-0.79l0.08,-0.02l0.22,-0.36l-0.23,-1.05l0.24,-0.39l0.04,-0.19l-0.09,-0.95l0.96,-0.72l0.11,-0.31l-0.23,-0.98l0.46,-0.88l0.75,0.49l0.26,0.03l0.63,-0.22l2.76,-0.06l0.5,0.25l2.42,0.26l0.85,-0.11l0.52,0.71l0.35,0.1l1.17,-0.43l0.15,-0.12l1.75,-2.64l2.22,-1.11l6.95,-0.96l2.55,5.58Z", "name": "Yemen"}, "AT": {"path": "M463.17,154.15l-0.14,0.99l-1.15,0.01l-0.24,0.47l0.39,0.56l-0.75,1.84l-0.36,0.4l-2.06,0.07l-0.14,0.04l-1.18,0.67l-1.96,-0.23l-3.43,-0.78l-0.5,-0.97l-0.33,-0.16l-2.47,0.55l-0.2,0.16l-0.18,0.37l-1.27,-0.38l-1.28,-0.09l-0.81,-0.41l0.25,-0.51l0.03,-0.18l-0.05,-0.28l0.35,-0.08l1.16,0.81l0.45,-0.13l0.27,-0.64l2.0,0.12l1.84,-0.57l1.05,0.09l0.71,0.59l0.47,-0.11l0.23,-0.54l0.02,-0.17l-0.32,-1.85l0.69,-0.31l0.13,-0.12l0.73,-1.23l1.61,0.89l0.35,-0.04l1.35,-1.27l0.7,-0.19l1.84,0.93l0.18,0.03l1.08,-0.15l0.81,0.43l-0.07,0.15l-0.02,0.2l0.24,1.06Z", "name": "Austria"}, "DZ": {"path": "M450.58,224.94l-8.31,4.86l-7.23,5.12l-3.46,1.13l-2.42,0.22l-0.02,-1.33l-0.2,-0.28l-1.15,-0.42l-1.45,-0.69l-0.55,-1.13l-0.1,-0.12l-8.45,-5.72l-17.72,-12.17l0.03,-0.38l-0.02,-3.21l3.84,-1.91l2.46,-0.41l2.1,-0.75l0.14,-0.11l0.9,-1.3l2.84,-1.06l0.19,-0.27l0.09,-1.81l1.21,-0.2l0.15,-0.07l1.06,-0.96l3.19,-0.46l0.23,-0.18l0.46,-1.08l-0.08,-0.34l-0.6,-0.54l-0.83,-2.85l-0.18,-1.8l-0.82,-1.57l2.13,-1.37l2.65,-0.49l0.13,-0.05l1.55,-1.15l2.34,-0.85l4.2,-0.51l4.07,-0.23l1.21,0.41l0.23,-0.01l2.3,-1.11l2.52,-0.02l0.94,0.62l0.2,0.05l1.25,-0.13l-0.36,1.03l-0.01,0.14l0.39,2.66l-0.56,2.2l-1.49,1.52l-0.08,0.24l0.22,2.12l0.11,0.2l1.94,1.58l0.02,0.54l0.12,0.23l1.45,1.06l1.04,4.85l0.81,2.42l0.13,1.19l-0.43,2.17l0.17,1.28l-0.31,1.53l0.2,1.56l-0.9,1.02l-0.01,0.38l1.43,1.88l0.09,1.06l0.04,0.13l0.89,1.48l0.37,0.12l1.03,-0.43l1.79,1.12l0.89,1.34Z", "name": "Algeria"}, "US": {"path": "M892.64,99.05l1.16,0.57l0.21,0.02l1.45,-0.38l1.92,0.99l2.17,0.47l-1.65,0.72l-1.75,-0.79l-0.93,-0.7l-0.21,-0.06l-2.11,0.22l-0.35,-0.2l0.09,-0.87ZM183.29,150.37l0.39,1.54l0.12,0.17l0.78,0.55l0.14,0.05l1.74,0.2l2.52,0.5l2.4,0.98l0.17,0.02l1.96,-0.4l3.01,0.81l0.91,-0.02l2.22,-0.88l4.67,2.33l3.86,2.01l0.21,0.71l0.15,0.18l0.33,0.17l-0.02,0.05l0.23,0.43l0.67,0.1l0.21,-0.05l0.1,-0.07l0.05,0.29l0.09,0.16l0.5,0.5l0.21,0.09l0.56,0.0l0.13,0.13l-0.2,0.36l0.12,0.41l2.49,1.39l0.99,5.24l-0.69,1.68l-1.16,1.64l-0.6,1.18l-0.06,0.31l0.04,0.22l0.28,0.43l0.11,0.1l0.85,0.47l0.15,0.04l0.63,0.0l0.14,-0.04l2.87,-1.58l2.6,-0.49l3.28,-1.5l0.17,-0.23l0.04,-0.43l-0.23,-0.93l-0.24,-0.39l0.74,-0.32l4.7,-0.01l0.25,-0.13l0.77,-1.15l2.9,-2.41l1.04,-0.52l8.35,-0.02l0.28,-0.21l0.2,-0.6l0.7,-0.14l1.06,-0.48l0.13,-0.11l0.92,-1.49l0.75,-2.39l1.67,-2.08l0.59,0.6l0.3,0.07l1.52,-0.49l0.88,0.72l-0.0,4.14l0.08,0.2l1.6,1.72l0.31,0.72l-2.42,1.35l-2.55,1.05l-2.64,0.9l-0.14,0.11l-1.33,1.81l-0.44,0.7l-0.05,0.15l-0.03,1.6l0.03,0.14l0.83,1.59l0.24,0.16l0.78,0.06l-1.15,0.33l-1.25,-0.04l-1.83,0.52l-2.51,0.29l-2.17,0.88l-0.17,0.36l0.33,0.22l3.55,-0.54l0.15,0.11l-2.87,0.73l-1.19,0.0l-0.16,-0.33l-0.36,0.06l-0.76,0.82l0.17,0.5l0.42,0.08l-0.45,1.75l-1.4,1.74l-0.04,-0.17l-0.21,-0.22l-0.48,-0.13l-0.77,-0.69l-0.36,-0.03l-0.12,0.34l0.52,1.58l0.09,0.14l0.52,0.43l0.03,0.87l-0.74,1.05l-0.39,0.63l0.05,-0.12l-0.08,-0.34l-1.19,-1.03l-0.28,-2.31l-0.26,-0.26l-0.32,0.19l-0.48,1.27l-0.01,0.19l0.39,1.33l-1.14,-0.31l-0.36,0.18l0.14,0.38l1.57,0.85l0.1,2.58l0.22,0.28l0.55,0.15l0.21,0.81l0.33,2.72l-1.46,1.94l-2.5,0.81l-0.12,0.07l-1.58,1.58l-1.15,0.17l-0.15,0.06l-1.27,1.03l-0.09,0.13l-0.32,0.85l-2.71,1.79l-1.45,1.37l-1.18,1.64l-0.05,0.12l-0.39,1.96l0.0,0.13l0.44,1.91l0.85,2.37l1.1,1.91l0.03,1.2l1.16,3.07l-0.08,1.74l-0.1,0.99l-0.57,1.48l-0.54,0.24l-0.97,-0.26l-0.34,-1.02l-0.12,-0.16l-0.89,-0.58l-2.44,-4.28l-0.34,-0.94l0.49,-1.71l-0.02,-0.21l-0.7,-1.5l-2.0,-2.35l-0.11,-0.08l-0.98,-0.42l-0.25,0.01l-2.42,1.19l-0.26,-0.08l-1.26,-1.29l-1.57,-0.68l-0.16,-0.02l-2.79,0.34l-2.18,-0.3l-1.98,0.19l-1.12,0.45l-0.14,0.44l0.4,0.65l-0.04,1.02l0.09,0.22l0.29,0.3l-0.06,0.05l-0.77,-0.33l-0.26,0.01l-0.87,0.48l-1.64,-0.08l-1.79,-1.39l-0.23,-0.06l-2.11,0.33l-1.75,-0.61l-0.14,-0.01l-1.61,0.2l-2.11,0.64l-0.11,0.06l-2.25,1.99l-2.53,1.21l-1.43,1.38l-0.58,1.22l-0.03,0.12l-0.03,1.86l0.13,1.32l0.3,0.62l-0.46,0.04l-1.71,-0.57l-1.85,-0.79l-0.63,-1.14l-0.54,-1.85l-0.07,-0.12l-1.45,-1.51l-0.86,-1.58l-1.26,-1.87l-0.09,-0.09l-1.76,-1.09l-0.17,-0.04l-2.05,0.05l-0.23,0.12l-1.44,1.97l-1.84,-0.72l-1.19,-0.76l-0.6,-1.45l-0.9,-1.52l-1.49,-1.21l-1.27,-0.87l-0.89,-0.96l-0.22,-0.1l-4.34,-0.0l-0.3,0.3l-0.0,0.84l-6.62,0.02l-5.66,-1.93l-3.48,-1.24l0.11,-0.25l-0.3,-0.42l-3.18,0.3l-2.6,0.2l-0.35,-1.19l-0.08,-0.13l-1.62,-1.61l-0.13,-0.08l-1.02,-0.29l-0.22,-0.66l-0.25,-0.2l-1.31,-0.13l-0.82,-0.7l-0.16,-0.07l-2.25,-0.27l-0.48,-0.34l-0.28,-1.44l-0.07,-0.14l-2.41,-2.84l-2.03,-3.89l0.08,-0.58l-0.1,-0.27l-1.08,-0.94l-1.87,-2.36l-0.33,-2.31l-0.07,-0.15l-1.24,-1.5l0.52,-2.4l-0.09,-2.57l-0.78,-2.3l0.96,-2.83l0.61,-5.66l-0.46,-4.26l-0.79,-2.71l-0.68,-1.4l0.13,-0.26l3.24,0.97l1.28,2.88l0.52,0.06l0.62,-0.84l0.06,-0.22l-0.4,-2.61l-0.74,-2.29l68.9,-0.0l0.3,-0.3l0.01,-0.95l0.32,-0.01ZM32.5,67.43l1.75,1.99l0.41,0.04l1.02,-0.81l3.79,0.25l-0.1,0.72l0.24,0.34l3.83,0.77l2.6,-0.44l5.21,1.41l4.84,0.43l1.9,0.57l0.15,0.01l3.25,-0.71l3.72,1.32l2.52,0.58l-0.03,38.14l0.29,0.3l2.41,0.11l2.34,1.0l1.7,1.59l2.22,2.42l0.42,0.03l2.41,-2.04l2.25,-1.08l1.23,1.76l1.71,1.53l2.24,1.62l1.54,2.56l2.56,4.09l0.11,0.11l4.1,2.17l0.06,1.93l-1.12,1.35l-1.22,-1.14l-2.08,-1.05l-0.68,-2.94l-0.09,-0.16l-3.18,-2.84l-1.32,-3.35l-0.25,-0.19l-2.43,-0.24l-3.93,-0.09l-2.85,-1.02l-5.24,-3.85l-6.77,-2.04l-3.52,0.3l-4.84,-1.7l-2.96,-1.6l-0.23,-0.02l-2.78,0.8l-0.21,0.35l0.46,2.31l-1.11,0.19l-2.9,0.78l-2.24,1.26l-2.42,0.68l-0.29,-1.79l1.07,-3.49l2.54,-1.11l0.12,-0.45l-0.69,-0.96l-0.41,-0.07l-3.19,2.12l-1.76,2.54l-3.57,2.62l-0.03,0.46l1.63,1.59l-2.14,2.38l-2.64,1.49l-2.49,1.09l-0.16,0.17l-0.58,1.48l-3.8,1.79l-0.14,0.14l-0.75,1.57l-2.75,1.41l-1.62,-0.25l-0.16,0.02l-2.35,0.98l-2.54,1.19l-2.06,1.15l-4.05,0.93l-0.1,-0.15l2.45,-1.45l2.49,-1.1l2.61,-1.88l3.03,-0.39l0.19,-0.1l1.2,-1.41l3.43,-2.11l0.61,-0.75l1.81,-1.24l0.13,-0.2l0.42,-2.7l1.24,-2.12l-0.03,-0.35l-0.34,-0.09l-2.73,1.05l-0.67,-0.53l-0.39,0.02l-1.13,1.11l-1.43,-1.62l-0.49,0.06l-0.41,0.8l-0.67,-1.31l-0.42,-0.12l-2.43,1.43l-1.18,-0.0l-0.18,-1.86l0.43,-1.3l-0.09,-0.33l-1.61,-1.33l-0.26,-0.06l-3.11,0.68l-2.0,-1.66l-1.61,-0.85l-0.01,-1.97l-0.11,-0.23l-1.76,-1.48l0.86,-1.96l2.01,-2.13l0.88,-1.94l1.79,-0.25l1.65,0.6l0.31,-0.06l1.91,-1.8l1.67,0.31l0.22,-0.04l1.91,-1.23l0.13,-0.33l-0.47,-1.82l-0.15,-0.19l-1.0,-0.52l1.51,-1.27l0.09,-0.34l-0.29,-0.19l-1.62,0.06l-2.66,0.88l-0.13,0.09l-0.62,0.72l-1.77,-0.8l-0.16,-0.02l-3.48,0.44l-3.5,-0.92l-1.06,-1.61l-2.78,-2.09l3.07,-1.51l5.52,-2.01l1.65,0.0l-0.28,1.73l0.31,0.35l5.29,-0.16l0.23,-0.49l-2.03,-2.59l-0.1,-0.08l-3.03,-1.58l-1.79,-2.12l-2.4,-1.83l-3.18,-1.27l1.13,-1.84l4.28,-0.14l0.15,-0.05l3.16,-2.0l0.13,-0.17l0.57,-2.07l2.43,-2.02l2.42,-0.52l4.67,-1.98l2.22,0.29l0.2,-0.04l3.74,-2.37l3.57,0.91ZM37.66,123.49l-2.31,1.26l-1.04,-0.75l-0.31,-1.35l2.06,-1.16l1.24,-0.51l1.48,0.22l0.76,0.81l-1.89,1.49ZM30.89,233.84l1.2,0.57l0.35,0.3l0.48,0.69l-1.6,0.86l-0.3,0.31l-0.24,-0.14l0.05,-0.54l-0.02,-0.15l-0.36,-0.83l0.05,-0.12l0.39,-0.38l0.07,-0.31l-0.09,-0.27ZM29.06,231.89l0.5,0.14l0.31,0.19l-0.46,0.1l-0.34,-0.43ZM25.02,230.13l0.2,-0.11l0.4,0.47l-0.43,-0.05l-0.17,-0.31ZM21.29,228.68l0.1,-0.07l0.22,0.02l0.02,0.21l-0.02,0.02l-0.32,-0.18ZM6.0,113.33l-1.19,0.45l-1.5,-0.64l-0.94,-0.63l1.76,-0.46l1.71,0.29l0.16,0.98Z", "name": "United States of America"}, "UY": {"path": "M276.9,363.17l1.3,-0.23l2.4,2.04l0.22,0.07l0.82,-0.07l2.48,1.7l1.93,1.5l1.28,1.67l-0.95,1.14l-0.04,0.31l0.63,1.45l-0.96,1.57l-2.65,1.47l-1.73,-0.53l-0.15,-0.01l-1.25,0.28l-2.22,-1.16l-0.16,-0.03l-1.56,0.08l-1.33,-1.36l0.17,-1.58l0.48,-0.55l0.07,-0.2l-0.02,-2.74l0.66,-2.8l0.57,-2.02Z", "name": "Uruguay"}, "LB": {"path": "M510.44,198.11l-0.48,0.03l-0.26,0.17l-0.15,0.32l-0.21,-0.0l0.72,-1.85l1.19,-1.9l0.74,0.09l0.27,0.73l-1.19,0.93l-0.09,0.13l-0.54,1.36Z", "name": "Lebanon"}, "LA": {"path": "M684.87,248.8l0.61,-0.86l0.05,-0.16l0.11,-2.17l-0.08,-0.22l-1.96,-2.16l-0.15,-2.44l-0.08,-0.18l-1.9,-2.1l-0.19,-0.1l-1.89,-0.18l-0.29,0.15l-0.42,0.76l-1.21,0.06l-0.67,-0.41l-0.31,-0.0l-2.2,1.29l-0.05,-1.77l0.61,-2.7l-0.27,-0.37l-1.44,-0.1l-0.12,-1.31l-0.12,-0.21l-0.87,-0.65l0.38,-0.68l1.76,-1.41l0.08,0.22l0.27,0.2l1.33,0.07l0.31,-0.34l-0.35,-2.75l0.85,-0.25l1.32,1.88l1.11,2.36l0.27,0.17l2.89,0.02l0.78,1.82l-1.32,0.56l-0.12,0.09l-0.72,0.93l0.1,0.45l2.93,1.52l3.62,5.27l1.88,1.78l0.58,1.67l-0.38,2.11l-1.87,-0.79l-0.37,0.11l-0.99,1.54l-1.51,-0.73Z", "name": "Laos"}, "TW": {"path": "M725.6,222.5l-1.5,4.22l-0.82,1.65l-1.01,-1.7l-0.26,-1.8l1.4,-2.48l1.8,-1.81l0.76,0.53l-0.38,1.39Z", "name": "Taiwan"}, "TT": {"path": "M266.35,259.46l0.41,-0.39l0.09,-0.23l-0.04,-0.75l1.14,-0.26l0.2,0.03l-0.07,1.37l-1.73,0.23Z", "name": "Trinidad and Tobago"}, "TR": {"path": "M513.25,175.38l3.63,1.17l0.14,0.01l2.88,-0.45l2.11,0.26l0.18,-0.03l2.9,-1.53l2.51,-0.13l2.25,1.37l0.36,0.88l-0.23,1.36l0.19,0.33l1.81,0.72l0.61,0.53l-1.31,0.64l-0.16,0.34l0.76,3.24l-0.44,0.8l0.01,0.3l1.19,2.02l-0.71,0.29l-0.74,-0.62l-0.15,-0.07l-2.91,-0.37l-0.15,0.02l-1.04,0.43l-2.78,0.44l-1.44,-0.03l-2.83,1.06l-1.95,0.01l-1.28,-0.52l-0.2,-0.01l-2.62,0.76l-0.7,-0.48l-0.47,0.22l-0.13,1.49l-1.01,0.94l-0.58,-0.82l0.79,-0.9l0.04,-0.34l-0.31,-0.15l-1.46,0.23l-2.03,-0.64l-0.3,0.07l-1.65,1.58l-3.58,0.3l-1.94,-1.47l-0.17,-0.06l-2.7,-0.1l-0.28,0.17l-0.51,1.06l-1.47,0.29l-2.32,-1.46l-0.17,-0.05l-2.55,0.05l-1.4,-2.7l-1.72,-1.54l1.11,-2.06l-0.07,-0.37l-1.35,-1.19l2.47,-2.51l3.74,-0.11l0.26,-0.17l0.96,-2.07l4.56,0.38l0.19,-0.05l2.97,-1.92l2.84,-0.83l4.03,-0.06l4.31,2.08ZM488.85,176.8l-1.81,1.38l-0.57,-1.01l0.02,-0.36l0.45,-0.25l0.13,-0.15l0.78,-1.87l-0.11,-0.37l-0.72,-0.47l1.91,-0.71l1.89,0.35l0.25,0.97l0.17,0.2l1.87,0.83l-0.19,0.31l-2.82,0.16l-0.18,0.07l-1.06,0.91Z", "name": "Turkey"}, "LK": {"path": "M625.44,266.07l-0.35,2.4l-0.9,0.61l-1.91,0.5l-1.04,-1.75l-0.43,-3.5l1.0,-3.6l1.34,1.09l1.13,1.72l1.16,2.52Z", "name": "Sri Lanka"}, "TN": {"path": "M444.91,206.18l-0.99,-4.57l-0.12,-0.18l-1.43,-1.04l-0.02,-0.53l-0.11,-0.22l-1.95,-1.59l-0.19,-1.85l1.44,-1.47l0.08,-0.14l0.59,-2.34l-0.38,-2.77l0.44,-1.28l2.52,-1.08l1.41,0.28l-0.06,1.2l0.43,0.28l1.81,-0.9l0.02,0.06l-1.14,1.28l-0.08,0.2l-0.02,1.32l0.11,0.24l0.74,0.6l-0.29,2.18l-1.56,1.35l-0.09,0.32l0.48,1.54l0.28,0.21l1.11,0.04l0.55,1.17l0.15,0.14l0.76,0.35l-0.12,1.79l-1.1,0.72l-0.8,0.91l-1.68,1.04l-0.13,0.32l0.25,1.08l-0.18,0.96l-0.74,0.39Z", "name": "Tunisia"}, "TL": {"path": "M734.21,307.22l0.17,-0.34l1.99,-0.52l1.72,-0.08l0.78,-0.3l0.29,0.1l-0.43,0.32l-2.57,1.09l-1.71,0.59l-0.05,-0.49l-0.19,-0.36Z", "name": "East Timor"}, "TM": {"path": "M553.16,173.51l-0.12,1.0l-0.26,-0.65l0.38,-0.34ZM553.54,173.16l0.13,-0.12l0.43,-0.09l-0.56,0.21ZM555.68,172.6l0.65,-0.14l1.53,0.76l1.71,2.29l0.27,0.12l1.27,-0.14l2.81,-0.04l0.29,-0.38l-0.35,-1.27l1.98,-0.97l1.96,-1.63l3.05,1.44l0.25,2.23l0.14,0.22l0.96,0.61l0.18,0.05l2.61,-0.13l0.68,0.44l1.2,2.97l0.1,0.13l2.85,2.03l1.67,1.41l2.66,1.45l3.13,1.17l-0.05,1.23l-0.36,-0.04l-1.12,-0.73l-0.44,0.14l-0.34,0.89l-1.96,0.52l-0.22,0.23l-0.47,2.17l-1.26,0.78l-1.93,0.42l-0.21,0.18l-0.46,1.14l-1.64,0.33l-2.3,-0.97l-0.2,-2.23l-0.28,-0.27l-1.76,-0.1l-2.78,-2.48l-0.15,-0.07l-1.95,-0.31l-2.82,-1.48l-1.78,-0.27l-0.18,0.03l-1.03,0.51l-1.6,-0.08l-0.22,0.08l-1.72,1.6l-1.83,0.46l-0.39,-1.7l0.36,-3.0l-0.16,-0.3l-1.73,-0.88l0.57,-1.77l-0.25,-0.39l-1.33,-0.14l0.41,-1.85l2.05,0.63l0.21,-0.01l2.2,-0.95l0.09,-0.49l-1.78,-1.75l-0.69,-1.66l-0.07,-0.03Z", "name": "Turkmenistan"}, "TJ": {"path": "M597.99,178.71l-0.23,0.23l-2.57,-0.47l-0.35,0.25l-0.24,1.7l0.32,0.34l2.66,-0.22l3.15,0.95l4.47,-0.42l0.58,2.45l0.39,0.21l0.71,-0.25l1.22,0.53l-0.06,1.01l0.29,1.28l-2.19,-0.0l-1.71,-0.21l-0.23,0.07l-1.51,1.25l-1.05,0.27l-0.77,0.51l-0.71,-0.67l0.22,-2.28l-0.24,-0.32l-0.43,-0.08l0.17,-0.57l-0.16,-0.36l-1.36,-0.66l-0.34,0.05l-1.08,1.01l-0.09,0.15l-0.25,1.09l-0.24,0.26l-1.36,-0.05l-0.27,0.14l-0.65,1.06l-0.58,-0.39l-0.3,-0.02l-1.68,0.86l-0.36,-0.16l1.28,-2.65l0.02,-0.2l-0.54,-2.17l-0.18,-0.21l-1.53,-0.58l0.41,-0.82l1.89,0.13l0.26,-0.12l1.19,-1.63l0.77,-1.82l2.66,-0.55l-0.33,0.87l0.01,0.23l0.36,0.82l0.3,0.18l0.23,-0.02Z", "name": "Tajikistan"}, "LS": {"path": "M493.32,359.69l0.69,0.65l-0.65,1.12l-0.38,0.8l-1.27,0.39l-0.18,0.15l-0.4,0.77l-0.59,0.18l-1.59,-1.78l1.16,-1.5l1.3,-1.02l0.97,-0.46l0.94,0.72Z", "name": "Lesotho"}, "TH": {"path": "M677.42,253.68l-1.7,-0.88l-0.14,-0.03l-1.77,0.04l0.3,-1.64l-0.3,-0.35l-2.21,0.01l-0.3,0.28l-0.2,2.76l-2.15,5.9l-0.02,0.13l0.17,1.83l0.28,0.27l1.45,0.07l0.93,2.1l0.44,2.15l0.08,0.15l1.4,1.44l0.16,0.09l1.43,0.27l1.04,1.05l-0.58,0.73l-1.24,0.22l-0.15,-0.99l-0.15,-0.22l-2.04,-1.1l-0.36,0.06l-0.23,0.23l-0.72,-0.71l-0.41,-1.18l-0.06,-0.11l-1.33,-1.42l-1.22,-1.2l-0.5,0.13l-0.15,0.54l-0.14,-0.41l0.26,-1.48l0.73,-2.38l1.2,-2.57l1.37,-2.35l0.02,-0.27l-0.95,-2.26l0.03,-1.19l-0.29,-1.42l-0.06,-0.13l-1.65,-2.0l-0.46,-0.99l0.62,-0.34l0.13,-0.15l0.92,-2.23l-0.02,-0.27l-1.05,-1.74l-1.57,-1.86l-1.04,-1.96l0.76,-0.34l0.16,-0.16l1.07,-2.63l1.58,-0.1l0.16,-0.06l1.43,-1.11l1.24,-0.52l0.84,0.62l0.13,1.43l0.28,0.27l1.34,0.09l-0.54,2.39l0.05,2.39l0.45,0.25l2.48,-1.45l0.6,0.36l0.17,0.04l1.47,-0.07l0.25,-0.15l0.41,-0.73l1.58,0.15l1.76,1.93l0.15,2.44l0.08,0.18l1.94,2.15l-0.1,1.96l-0.66,0.93l-2.25,-0.34l-3.24,0.49l-0.19,0.12l-1.6,2.12l-0.06,0.24l0.48,2.46Z", "name": "Thailand"}, "TF": {"path": "M593.76,417.73l1.38,0.84l2.15,0.37l0.04,0.31l-0.59,1.24l-3.36,0.19l-0.05,-1.38l0.43,-1.56Z", "name": "French Southern and Antarctic Lands"}, "TG": {"path": "M425.23,269.29l-1.49,0.4l-0.43,-0.68l-0.64,-1.54l-0.18,-1.16l0.54,-2.21l-0.04,-0.24l-0.59,-0.86l-0.23,-1.9l0.0,-1.82l-0.07,-0.19l-0.95,-1.19l0.1,-0.41l1.58,0.04l-0.23,0.97l0.08,0.28l1.55,1.55l0.09,1.13l0.08,0.19l0.42,0.43l-0.11,5.66l0.52,1.53Z", "name": "Togo"}, "TD": {"path": "M457.57,252.46l0.23,-1.08l-0.28,-0.36l-1.32,-0.05l0.0,-1.35l-0.1,-0.22l-0.9,-0.82l0.99,-3.1l3.12,-2.37l0.12,-0.23l0.13,-3.33l0.95,-5.2l0.53,-1.09l-0.07,-0.36l-0.94,-0.81l-0.03,-0.7l-0.12,-0.23l-0.84,-0.61l-0.57,-3.76l2.21,-1.26l19.67,9.88l0.12,9.74l-1.83,-0.15l-0.28,0.14l-1.14,1.89l-0.68,1.62l0.05,0.31l0.33,0.38l-0.61,0.58l-0.08,0.3l0.25,0.93l-0.58,0.95l-0.29,1.01l0.34,0.37l0.67,-0.11l0.39,0.73l0.03,1.4l0.11,0.23l0.8,0.65l-0.01,0.24l-1.38,0.37l-0.11,0.06l-1.27,1.03l-1.83,2.76l-2.21,1.1l-2.34,-0.15l-0.82,0.25l-0.2,0.37l0.19,0.68l-1.16,0.79l-1.01,0.94l-2.92,0.89l-0.5,-0.46l-0.17,-0.08l-0.41,-0.05l-0.28,0.12l-0.38,0.54l-1.36,0.12l0.1,-0.18l0.01,-0.27l-0.78,-1.72l-0.35,-1.03l-0.17,-0.18l-1.03,-0.41l-1.29,-1.28l0.36,-0.78l0.9,0.2l0.14,-0.0l0.67,-0.17l1.36,0.02l0.26,-0.45l-1.32,-2.22l0.09,-1.64l-0.17,-1.68l-0.04,-0.13l-0.93,-1.53Z", "name": "Chad"}, "LY": {"path": "M457.99,226.38l-1.57,0.87l-1.25,-1.28l-0.13,-0.08l-3.85,-1.11l-1.04,-1.57l-0.09,-0.09l-1.98,-1.23l-0.27,-0.02l-0.93,0.39l-0.72,-1.2l-0.09,-1.07l-0.06,-0.16l-1.33,-1.75l0.83,-0.94l0.07,-0.24l-0.21,-1.64l0.31,-1.43l-0.17,-1.29l0.43,-2.26l-0.15,-1.33l-0.73,-2.18l0.99,-0.52l0.16,-0.21l0.22,-1.16l-0.22,-1.06l1.54,-0.95l0.81,-0.92l1.19,-0.78l0.14,-0.23l0.12,-1.76l2.57,0.84l0.16,0.01l0.99,-0.23l2.01,0.45l3.19,1.2l1.12,2.36l0.2,0.16l2.24,0.53l3.5,1.14l2.65,1.36l0.29,-0.01l1.22,-0.71l1.27,-1.32l0.07,-0.29l-0.55,-2.0l0.69,-1.19l1.7,-1.23l1.61,-0.35l3.2,0.54l0.78,1.14l0.24,0.13l0.85,0.01l0.84,0.47l2.35,0.31l0.42,0.63l-0.79,1.16l-0.04,0.26l0.35,1.08l-0.61,1.6l-0.0,0.2l0.73,2.16l0.0,24.24l-2.58,0.01l-0.3,0.29l-0.02,0.62l-19.55,-9.83l-0.28,0.01l-2.53,1.44Z", "name": "Libya"}, "AE": {"path": "M550.59,223.8l0.12,0.08l1.92,-0.41l3.54,0.15l0.23,-0.09l1.71,-1.79l1.86,-1.7l1.31,-1.36l0.26,0.5l0.28,1.72l-0.93,0.01l-0.3,0.26l-0.21,1.73l0.11,0.27l0.08,0.06l-0.7,0.32l-0.17,0.27l-0.01,0.99l-0.68,1.02l-0.05,0.15l-0.06,0.96l-0.32,0.36l-7.19,-1.27l-0.79,-2.22Z", "name": "United Arab Emirates"}, "VE": {"path": "M240.66,256.5l0.65,0.91l-0.03,1.13l-1.05,1.39l-0.03,0.31l0.95,2.0l0.32,0.17l1.08,-0.16l0.24,-0.21l0.56,-1.83l-0.06,-0.29l-0.71,-0.81l-0.1,-1.58l2.9,-0.96l0.19,-0.37l-0.29,-1.02l0.45,-0.41l0.72,1.43l0.26,0.16l1.65,0.04l1.46,1.27l0.08,0.72l0.3,0.27l2.28,0.02l2.55,-0.25l1.34,1.06l0.14,0.06l1.92,0.31l0.2,-0.03l1.4,-0.79l0.15,-0.25l0.02,-0.36l2.82,-0.14l1.17,-0.01l-0.41,0.14l-0.14,0.46l0.86,1.19l0.22,0.12l1.93,0.18l1.73,1.13l0.37,1.9l0.31,0.24l1.21,-0.05l0.52,0.32l-1.63,1.21l-0.11,0.17l-0.22,0.92l0.07,0.27l0.63,0.69l-0.31,0.24l-1.48,0.39l-0.22,0.3l0.04,1.03l-0.59,0.6l-0.01,0.41l1.67,1.87l0.23,0.48l-0.72,0.76l-2.71,0.91l-1.78,0.39l-0.13,0.06l-0.6,0.49l-1.84,-0.58l-1.89,-0.33l-0.18,0.03l-0.47,0.23l-0.02,0.53l0.96,0.56l-0.08,1.58l0.35,1.58l0.26,0.23l1.91,0.19l0.02,0.07l-1.54,0.62l-0.18,0.2l-0.25,0.92l-0.88,0.35l-1.85,0.58l-0.16,0.13l-0.4,0.64l-1.66,0.14l-1.22,-1.18l-0.79,-2.52l-0.67,-0.88l-0.66,-0.43l0.99,-0.98l0.09,-0.26l-0.09,-0.56l-0.08,-0.16l-0.66,-0.69l-0.47,-1.54l0.18,-1.67l0.55,-0.85l0.45,-1.35l-0.15,-0.36l-0.89,-0.43l-0.19,-0.02l-1.39,0.28l-1.76,-0.13l-0.92,0.23l-1.64,-2.01l-0.17,-0.1l-1.54,-0.33l-3.05,0.23l-0.5,-0.73l-0.15,-0.12l-0.45,-0.15l-0.05,-0.28l0.28,-0.86l0.01,-0.15l-0.2,-1.01l-0.08,-0.15l-0.5,-0.5l-0.3,-1.08l-0.25,-0.22l-0.89,-0.12l0.54,-1.18l0.29,-1.73l0.66,-0.85l0.94,-0.7l0.09,-0.11l0.3,-0.6Z", "name": "Venezuela"}, "AF": {"path": "M574.42,192.1l2.24,0.95l0.18,0.02l1.89,-0.38l0.22,-0.18l0.46,-1.14l1.82,-0.4l1.5,-0.91l0.14,-0.19l0.46,-2.12l1.93,-0.51l0.2,-0.18l0.26,-0.68l0.87,0.57l0.13,0.05l0.79,0.09l1.35,0.02l1.83,0.59l0.75,0.34l0.26,-0.01l1.66,-0.85l0.7,0.46l0.42,-0.09l0.72,-1.17l1.32,0.05l0.23,-0.1l0.39,-0.43l0.07,-0.14l0.24,-1.08l0.86,-0.81l0.94,0.46l-0.2,0.64l0.23,0.38l0.49,0.09l-0.21,2.15l0.09,0.25l0.99,0.94l0.38,0.03l0.83,-0.57l1.06,-0.27l0.12,-0.06l1.46,-1.21l1.63,0.2l2.4,0.0l0.17,0.32l-1.12,0.25l-1.23,0.52l-2.86,0.33l-2.69,0.6l-0.13,0.06l-1.46,1.25l-0.07,0.36l0.58,1.18l0.25,1.21l-1.13,1.08l-0.09,0.25l0.09,0.98l-0.53,0.79l-2.22,-0.08l-0.28,0.44l0.83,1.57l-1.3,0.58l-0.13,0.11l-1.06,1.69l-0.05,0.18l0.13,1.51l-0.73,0.58l-0.78,-0.22l-0.14,-0.01l-1.91,0.36l-0.23,0.19l-0.2,0.57l-1.65,-0.0l-0.22,0.1l-1.4,1.56l-0.08,0.19l-0.08,2.13l-2.99,1.05l-1.67,-0.23l-0.27,0.1l-0.39,0.46l-1.43,-0.31l-2.43,0.4l-3.69,-1.23l1.96,-2.15l0.08,-0.24l-0.21,-1.78l-0.23,-0.26l-1.69,-0.42l-0.19,-1.62l-0.77,-2.08l0.98,-1.41l-0.14,-0.45l-0.82,-0.31l0.6,-1.79l0.93,-3.21Z", "name": "Afghanistan"}, "IQ": {"path": "M534.42,190.89l0.13,0.14l1.5,0.78l0.15,1.34l-1.13,0.87l-0.11,0.16l-0.58,2.2l0.04,0.24l1.73,2.67l0.12,0.1l2.99,1.49l1.18,1.94l-0.39,1.89l0.29,0.36l0.5,-0.0l0.02,1.17l0.08,0.2l0.83,0.86l-2.36,-0.29l-0.29,0.13l-1.74,2.49l-4.4,-0.21l-7.03,-5.49l-3.73,-1.94l-2.92,-0.74l-0.89,-3.0l5.33,-2.81l0.15,-0.19l0.95,-3.43l-0.2,-2.0l1.19,-0.61l0.11,-0.09l1.23,-1.73l0.92,-0.38l2.75,0.35l0.81,0.68l0.31,0.05l0.94,-0.38l1.5,3.17Z", "name": "Iraq"}, "IS": {"path": "M384.26,87.96l-0.51,2.35l0.08,0.28l2.61,2.58l-2.99,2.83l-7.16,2.72l-2.08,0.7l-9.51,-1.71l1.89,-1.36l-0.07,-0.53l-4.4,-1.59l3.33,-0.59l0.25,-0.32l-0.11,-1.2l-0.25,-0.27l-4.82,-0.88l1.38,-2.2l3.54,-0.57l3.8,2.74l0.33,0.01l3.68,-2.18l3.02,1.12l0.25,-0.02l4.01,-2.18l3.72,0.27Z", "name": "Iceland"}, "IR": {"path": "M556.2,187.5l2.05,-0.52l0.13,-0.07l1.69,-1.57l1.55,0.08l0.15,-0.03l1.02,-0.5l1.64,0.25l2.82,1.48l1.91,0.3l2.8,2.49l0.18,0.08l1.61,0.09l0.19,2.09l-1.0,3.47l-0.69,2.04l0.18,0.38l0.73,0.28l-0.85,1.22l-0.04,0.28l0.81,2.19l0.19,1.72l0.23,0.26l1.69,0.42l0.17,1.43l-2.18,2.39l-0.01,0.4l1.22,1.42l1.0,1.62l0.12,0.11l2.23,1.11l0.06,2.2l0.2,0.27l1.03,0.38l0.14,0.83l-3.38,1.3l-0.18,0.19l-0.87,2.85l-4.44,-0.76l-2.75,-0.62l-2.64,-0.32l-1.01,-3.11l-0.17,-0.19l-1.2,-0.48l-0.18,-0.01l-1.99,0.51l-2.42,1.25l-2.89,-0.84l-2.48,-2.03l-2.41,-0.79l-1.61,-2.47l-1.84,-3.63l-0.36,-0.15l-1.22,0.4l-1.48,-0.84l-0.37,0.06l-0.72,0.82l-1.08,-1.12l-0.02,-1.35l-0.3,-0.29l-0.43,0.0l0.34,-1.64l-0.04,-0.22l-1.29,-2.11l-0.12,-0.11l-3.0,-1.49l-1.62,-2.49l0.52,-1.98l1.18,-0.92l0.11,-0.27l-0.19,-1.66l-0.16,-0.23l-1.55,-0.81l-1.58,-3.33l-1.3,-2.2l0.41,-0.75l0.03,-0.21l-0.73,-3.12l1.2,-0.59l0.35,0.9l1.26,1.35l0.15,0.09l1.81,0.39l0.91,-0.09l0.15,-0.06l2.9,-2.13l0.7,-0.16l0.48,0.56l-0.75,1.26l0.05,0.37l1.56,1.53l0.28,0.08l0.37,-0.09l0.7,1.89l0.21,0.19l2.31,0.59l1.69,1.4l0.15,0.07l3.66,0.49l3.91,-0.76l0.23,-0.19l0.19,-0.52Z", "name": "Iran"}, "AM": {"path": "M530.51,176.08l2.91,-0.39l0.41,0.63l0.11,0.1l0.66,0.36l-0.32,0.47l0.07,0.41l1.1,0.84l-0.53,0.7l0.06,0.42l1.06,0.8l1.01,0.44l0.04,1.56l-0.44,0.04l-0.88,-1.46l0.01,-0.37l-0.3,-0.31l-0.98,0.01l-0.65,-0.69l-0.26,-0.09l-0.38,0.06l-0.97,-0.82l-1.64,-0.65l0.2,-1.2l-0.02,-0.16l-0.28,-0.69Z", "name": "Armenia"}, "IT": {"path": "M451.68,158.58l0.2,0.16l3.3,0.75l-0.22,1.26l0.02,0.18l0.35,0.78l-1.4,-0.32l-0.21,0.03l-2.04,1.1l-0.16,0.29l0.13,1.47l-0.29,0.82l0.02,0.24l0.82,1.57l0.1,0.11l2.28,1.5l1.29,2.53l2.79,2.43l0.2,0.07l1.83,-0.02l0.31,0.34l-0.46,0.39l0.06,0.5l4.06,1.97l2.06,1.49l0.17,0.36l-0.24,0.53l-1.08,-1.07l-0.15,-0.08l-2.18,-0.49l-0.33,0.15l-1.05,1.91l0.11,0.4l1.63,0.98l-0.22,1.12l-0.84,0.14l-0.22,0.15l-1.27,2.38l-0.54,0.12l0.01,-0.47l0.48,-1.46l0.5,-0.58l0.03,-0.35l-0.97,-1.69l-0.76,-1.48l-0.17,-0.15l-0.94,-0.33l-0.68,-1.18l-0.16,-0.13l-1.53,-0.52l-1.03,-1.14l-0.19,-0.1l-1.78,-0.19l-1.88,-1.3l-2.27,-1.94l-1.64,-1.68l-0.76,-2.94l-0.21,-0.21l-1.22,-0.35l-2.01,-1.0l-0.24,-0.01l-1.15,0.42l-0.11,0.07l-1.38,1.36l-0.5,0.11l0.19,-0.87l-0.21,-0.35l-1.19,-0.34l-0.56,-2.06l0.76,-0.82l0.03,-0.36l-0.68,-1.08l0.04,-0.31l0.68,0.42l0.19,0.04l1.21,-0.15l0.14,-0.06l1.18,-0.89l0.25,0.29l0.25,0.1l1.19,-0.1l0.25,-0.18l0.45,-1.04l1.61,0.34l0.19,-0.02l1.1,-0.53l0.17,-0.22l0.15,-0.95l1.19,0.35l0.35,-0.16l0.23,-0.47l2.11,-0.47l0.45,0.89ZM459.35,184.63l-0.71,1.81l0.0,0.23l0.33,0.79l-0.37,1.03l-1.6,-0.91l-1.33,-0.34l-3.24,-1.36l0.23,-0.99l2.73,0.24l3.95,-0.5ZM443.95,175.91l1.26,1.77l-0.31,3.47l-0.82,-0.13l-0.26,0.08l-0.83,0.79l-0.64,-0.52l-0.1,-3.42l-0.44,-1.34l0.91,0.1l0.21,-0.06l1.01,-0.74Z", "name": "Italy"}, "VN": {"path": "M690.8,230.21l-2.86,1.93l-2.09,2.46l-0.06,0.11l-0.55,1.8l0.04,0.26l4.26,6.1l2.31,1.63l1.46,1.97l1.12,4.62l-0.32,4.3l-1.97,1.57l-2.85,1.62l-2.09,2.14l-2.83,2.13l-0.67,-1.19l0.65,-1.58l-0.09,-0.35l-1.47,-1.14l1.67,-0.79l2.57,-0.18l0.22,-0.47l-0.89,-1.24l3.88,-1.8l0.17,-0.24l0.31,-3.05l-0.01,-0.13l-0.56,-1.63l0.44,-2.48l-0.01,-0.15l-0.63,-1.81l-0.08,-0.12l-1.87,-1.77l-3.64,-5.3l-0.11,-0.1l-2.68,-1.39l0.45,-0.59l1.53,-0.65l0.16,-0.39l-0.97,-2.27l-0.27,-0.18l-2.89,-0.02l-1.04,-2.21l-1.28,-1.83l0.96,-0.46l1.97,0.01l2.43,-0.3l0.13,-0.05l1.95,-1.29l1.04,0.85l0.13,0.06l1.98,0.42l-0.32,1.21l0.09,0.3l1.19,1.07l0.12,0.07l1.88,0.51Z", "name": "Vietnam"}, "AR": {"path": "M258.11,341.34l1.4,1.81l0.51,-0.06l0.89,-1.94l2.51,0.1l0.36,0.49l4.6,4.31l0.15,0.08l1.99,0.39l3.01,1.93l2.5,1.01l0.28,0.91l-2.4,3.97l0.17,0.44l2.57,0.74l2.81,0.41l2.09,-0.44l0.14,-0.07l2.27,-2.06l0.09,-0.17l0.38,-2.2l0.88,-0.36l1.05,1.29l-0.04,1.88l-1.98,1.4l-1.72,1.13l-2.84,2.65l-3.34,3.73l-0.07,0.12l-0.63,2.22l-0.67,2.85l0.02,2.73l-0.47,0.54l-0.07,0.17l-0.36,3.28l0.12,0.27l3.03,2.32l-0.31,1.78l0.11,0.29l1.44,1.15l-0.11,1.17l-2.32,3.57l-3.59,1.51l-4.95,0.6l-2.72,-0.29l-0.32,0.38l0.5,1.67l-0.49,2.13l0.01,0.16l0.4,1.29l-1.27,0.88l-2.41,0.39l-2.33,-1.05l-0.31,0.04l-0.97,0.78l-0.11,0.27l0.35,2.98l0.16,0.23l1.69,0.91l0.31,-0.02l1.08,-0.75l0.46,0.96l-2.1,0.88l-2.01,1.89l-0.09,0.18l-0.36,3.05l-0.51,1.42l-2.16,0.01l-0.19,0.07l-1.96,1.59l-0.1,0.15l-0.72,2.34l0.08,0.31l2.46,2.31l0.13,0.07l2.09,0.56l-0.74,2.45l-2.86,1.75l-0.12,0.14l-1.59,3.71l-2.2,1.24l-0.1,0.09l-1.03,1.54l-0.04,0.23l0.81,3.45l0.06,0.13l1.13,1.32l-2.59,-0.57l-5.89,-0.44l-0.92,-1.73l0.05,-2.4l-0.34,-0.3l-1.49,0.19l-0.72,-0.98l-0.2,-3.21l1.79,-1.33l0.1,-0.13l0.79,-2.04l0.02,-0.16l-0.27,-1.52l1.31,-2.69l0.91,-4.15l-0.23,-1.72l0.91,-0.49l0.15,-0.33l-0.27,-1.16l-0.15,-0.2l-0.87,-0.46l0.65,-1.01l-0.04,-0.37l-1.06,-1.09l-0.54,-3.2l0.83,-0.51l0.14,-0.29l-0.42,-3.6l0.58,-2.98l0.64,-2.5l1.41,-1.0l0.12,-0.32l-0.75,-2.8l-0.01,-2.48l1.81,-1.78l0.09,-0.22l-0.06,-2.3l1.39,-2.69l0.03,-0.14l0.01,-2.58l-0.11,-0.24l-0.57,-0.45l-1.1,-4.59l1.49,-2.73l0.04,-0.17l-0.23,-2.59l0.86,-2.38l1.6,-2.48l1.74,-1.65l0.04,-0.39l-0.64,-0.89l0.42,-0.7l0.04,-0.16l-0.08,-4.26l2.55,-1.23l0.16,-0.18l0.86,-2.75l-0.01,-0.22l-0.22,-0.48l1.84,-2.1l3.0,0.59ZM256.77,438.98l-2.1,0.15l-1.18,-1.14l-0.19,-0.08l-1.53,-0.09l-2.38,-0.0l-0.0,-6.28l0.4,0.65l1.25,2.55l0.11,0.12l3.26,2.07l3.19,0.8l-0.82,1.26Z", "name": "Argentina"}, "AU": {"path": "M705.55,353.06l0.09,0.09l0.37,0.05l0.13,-0.35l-0.57,-1.69l0.48,0.3l0.71,0.99l0.34,0.11l0.2,-0.29l-0.04,-1.37l-0.04,-0.14l-1.22,-2.07l-0.28,-0.9l-0.51,-0.69l0.24,-1.33l0.52,-0.7l0.34,-1.32l0.01,-0.13l-0.25,-1.44l0.51,-0.94l0.1,1.03l0.23,0.26l0.32,-0.14l1.01,-1.72l1.94,-0.84l1.27,-1.14l1.84,-0.92l1.0,-0.18l0.6,0.28l0.26,-0.0l1.94,-0.96l1.48,-0.28l0.19,-0.13l0.32,-0.49l0.51,-0.18l1.42,0.05l2.63,-0.76l0.11,-0.06l1.36,-1.15l0.08,-0.1l0.61,-1.33l1.42,-1.27l0.1,-0.19l0.11,-1.03l0.06,-1.32l1.39,-1.74l0.85,1.79l0.4,0.14l1.07,-0.51l0.11,-0.45l-0.77,-1.05l0.53,-0.84l0.86,0.43l0.43,-0.22l0.29,-1.85l1.29,-1.19l0.6,-0.98l1.16,-0.4l0.2,-0.27l0.02,-0.34l0.74,0.2l0.38,-0.27l0.03,-0.44l1.98,-0.61l1.7,1.08l1.36,1.48l0.22,0.1l1.55,0.02l1.57,0.24l0.33,-0.4l-0.48,-1.27l1.09,-1.86l1.06,-0.63l0.1,-0.42l-0.28,-0.46l0.93,-1.24l1.36,-0.8l1.16,0.27l0.14,0.0l2.1,-0.48l0.23,-0.3l-0.05,-1.3l-0.18,-0.26l-1.08,-0.49l0.44,-0.12l1.52,0.58l1.39,1.06l2.11,0.65l0.19,-0.0l0.59,-0.21l1.44,0.72l0.27,0.0l1.37,-0.68l0.84,0.2l0.26,-0.06l0.37,-0.3l0.82,0.89l-0.56,1.14l-0.84,0.91l-0.75,0.07l-0.26,0.38l0.26,0.9l-0.67,1.15l-0.88,1.24l-0.05,0.25l0.18,0.72l0.12,0.17l1.99,1.42l1.96,0.84l1.25,0.86l1.8,1.51l0.19,0.07l0.63,-0.0l1.15,0.58l0.34,0.7l0.17,0.15l2.39,0.88l0.24,-0.02l1.65,-0.88l0.14,-0.16l0.49,-1.37l0.52,-1.19l0.31,-1.39l0.75,-2.02l0.01,-0.19l-0.33,-1.16l0.16,-0.67l0.0,-0.13l-0.28,-1.41l0.3,-1.78l0.42,-0.45l0.05,-0.33l-0.33,-0.73l0.56,-1.25l0.48,-1.39l0.07,-0.69l0.58,-0.59l0.48,0.84l0.17,1.53l0.17,0.24l0.47,0.23l0.09,0.9l0.05,0.14l0.87,1.23l0.17,1.33l-0.09,0.89l0.03,0.15l0.9,2.0l0.43,0.13l1.38,-0.83l0.71,0.92l1.06,0.88l-0.22,0.96l0.0,0.14l0.53,2.2l0.38,1.3l0.15,0.18l0.52,0.26l0.62,2.01l-0.23,1.27l0.02,0.18l0.81,1.76l0.14,0.14l2.69,1.35l3.21,2.21l-0.2,0.4l0.04,0.34l1.39,1.6l0.95,2.78l0.43,0.16l0.79,-0.46l0.85,0.96l0.39,0.05l0.22,-0.15l0.36,2.33l0.09,0.18l1.78,1.63l1.16,1.01l1.9,2.1l0.67,2.05l0.06,1.47l-0.17,1.64l0.03,0.17l1.16,2.22l-0.14,2.28l-0.43,1.24l-0.68,2.44l0.04,1.63l-0.48,1.92l-1.06,2.43l-1.79,1.32l-0.1,0.12l-0.91,2.15l-0.82,1.37l-0.76,2.47l-0.98,1.46l-0.63,2.14l-0.33,2.02l0.1,0.82l-1.21,0.85l-2.71,0.1l-0.13,0.03l-2.31,1.19l-1.21,1.17l-1.34,1.11l-1.89,-1.18l-1.33,-0.46l0.32,-1.24l-0.4,-0.35l-1.46,0.61l-2.06,1.98l-1.99,-0.73l-1.43,-0.46l-1.45,-0.22l-2.32,-0.81l-1.51,-1.67l-0.45,-2.11l-0.6,-1.5l-0.07,-0.11l-1.23,-1.16l-0.16,-0.08l-1.96,-0.28l0.59,-0.99l0.03,-0.24l-0.61,-2.1l-0.54,-0.08l-1.16,1.85l-1.23,0.29l0.73,-0.88l0.06,-0.12l0.37,-1.57l0.93,-1.33l0.05,-0.2l-0.2,-2.07l-0.53,-0.17l-2.01,2.35l-1.52,0.94l-0.12,0.14l-0.82,1.93l-1.5,-0.9l0.07,-1.32l-0.06,-0.2l-1.57,-2.04l-1.15,-0.92l0.3,-0.41l-0.1,-0.44l-3.21,-1.69l-0.13,-0.03l-1.69,-0.08l-2.35,-1.31l-0.16,-0.04l-4.55,0.27l-3.24,0.99l-2.8,0.91l-2.33,-0.18l-0.17,0.03l-2.63,1.41l-2.14,0.64l-0.2,0.19l-0.47,1.42l-0.8,0.99l-1.99,0.06l-1.55,0.24l-2.27,-0.5l-1.79,0.3l-1.71,0.13l-0.19,0.09l-1.38,1.39l-0.58,-0.1l-0.21,0.04l-1.26,0.8l-1.13,0.85l-1.72,-0.1l-1.6,-0.0l-2.58,-1.76l-1.21,-0.49l0.04,-1.19l1.04,-0.32l0.16,-0.12l0.42,-0.64l0.05,-0.19l-0.09,-0.97l0.3,-2.0l-0.28,-1.64l-1.34,-2.84l-0.39,-1.49l0.1,-1.51l-0.04,-0.17l-0.96,-1.72l-0.06,-0.73l-0.09,-0.19l-1.04,-1.01l-0.3,-2.02l-0.05,-0.12l-1.23,-1.83ZM784.95,393.35l2.39,1.01l0.2,0.01l3.26,-0.96l1.19,0.16l0.16,3.19l-0.78,0.95l-0.07,0.16l-0.19,1.83l-0.43,-0.41l-0.44,0.03l-1.61,1.96l-0.4,-0.12l-1.38,-0.09l-1.43,-2.42l-0.37,-2.03l-1.4,-2.53l0.04,-0.94l1.27,0.2Z", "name": "Australia"}, "IL": {"path": "M509.04,199.22l0.71,0.0l0.27,-0.17l0.15,-0.33l0.19,-0.01l0.02,0.73l-0.27,0.34l0.02,0.08l-0.32,0.62l-0.65,-0.27l-0.41,0.19l-0.52,1.85l0.16,0.35l0.14,0.07l-0.17,0.1l-0.14,0.21l-0.11,0.73l0.39,0.33l0.81,-0.26l0.03,0.64l-0.97,3.43l-1.28,-3.67l0.62,-0.78l-0.03,-0.41l0.58,-1.16l0.5,-2.07l0.27,-0.54Z", "name": "Israel"}, "IN": {"path": "M615.84,192.58l2.4,2.97l-0.24,2.17l0.05,0.2l0.94,1.35l-0.06,0.97l-1.46,-0.3l-0.35,0.36l0.7,3.06l0.12,0.18l2.46,1.75l3.11,1.72l-1.23,0.96l-0.1,0.13l-0.97,2.55l0.16,0.38l2.41,1.02l2.37,1.33l3.27,1.52l3.43,0.37l1.37,1.3l0.17,0.08l1.92,0.25l3.0,0.62l2.15,-0.04l0.28,-0.22l0.29,-1.06l0.0,-0.13l-0.32,-1.66l0.16,-0.94l1.0,-0.37l0.23,2.28l0.18,0.24l2.28,1.02l0.2,0.02l1.52,-0.41l2.06,0.18l2.08,-0.08l0.29,-0.27l0.18,-1.66l-0.1,-0.26l-0.53,-0.44l1.38,-0.23l0.15,-0.07l2.26,-2.0l2.75,-1.65l1.97,0.63l0.25,-0.03l1.54,-0.99l0.89,1.28l-0.72,0.97l0.2,0.48l2.49,0.37l0.11,0.61l-0.69,0.39l-0.15,0.3l0.15,1.22l-1.36,-0.37l-0.23,0.03l-3.24,1.86l-0.15,0.28l0.07,1.44l-1.33,2.16l-0.04,0.13l-0.12,1.24l-0.98,1.91l-1.72,-0.53l-0.39,0.28l-0.09,2.66l-0.52,0.83l-0.04,0.23l0.21,0.89l-0.71,0.36l-1.21,-3.85l-0.29,-0.21l-0.69,0.01l-0.29,0.23l-0.28,1.17l-0.84,-0.84l0.6,-1.17l0.97,-0.13l0.23,-0.16l1.15,-2.25l-0.18,-0.42l-1.54,-0.47l-2.3,0.04l-2.13,-0.33l-0.19,-1.63l-0.26,-0.26l-1.13,-0.13l-1.93,-1.13l-0.42,0.13l-0.88,1.82l0.08,0.37l1.47,1.15l-1.21,0.77l-0.1,0.1l-0.56,0.97l0.13,0.42l1.31,0.61l-0.36,1.35l0.01,0.2l0.85,1.95l0.37,2.05l-0.26,0.68l-1.55,-0.02l-3.09,0.54l-0.25,0.32l0.13,1.84l-1.21,1.4l-3.64,1.79l-2.79,3.04l-1.86,1.61l-2.48,1.68l-0.13,0.25l-0.0,1.0l-1.07,0.55l-2.21,0.9l-1.13,0.13l-0.25,0.19l-0.75,1.96l-0.02,0.15l0.52,3.31l0.13,2.03l-1.03,2.35l-0.03,0.12l-0.01,4.03l-1.02,0.1l-0.23,0.15l-1.14,1.93l0.04,0.36l0.44,0.48l-1.83,0.57l-0.18,0.15l-0.81,1.65l-0.74,0.53l-2.14,-2.12l-1.14,-3.47l-0.96,-2.57l-0.9,-1.26l-1.3,-2.38l-0.61,-3.14l-0.44,-1.62l-2.29,-3.56l-1.03,-4.94l-0.74,-3.29l0.01,-3.12l-0.49,-2.51l-0.41,-0.22l-3.56,1.53l-1.59,-0.28l-2.96,-2.87l0.94,-0.74l0.06,-0.41l-0.74,-1.03l-2.73,-2.1l1.35,-1.43l5.38,0.01l0.29,-0.36l-0.5,-2.29l-0.09,-0.15l-1.33,-1.28l-0.27,-1.96l-0.12,-0.2l-1.36,-1.0l2.42,-2.48l2.77,0.2l0.24,-0.1l2.62,-2.85l1.59,-2.8l2.41,-2.74l0.07,-0.2l-0.04,-1.82l2.01,-1.51l-0.01,-0.49l-1.95,-1.33l-0.83,-1.81l-0.82,-2.27l0.98,-0.97l3.64,0.66l2.89,-0.42l0.17,-0.08l2.18,-2.15Z", "name": "India"}, "TZ": {"path": "M505.77,287.58l0.36,0.23l8.95,5.03l0.15,1.3l0.13,0.21l3.4,2.37l-1.07,2.88l-0.02,0.14l0.15,1.42l0.15,0.23l1.47,0.84l0.05,0.42l-0.66,1.44l-0.02,0.18l0.13,0.72l-0.16,1.16l0.03,0.19l0.87,1.57l1.03,2.48l0.12,0.14l0.53,0.32l-1.59,1.18l-2.64,0.95l-1.45,-0.04l-0.2,0.07l-0.81,0.69l-1.64,0.06l-0.68,0.3l-2.9,-0.69l-1.71,0.17l-0.65,-3.18l-0.05,-0.12l-1.35,-1.88l-0.19,-0.12l-2.41,-0.46l-1.38,-0.74l-1.63,-0.44l-0.96,-0.41l-0.95,-0.58l-1.31,-3.09l-1.47,-1.46l-0.45,-1.31l0.24,-1.34l-0.39,-1.99l0.71,-0.08l0.18,-0.09l0.91,-0.91l0.98,-1.31l0.59,-0.5l0.11,-0.24l-0.02,-0.81l-0.08,-0.2l-0.47,-0.5l-0.1,-0.67l0.51,-0.23l0.18,-0.25l0.14,-1.47l-0.05,-0.2l-0.76,-1.09l0.45,-0.15l2.71,0.03l5.01,-0.19Z", "name": "Tanzania"}, "AZ": {"path": "M539.36,175.66l0.16,0.09l1.11,0.2l0.32,-0.15l0.4,-0.71l1.22,-0.99l1.11,1.33l1.26,2.09l0.22,0.14l1.06,0.13l0.28,0.29l-1.46,0.17l-0.26,0.24l-0.43,2.26l-0.39,0.92l-0.85,0.63l-0.12,0.25l0.06,1.2l-0.22,0.05l-1.28,-1.25l0.74,-1.25l-0.03,-0.35l-0.74,-0.86l-0.3,-0.1l-1.05,0.27l-2.49,1.82l-0.04,-1.46l-0.18,-0.27l-1.09,-0.47l-0.8,-0.6l0.53,-0.7l-0.06,-0.42l-1.11,-0.84l0.34,-0.51l-0.11,-0.43l-0.89,-0.48l-0.33,-0.49l0.25,-0.2l1.78,0.81l1.35,0.18l0.25,-0.09l0.34,-0.35l0.02,-0.39l-1.04,-1.36l0.28,-0.18l0.49,0.07l1.65,1.74ZM533.53,180.16l0.63,0.67l0.22,0.09l0.8,-0.0l0.04,0.31l0.66,1.09l-0.94,-0.21l-1.16,-1.24l-0.25,-0.71Z", "name": "Azerbaijan"}, "IE": {"path": "M405.17,135.35l0.36,2.16l-1.78,2.84l-4.28,1.91l-3.02,-0.43l1.81,-3.13l0.02,-0.26l-1.23,-3.26l3.24,-2.56l1.54,-1.32l0.37,1.33l-0.49,1.77l0.3,0.38l1.49,-0.05l1.68,0.63Z", "name": "Ireland"}, "ID": {"path": "M756.56,287.86l0.69,4.02l0.15,0.21l2.59,1.5l0.39,-0.07l2.05,-2.61l2.75,-1.45l2.09,-0.0l2.08,0.85l1.85,0.89l2.52,0.46l0.08,15.44l-1.72,-1.6l-0.15,-0.07l-2.54,-0.51l-0.29,0.1l-0.53,0.62l-2.53,0.06l0.78,-1.51l1.48,-0.66l0.17,-0.34l-0.65,-2.74l-1.23,-2.19l-0.14,-0.13l-4.85,-2.13l-2.09,-0.23l-3.7,-2.28l-0.41,0.1l-0.67,1.11l-0.63,0.14l-0.41,-0.67l-0.01,-1.01l-0.14,-0.25l-1.39,-0.89l2.05,-0.69l1.73,0.05l0.29,-0.39l-0.21,-0.66l-0.29,-0.21l-3.5,-0.0l-0.9,-1.36l-0.19,-0.13l-2.14,-0.44l-0.65,-0.76l2.86,-0.51l1.28,-0.79l3.75,0.96l0.32,0.76ZM758.01,300.37l-0.79,1.04l-0.14,-1.07l0.4,-0.81l0.29,-0.47l0.24,0.31l-0.0,1.0ZM747.45,292.9l0.48,1.02l-1.45,-0.69l-2.09,-0.21l-1.45,0.16l-1.28,-0.07l0.35,-0.81l2.86,-0.1l2.58,0.68ZM741.15,285.69l-0.16,-0.25l-0.72,-3.08l0.47,-1.86l0.35,-0.38l0.1,0.73l0.25,0.26l1.28,0.19l0.18,0.78l-0.11,1.8l-0.96,-0.18l-0.35,0.22l-0.38,1.52l0.05,0.24ZM741.19,285.75l0.76,0.97l-0.11,0.05l-0.65,-1.02ZM739.18,293.52l-0.61,0.54l-1.44,-0.38l-0.25,-0.55l1.93,-0.09l0.36,0.48ZM728.4,295.87l-0.27,-0.07l-2.26,0.89l-0.37,-0.41l0.27,-0.8l-0.09,-0.33l-1.68,-1.37l0.17,-2.29l-0.42,-0.3l-1.67,0.76l-0.17,0.29l0.21,2.92l0.09,3.34l-1.22,0.28l-0.78,-0.54l0.65,-2.1l0.01,-0.14l-0.39,-2.42l-0.29,-0.25l-0.86,-0.02l-0.63,-1.4l0.99,-1.61l0.35,-1.97l1.24,-3.73l0.49,-0.96l1.95,-1.7l1.86,0.69l3.16,0.35l2.92,-0.1l0.17,-0.06l2.24,-1.65l0.11,0.14l-1.8,2.22l-1.72,0.44l-2.41,-0.48l-4.21,0.13l-2.19,0.36l-0.25,0.24l-0.36,1.9l0.08,0.27l2.24,2.23l0.4,0.02l1.29,-1.08l3.19,-0.58l-0.19,0.06l-1.04,1.4l-2.13,0.94l-0.12,0.45l2.26,3.06l-0.37,0.69l0.03,0.32l1.51,1.95ZM728.48,295.97l0.59,0.76l-0.02,1.37l-1.0,0.55l-0.64,-0.58l1.09,-1.84l-0.02,-0.26ZM728.64,286.95l0.79,-0.14l-0.07,0.39l-0.72,-0.24ZM732.38,310.1l-1.89,0.49l-0.06,-0.06l0.17,-0.64l1.0,-1.42l2.14,-0.87l0.1,0.2l0.04,0.58l-1.49,1.72ZM728.26,305.71l-0.17,0.63l-3.53,0.67l-3.02,-0.28l-0.0,-0.42l1.66,-0.44l1.47,0.71l0.16,0.03l1.75,-0.21l1.69,-0.69ZM722.98,310.33l-0.74,0.03l-2.52,-1.35l1.42,-0.3l1.19,0.7l0.72,0.63l-0.06,0.28ZM716.24,305.63l0.66,0.49l0.22,0.06l1.35,-0.18l0.31,0.53l-4.18,0.77l-0.8,-0.01l0.51,-0.86l1.2,-0.02l0.24,-0.12l0.49,-0.65ZM715.84,280.21l0.09,0.34l2.25,1.86l-2.25,0.22l-0.24,0.17l-0.84,1.71l-0.03,0.15l0.1,2.11l-2.27,1.62l-0.13,0.24l-0.06,2.46l-0.74,2.92l-0.02,-0.05l-0.39,-0.16l-2.62,1.04l-0.86,-1.33l-0.23,-0.14l-1.71,-0.14l-1.19,-0.76l-0.25,-0.03l-2.78,0.84l-0.79,-1.05l-0.26,-0.12l-1.61,0.13l-1.8,-0.25l-0.36,-3.13l-0.15,-0.23l-1.18,-0.65l-1.13,-2.02l-0.33,-2.1l0.27,-2.19l1.05,-1.17l0.28,1.12l0.1,0.16l1.71,1.41l0.28,0.05l1.55,-0.49l1.54,0.17l0.23,-0.07l1.4,-1.21l1.05,-0.19l2.3,0.68l0.16,0.0l2.04,-0.53l0.21,-0.19l1.26,-3.41l0.91,-0.82l0.09,-0.14l0.8,-2.64l2.63,0.0l1.71,0.33l-1.19,1.89l0.02,0.34l1.74,2.24l-0.37,1.0ZM692.67,302.0l0.26,0.19l4.8,0.25l0.28,-0.16l0.44,-0.83l4.29,1.12l0.85,1.52l0.23,0.15l3.71,0.45l2.37,1.15l-2.06,0.69l-2.77,-1.0l-2.25,0.07l-2.57,-0.18l-2.31,-0.45l-2.94,-0.97l-1.84,-0.25l-0.13,0.01l-0.97,0.29l-4.34,-0.98l-0.38,-0.94l-0.25,-0.19l-1.76,-0.14l1.31,-1.84l2.81,0.14l1.97,0.96l0.95,0.19l0.28,0.74ZM685.63,299.27l-2.36,0.04l-2.07,-2.05l-3.17,-2.02l-1.06,-1.5l-1.88,-2.02l-1.22,-1.85l-1.9,-3.49l-2.2,-2.11l-0.71,-2.08l-0.94,-1.99l-0.1,-0.12l-2.21,-1.54l-1.35,-2.17l-1.86,-1.39l-2.53,-2.68l-0.14,-0.81l1.22,0.08l3.76,0.47l2.16,2.4l1.94,1.7l1.37,1.04l2.35,2.67l0.22,0.1l2.44,0.04l1.99,1.62l1.42,2.06l0.09,0.09l1.67,1.0l-0.88,1.8l0.11,0.39l1.44,0.87l0.13,0.04l0.68,0.05l0.41,1.62l0.87,1.4l0.22,0.14l1.71,0.21l1.06,1.38l-0.61,3.04l-0.09,3.6Z", "name": "Indonesia"}, "UA": {"path": "M500.54,141.42l0.9,0.13l0.27,-0.11l0.52,-0.62l0.68,0.13l2.43,-0.3l1.32,1.57l-0.45,0.48l-0.07,0.26l0.21,1.03l0.27,0.24l1.85,0.15l0.76,1.22l-0.05,0.55l0.2,0.31l3.18,1.15l0.18,0.01l1.75,-0.47l1.42,1.41l0.22,0.09l1.42,-0.03l3.44,0.99l0.02,0.65l-0.97,1.62l-0.03,0.24l0.52,1.67l-0.29,0.79l-2.24,0.22l-0.14,0.05l-1.29,0.89l-0.13,0.23l-0.07,1.16l-1.75,0.22l-0.12,0.04l-1.6,0.98l-2.27,0.16l-0.12,0.04l-2.16,1.17l-0.16,0.29l0.15,1.94l0.14,0.23l1.23,0.75l0.18,0.04l2.06,-0.15l-0.22,0.51l-2.67,0.54l-3.27,1.72l-1.0,-0.45l0.45,-1.19l-0.19,-0.39l-2.34,-0.78l0.15,-0.2l2.32,-1.0l0.09,-0.49l-0.73,-0.72l-0.15,-0.08l-3.69,-0.75l-0.14,-0.96l-0.35,-0.25l-2.32,0.39l-0.21,0.15l-0.91,1.7l-1.77,2.1l-0.93,-0.44l-0.24,-0.0l-1.05,0.45l-0.48,-0.25l0.13,-0.07l0.14,-0.15l0.43,-1.04l0.67,-0.97l0.04,-0.26l-0.1,-0.31l0.04,-0.02l0.11,0.19l0.24,0.15l1.48,0.09l0.78,-0.25l0.07,-0.53l-0.27,-0.19l0.09,-0.25l-0.08,-0.33l-0.81,-0.74l-0.34,-1.24l-0.14,-0.18l-0.73,-0.42l0.15,-0.87l-0.11,-0.29l-1.13,-0.86l-0.15,-0.06l-0.97,-0.11l-1.79,-0.97l-0.2,-0.03l-1.66,0.32l-0.13,0.06l-0.52,0.41l-0.95,-0.0l-0.23,0.11l-0.56,0.66l-1.74,0.29l-0.79,0.43l-1.01,-0.68l-0.16,-0.05l-1.57,-0.01l-1.52,-0.35l-0.23,0.04l-0.71,0.45l-0.09,-0.43l-0.13,-0.19l-1.18,-0.74l0.38,-1.02l0.53,-0.64l0.35,0.12l0.37,-0.41l-0.57,-1.29l2.1,-2.5l1.16,-0.36l0.2,-0.2l0.27,-0.92l-0.01,-0.2l-1.1,-2.52l0.79,-0.09l0.13,-0.05l1.3,-0.86l1.83,-0.07l2.48,0.26l2.84,0.8l1.91,0.06l0.88,0.45l0.29,-0.01l0.72,-0.44l0.49,0.58l0.25,0.11l2.2,-0.16l0.94,0.3l0.39,-0.26l0.15,-1.57l0.61,-0.59l2.01,-0.19Z", "name": "Ukraine"}, "QA": {"path": "M548.47,221.47l-0.15,-1.72l0.59,-1.23l0.38,-0.16l0.54,0.6l0.04,1.4l-0.47,1.37l-0.41,0.11l-0.53,-0.37Z", "name": "Qatar"}, "MZ": {"path": "M507.71,314.14l1.65,-0.18l2.96,0.7l0.2,-0.02l0.6,-0.29l1.68,-0.06l0.18,-0.07l0.8,-0.69l1.5,0.02l2.74,-0.98l1.74,-1.27l0.25,0.7l-0.1,2.47l0.31,2.27l0.1,3.97l0.42,1.24l-0.7,1.71l-0.94,1.73l-1.52,1.52l-5.06,2.21l-2.88,2.8l-1.01,0.51l-1.72,1.81l-0.99,0.58l-0.15,0.23l-0.21,1.86l0.04,0.19l1.17,1.95l0.47,1.47l0.03,0.74l0.39,0.28l0.05,-0.01l-0.06,2.13l-0.39,1.19l0.1,0.33l0.42,0.32l-0.28,0.83l-0.95,0.86l-2.03,0.88l-3.08,1.49l-1.1,0.99l-0.09,0.28l0.21,1.13l0.21,0.23l0.38,0.11l-0.14,0.89l-1.39,-0.02l-0.17,-0.94l-0.38,-1.23l-0.2,-0.89l0.44,-2.91l-0.01,-0.14l-0.65,-1.88l-1.15,-3.55l2.52,-2.85l0.68,-1.89l0.29,-0.18l0.14,-0.2l0.28,-1.53l-0.03,-0.19l-0.36,-0.7l0.1,-1.83l0.49,-1.84l-0.01,-3.26l-0.14,-0.25l-1.3,-0.83l-0.11,-0.04l-1.08,-0.17l-0.47,-0.55l-0.1,-0.08l-1.16,-0.54l-0.13,-0.03l-1.83,0.04l-0.32,-2.25l7.19,-1.99l1.32,1.12l0.29,0.06l0.55,-0.19l0.75,0.49l0.11,0.81l-0.49,1.11l-0.02,0.15l0.19,1.81l0.09,0.18l1.63,1.59l0.48,-0.1l0.72,-1.68l0.99,-0.49l0.17,-0.29l-0.21,-3.29l-0.04,-0.13l-1.11,-1.92l-0.9,-0.82l-0.21,-0.08l-0.62,0.03l-0.63,-2.98l0.61,-1.67Z", "name": "Mozambique"}}, "height": 440.7063107441331, "projection": {"type": "mill", "centralMeridian": 11.5}, "width": 900.0});
\ No newline at end of file
diff --git a/js/load-image-meta.js b/js/load-image-meta.js
new file mode 100644
index 0000000..d808508
--- /dev/null
+++ b/js/load-image-meta.js
@@ -0,0 +1,143 @@
+/*
+ * JavaScript Load Image Meta 1.0.2
+ * https://github.com/blueimp/JavaScript-Load-Image
+ *
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Image meta data handling implementation
+ * based on the help and contribution of
+ * Achim StÃ¶hr.
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/*jslint continue:true */
+/*global define, window, DataView, Blob, Uint8Array, console */
+
+(function (factory) {
+    'use strict';
+    if (typeof define === 'function' && define.amd) {
+        // Register as an anonymous AMD module:
+        define(['load-image'], factory);
+    } else {
+        // Browser globals:
+        factory(window.loadImage);
+    }
+}(function (loadImage) {
+    'use strict';
+
+    var hasblobSlice = window.Blob && (Blob.prototype.slice ||
+            Blob.prototype.webkitSlice || Blob.prototype.mozSlice);
+
+    loadImage.blobSlice = hasblobSlice && function () {
+        var slice = this.slice || this.webkitSlice || this.mozSlice;
+        return slice.apply(this, arguments);
+    };
+
+    loadImage.metaDataParsers = {
+        jpeg: {
+            0xffe1: [] // APP1 marker
+        }
+    };
+
+    // Parses image meta data and calls the callback with an object argument
+    // with the following properties:
+    // * imageHead: The complete image head as ArrayBuffer (Uint8Array for IE10)
+    // The options arguments accepts an object and supports the following properties:
+    // * maxMetaDataSize: Defines the maximum number of bytes to parse.
+    // * disableImageHead: Disables creating the imageHead property.
+    loadImage.parseMetaData = function (file, callback, options) {
+        options = options || {};
+        var that = this,
+            // 256 KiB should contain all EXIF/ICC/IPTC segments:
+            maxMetaDataSize = options.maxMetaDataSize || 262144,
+            data = {},
+            noMetaData = !(window.DataView  && file && file.size >= 12 &&
+                file.type === 'image/jpeg' && loadImage.blobSlice);
+        if (noMetaData || !loadImage.readFile(
+                loadImage.blobSlice.call(file, 0, maxMetaDataSize),
+                function (e) {
+                    if (e.target.error) {
+                        // FileReader error
+                        console.log(e.target.error);
+                        callback(data);
+                        return;
+                    }
+                    // Note on endianness:
+                    // Since the marker and length bytes in JPEG files are always
+                    // stored in big endian order, we can leave the endian parameter
+                    // of the DataView methods undefined, defaulting to big endian.
+                    var buffer = e.target.result,
+                        dataView = new DataView(buffer),
+                        offset = 2,
+                        maxOffset = dataView.byteLength - 4,
+                        headLength = offset,
+                        markerBytes,
+                        markerLength,
+                        parsers,
+                        i;
+                    // Check for the JPEG marker (0xffd8):
+                    if (dataView.getUint16(0) === 0xffd8) {
+                        while (offset < maxOffset) {
+                            markerBytes = dataView.getUint16(offset);
+                            // Search for APPn (0xffeN) and COM (0xfffe) markers,
+                            // which contain application-specific meta-data like
+                            // Exif, ICC and IPTC data and text comments:
+                            if ((markerBytes >= 0xffe0 && markerBytes <= 0xffef) ||
+                                    markerBytes === 0xfffe) {
+                                // The marker bytes (2) are always followed by
+                                // the length bytes (2), indicating the length of the
+                                // marker segment, which includes the length bytes,
+                                // but not the marker bytes, so we add 2:
+                                markerLength = dataView.getUint16(offset + 2) + 2;
+                                if (offset + markerLength > dataView.byteLength) {
+                                    console.log('Invalid meta data: Invalid segment size.');
+                                    break;
+                                }
+                                parsers = loadImage.metaDataParsers.jpeg[markerBytes];
+                                if (parsers) {
+                                    for (i = 0; i < parsers.length; i += 1) {
+                                        parsers[i].call(
+                                            that,
+                                            dataView,
+                                            offset,
+                                            markerLength,
+                                            data,
+                                            options
+                                        );
+                                    }
+                                }
+                                offset += markerLength;
+                                headLength = offset;
+                            } else {
+                                // Not an APPn or COM marker, probably safe to
+                                // assume that this is the end of the meta data
+                                break;
+                            }
+                        }
+                        // Meta length must be longer than JPEG marker (2)
+                        // plus APPn marker (2), followed by length bytes (2):
+                        if (!options.disableImageHead && headLength > 6) {
+                            if (buffer.slice) {
+                                data.imageHead = buffer.slice(0, headLength);
+                            } else {
+                                // Workaround for IE10, which does not yet
+                                // support ArrayBuffer.slice:
+                                data.imageHead = new Uint8Array(buffer)
+                                    .subarray(0, headLength);
+                            }
+                        }
+                    } else {
+                        console.log('Invalid JPEG file: Missing JPEG marker.');
+                    }
+                    callback(data);
+                },
+                'readAsArrayBuffer'
+            )) {
+            callback(data);
+        }
+    };
+
+}));
diff --git a/js/load-image-orientation.js b/js/load-image-orientation.js
new file mode 100644
index 0000000..5e24cda
--- /dev/null
+++ b/js/load-image-orientation.js
@@ -0,0 +1,166 @@
+/*
+ * JavaScript Load Image Orientation 1.1.0
+ * https://github.com/blueimp/JavaScript-Load-Image
+ *a
+ * Copyright 2013, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/*global define, window */
+
+(function (factory) {
+    'use strict';
+    if (typeof define === 'function' && define.amd) {
+        // Register as an anonymous AMD module:
+        define(['load-image'], factory);
+    } else {
+        // Browser globals:
+        factory(window.loadImage);
+    }
+}(function (loadImage) {
+    'use strict';
+
+    var originalHasCanvasOption = loadImage.hasCanvasOption,
+        originalTransformCoordinates = loadImage.transformCoordinates,
+        originalGetTransformedOptions = loadImage.getTransformedOptions;
+
+    // This method is used to determine if the target image
+    // should be a canvas element:
+    loadImage.hasCanvasOption = function (options) {
+        return originalHasCanvasOption.call(loadImage, options) ||
+            options.orientation;
+    };
+
+    // Transform image orientation based on
+    // the given EXIF orientation option:
+    loadImage.transformCoordinates = function (canvas, options) {
+        originalTransformCoordinates.call(loadImage, canvas, options);
+        var ctx = canvas.getContext('2d'),
+            width = canvas.width,
+            height = canvas.height,
+            orientation = options.orientation;
+        if (!orientation || orientation > 8) {
+            return;
+        }
+        if (orientation > 4) {
+            canvas.width = height;
+            canvas.height = width;
+        }
+        switch (orientation) {
+        case 2:
+            // horizontal flip
+            ctx.translate(width, 0);
+            ctx.scale(-1, 1);
+            break;
+        case 3:
+            // 180° rotate left
+            ctx.translate(width, height);
+            ctx.rotate(Math.PI);
+            break;
+        case 4:
+            // vertical flip
+            ctx.translate(0, height);
+            ctx.scale(1, -1);
+            break;
+        case 5:
+            // vertical flip + 90 rotate right
+            ctx.rotate(0.5 * Math.PI);
+            ctx.scale(1, -1);
+            break;
+        case 6:
+            // 90° rotate right
+            ctx.rotate(0.5 * Math.PI);
+            ctx.translate(0, -height);
+            break;
+        case 7:
+            // horizontal flip + 90 rotate right
+            ctx.rotate(0.5 * Math.PI);
+            ctx.translate(width, -height);
+            ctx.scale(-1, 1);
+            break;
+        case 8:
+            // 90° rotate left
+            ctx.rotate(-0.5 * Math.PI);
+            ctx.translate(-width, 0);
+            break;
+        }
+    };
+
+    // Transforms coordinate and dimension options
+    // based on the given orientation option:
+    loadImage.getTransformedOptions = function (img, opts) {
+        var options = originalGetTransformedOptions.call(loadImage, img, opts),
+            orientation = options.orientation,
+            newOptions,
+            i;
+        if (!orientation || orientation > 8 || orientation === 1) {
+            return options;
+        }
+        newOptions = {};
+        for (i in options) {
+            if (options.hasOwnProperty(i)) {
+                newOptions[i] = options[i];
+            }
+        }
+        switch (options.orientation) {
+        case 2:
+            // horizontal flip
+            newOptions.left = options.right;
+            newOptions.right = options.left;
+            break;
+        case 3:
+            // 180° rotate left
+            newOptions.left = options.right;
+            newOptions.top = options.bottom;
+            newOptions.right = options.left;
+            newOptions.bottom = options.top;
+            break;
+        case 4:
+            // vertical flip
+            newOptions.top = options.bottom;
+            newOptions.bottom = options.top;
+            break;
+        case 5:
+            // vertical flip + 90 rotate right
+            newOptions.left = options.top;
+            newOptions.top = options.left;
+            newOptions.right = options.bottom;
+            newOptions.bottom = options.right;
+            break;
+        case 6:
+            // 90° rotate right
+            newOptions.left = options.top;
+            newOptions.top = options.right;
+            newOptions.right = options.bottom;
+            newOptions.bottom = options.left;
+            break;
+        case 7:
+            // horizontal flip + 90 rotate right
+            newOptions.left = options.bottom;
+            newOptions.top = options.right;
+            newOptions.right = options.top;
+            newOptions.bottom = options.left;
+            break;
+        case 8:
+            // 90° rotate left
+            newOptions.left = options.bottom;
+            newOptions.top = options.left;
+            newOptions.right = options.top;
+            newOptions.bottom = options.right;
+            break;
+        }
+        if (options.orientation > 4) {
+            newOptions.maxWidth = options.maxHeight;
+            newOptions.maxHeight = options.maxWidth;
+            newOptions.minWidth = options.minHeight;
+            newOptions.minHeight = options.minWidth;
+            newOptions.sourceWidth = options.sourceHeight;
+            newOptions.sourceHeight = options.sourceWidth;
+        }
+        return newOptions;
+    };
+
+}));
diff --git a/js/load-image.js b/js/load-image.js
new file mode 100644
index 0000000..ab6127b
--- /dev/null
+++ b/js/load-image.js
@@ -0,0 +1,301 @@
+/*
+ * JavaScript Load Image 1.10.0
+ * https://github.com/blueimp/JavaScript-Load-Image
+ *
+ * Copyright 2011, Sebastian Tschan
+ * https://blueimp.net
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/MIT
+ */
+
+/*jslint nomen: true */
+/*global define, window, document, URL, webkitURL, Blob, File, FileReader */
+
+(function ($) {
+    'use strict';
+
+    // Loads an image for a given File object.
+    // Invokes the callback with an img or optional canvas
+    // element (if supported by the browser) as parameter:
+    var loadImage = function (file, callback, options) {
+            var img = document.createElement('img'),
+                url,
+                oUrl;
+            img.onerror = callback;
+            img.onload = function () {
+                if (oUrl && !(options && options.noRevoke)) {
+                    loadImage.revokeObjectURL(oUrl);
+                }
+                if (callback) {
+                    callback(loadImage.scale(img, options));
+                }
+            };
+            if (loadImage.isInstanceOf('Blob', file) ||
+                    // Files are also Blob instances, but some browsers
+                    // (Firefox 3.6) support the File API but not Blobs:
+                    loadImage.isInstanceOf('File', file)) {
+                url = oUrl = loadImage.createObjectURL(file);
+                // Store the file type for resize processing:
+                img._type = file.type;
+            } else if (typeof file === 'string') {
+                url = file;
+                if (options && options.crossOrigin) {
+                    img.crossOrigin = options.crossOrigin;
+                }
+            } else {
+                return false;
+            }
+            if (url) {
+                img.src = url;
+                return img;
+            }
+            return loadImage.readFile(file, function (e) {
+                var target = e.target;
+                if (target && target.result) {
+                    img.src = target.result;
+                } else {
+                    if (callback) {
+                        callback(e);
+                    }
+                }
+            });
+        },
+        // The check for URL.revokeObjectURL fixes an issue with Opera 12,
+        // which provides URL.createObjectURL but doesn't properly implement it:
+        urlAPI = (window.createObjectURL && window) ||
+            (window.URL && URL.revokeObjectURL && URL) ||
+            (window.webkitURL && webkitURL);
+
+    loadImage.isInstanceOf = function (type, obj) {
+        // Cross-frame instanceof check
+        return Object.prototype.toString.call(obj) === '[object ' + type + ']';
+    };
+
+    // Transform image coordinates, allows to override e.g.
+    // the canvas orientation based on the orientation option,
+    // gets canvas, options passed as arguments:
+    loadImage.transformCoordinates = function () {
+        return;
+    };
+
+    // Returns transformed options, allows to override e.g.
+    // maxWidth, maxHeight and crop options based on the aspectRatio.
+    // gets img, options passed as arguments:
+    loadImage.getTransformedOptions = function (img, options) {
+        var aspectRatio = options.aspectRatio,
+            newOptions,
+            i,
+            width,
+            height;
+        if (!aspectRatio) {
+            return options;
+        }
+        newOptions = {};
+        for (i in options) {
+            if (options.hasOwnProperty(i)) {
+                newOptions[i] = options[i];
+            }
+        }
+        newOptions.crop = true;
+        width = img.naturalWidth || img.width;
+        height = img.naturalHeight || img.height;
+        if (width / height > aspectRatio) {
+            newOptions.maxWidth = height * aspectRatio;
+            newOptions.maxHeight = height;
+        } else {
+            newOptions.maxWidth = width;
+            newOptions.maxHeight = width / aspectRatio;
+        }
+        return newOptions;
+    };
+
+    // Canvas render method, allows to override the
+    // rendering e.g. to work around issues on iOS:
+    loadImage.renderImageToCanvas = function (
+        canvas,
+        img,
+        sourceX,
+        sourceY,
+        sourceWidth,
+        sourceHeight,
+        destX,
+        destY,
+        destWidth,
+        destHeight
+    ) {
+        canvas.getContext('2d').drawImage(
+            img,
+            sourceX,
+            sourceY,
+            sourceWidth,
+            sourceHeight,
+            destX,
+            destY,
+            destWidth,
+            destHeight
+        );
+        return canvas;
+    };
+
+    // This method is used to determine if the target image
+    // should be a canvas element:
+    loadImage.hasCanvasOption = function (options) {
+        return options.canvas || options.crop || options.aspectRatio;
+    };
+
+    // Scales and/or crops the given image (img or canvas HTML element)
+    // using the given options.
+    // Returns a canvas object if the browser supports canvas
+    // and the hasCanvasOption method returns true or a canvas
+    // object is passed as image, else the scaled image:
+    loadImage.scale = function (img, options) {
+        options = options || {};
+        var canvas = document.createElement('canvas'),
+            useCanvas = img.getContext ||
+                (loadImage.hasCanvasOption(options) && canvas.getContext),
+            width = img.naturalWidth || img.width,
+            height = img.naturalHeight || img.height,
+            destWidth = width,
+            destHeight = height,
+            maxWidth,
+            maxHeight,
+            minWidth,
+            minHeight,
+            sourceWidth,
+            sourceHeight,
+            sourceX,
+            sourceY,
+            tmp,
+            scaleUp = function () {
+                var scale = Math.max(
+                    (minWidth || destWidth) / destWidth,
+                    (minHeight || destHeight) / destHeight
+                );
+                if (scale > 1) {
+                    destWidth = destWidth * scale;
+                    destHeight = destHeight * scale;
+                }
+            },
+            scaleDown = function () {
+                var scale = Math.min(
+                    (maxWidth || destWidth) / destWidth,
+                    (maxHeight || destHeight) / destHeight
+                );
+                if (scale < 1) {
+                    destWidth = destWidth * scale;
+                    destHeight = destHeight * scale;
+                }
+            };
+        if (useCanvas) {
+            options = loadImage.getTransformedOptions(img, options);
+            sourceX = options.left || 0;
+            sourceY = options.top || 0;
+            if (options.sourceWidth) {
+                sourceWidth = options.sourceWidth;
+                if (options.right !== undefined && options.left === undefined) {
+                    sourceX = width - sourceWidth - options.right;
+                }
+            } else {
+                sourceWidth = width - sourceX - (options.right || 0);
+            }
+            if (options.sourceHeight) {
+                sourceHeight = options.sourceHeight;
+                if (options.bottom !== undefined && options.top === undefined) {
+                    sourceY = height - sourceHeight - options.bottom;
+                }
+            } else {
+                sourceHeight = height - sourceY - (options.bottom || 0);
+            }
+            destWidth = sourceWidth;
+            destHeight = sourceHeight;
+        }
+        maxWidth = options.maxWidth;
+        maxHeight = options.maxHeight;
+        minWidth = options.minWidth;
+        minHeight = options.minHeight;
+        if (useCanvas && maxWidth && maxHeight && options.crop) {
+            destWidth = maxWidth;
+            destHeight = maxHeight;
+            tmp = sourceWidth / sourceHeight - maxWidth / maxHeight;
+            if (tmp < 0) {
+                sourceHeight = maxHeight * sourceWidth / maxWidth;
+                if (options.top === undefined && options.bottom === undefined) {
+                    sourceY = (height - sourceHeight) / 2;
+                }
+            } else if (tmp > 0) {
+                sourceWidth = maxWidth * sourceHeight / maxHeight;
+                if (options.left === undefined && options.right === undefined) {
+                    sourceX = (width - sourceWidth) / 2;
+                }
+            }
+        } else {
+            if (options.contain || options.cover) {
+                minWidth = maxWidth = maxWidth || minWidth;
+                minHeight = maxHeight = maxHeight || minHeight;
+            }
+            if (options.cover) {
+                scaleDown();
+                scaleUp();
+            } else {
+                scaleUp();
+                scaleDown();
+            }
+        }
+        if (useCanvas) {
+            canvas.width = destWidth;
+            canvas.height = destHeight;
+            loadImage.transformCoordinates(
+                canvas,
+                options
+            );
+            return loadImage.renderImageToCanvas(
+                canvas,
+                img,
+                sourceX,
+                sourceY,
+                sourceWidth,
+                sourceHeight,
+                0,
+                0,
+                destWidth,
+                destHeight
+            );
+        }
+        img.width = destWidth;
+        img.height = destHeight;
+        return img;
+    };
+
+    loadImage.createObjectURL = function (file) {
+        return urlAPI ? urlAPI.createObjectURL(file) : false;
+    };
+
+    loadImage.revokeObjectURL = function (url) {
+        return urlAPI ? urlAPI.revokeObjectURL(url) : false;
+    };
+
+    // Loads a given File object via FileReader interface,
+    // invokes the callback with the event object (load or error).
+    // The result can be read via event.target.result:
+    loadImage.readFile = function (file, callback, method) {
+        if (window.FileReader) {
+            var fileReader = new FileReader();
+            fileReader.onload = fileReader.onerror = callback;
+            method = method || 'readAsDataURL';
+            if (fileReader[method]) {
+                fileReader[method](file);
+                return fileReader;
+            }
+        }
+        return false;
+    };
+
+    if (typeof define === 'function' && define.amd) {
+        define(function () {
+            return loadImage;
+        });
+    } else {
+        $.loadImage = loadImage;
+    }
+}(this));
\ No newline at end of file
diff --git a/js/modernizr.custom.js b/js/modernizr.custom.js
new file mode 100644
index 0000000..adf2df7
--- /dev/null
+++ b/js/modernizr.custom.js
@@ -0,0 +1,4 @@
+/* Modernizr 2.8.3 (Custom Build) | MIT & BSD
+ * Build: http://modernizr.com/download/#-cssanimations-shiv-cssclasses-prefixed-testprop-testallprops-domprefixes-load
+ */
+;window.Modernizr=function(a,b,c){function x(a){j.cssText=a}function y(a,b){return x(prefixes.join(a+";")+(b||""))}function z(a,b){return typeof a===b}function A(a,b){return!!~(""+a).indexOf(b)}function B(a,b){for(var d in a){var e=a[d];if(!A(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function C(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:z(f,"function")?f.bind(d||b):f}return!1}function D(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+n.join(d+" ")+d).split(" ");return z(b,"string")||z(b,"undefined")?B(e,b):(e=(a+" "+o.join(d+" ")+d).split(" "),C(e,b,c))}var d="2.8.3",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m="Webkit Moz O ms",n=m.split(" "),o=m.toLowerCase().split(" "),p={},q={},r={},s=[],t=s.slice,u,v={}.hasOwnProperty,w;!z(v,"undefined")&&!z(v.call,"undefined")?w=function(a,b){return v.call(a,b)}:w=function(a,b){return b in a&&z(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=t.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(t.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(t.call(arguments)))};return e}),p.cssanimations=function(){return D("animationName")};for(var E in p)w(p,E)&&(u=E.toLowerCase(),e[u]=p[E](),s.push((e[u]?"":"no-")+u));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)w(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},x(""),i=k=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function q(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return s.shivMethods?o(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(s,b.frag)}function r(a){a||(a=b);var c=n(a);return s.shivCSS&&!g&&!c.hasCSS&&(c.hasCSS=!!l(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),k||q(a,c),a}var c="3.7.0",d=a.html5||{},e=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,f=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,g,h="_html5shiv",i=0,j={},k;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",g="hidden"in a,k=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._domPrefixes=o,e._cssomPrefixes=n,e.testProp=function(a){return B([a])},e.testAllProps=D,e.prefixed=function(a,b,c){return b?D(a,b,c):D(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+s.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
\ No newline at end of file
diff --git a/js/notificationFx.js b/js/notificationFx.js
new file mode 100644
index 0000000..1f36a7d
--- /dev/null
+++ b/js/notificationFx.js
@@ -0,0 +1,160 @@
+/**
+ * notificationFx.js v1.0.0
+ * http://www.codrops.com
+ *
+ * Licensed under the MIT license.
+ * http://www.opensource.org/licenses/mit-license.php
+ * 
+ * Copyright 2014, Codrops
+ * http://www.codrops.com
+ */
+;( function( window ) {
+	
+	'use strict';
+
+	var docElem = window.document.documentElement,
+		support = { animations : Modernizr.cssanimations },
+		animEndEventNames = {
+			'WebkitAnimation' : 'webkitAnimationEnd',
+			'OAnimation' : 'oAnimationEnd',
+			'msAnimation' : 'MSAnimationEnd',
+			'animation' : 'animationend'
+		},
+		// animation end event name
+		animEndEventName = animEndEventNames[ Modernizr.prefixed( 'animation' ) ];
+	
+	/**
+	 * extend obj function
+	 */
+	function extend( a, b ) {
+		for( var key in b ) { 
+			if( b.hasOwnProperty( key ) ) {
+				a[key] = b[key];
+			}
+		}
+		return a;
+	}
+
+	/**
+	 * NotificationFx function
+	 */
+	function NotificationFx( options ) {	
+		this.options = extend( {}, this.options );
+		extend( this.options, options );
+		this._init();
+	}
+
+	/**
+	 * NotificationFx options
+	 */
+	NotificationFx.prototype.options = {
+		// element to which the notification will be appended
+		// defaults to the document.body
+		wrapper : document.body,
+		// the message
+		message : 'yo!',
+		// layout type: growl|attached|bar|other
+		layout : 'growl',
+		// effects for the specified layout:
+		// for growl layout: scale|slide|genie|jelly
+		// for attached layout: flip|bouncyflip
+		// for other layout: boxspinner|cornerexpand|loadingcircle|thumbslider
+		// ...
+		effect : 'slide',
+		// notice, warning, error, success
+		// will add class ns-type-warning, ns-type-error or ns-type-success
+		type : 'error',
+		// if the user doesnÂ´t close the notification then we remove it 
+		// after the following time
+		ttl : 6000,
+		// callbacks
+		onClose : function() { return false; },
+		onOpen : function() { return false; }
+	}
+
+	/**
+	 * init function
+	 * initialize and cache some vars
+	 */
+	NotificationFx.prototype._init = function() {
+		// create HTML structure
+		this.ntf = document.createElement( 'div' );
+		this.ntf.className = 'ns-box ns-' + this.options.layout + ' ns-effect-' + this.options.effect + ' ns-type-' + this.options.type;
+		var strinner = '<div class="ns-box-inner">';
+		strinner += this.options.message;
+		strinner += '</div>';
+		strinner += '<span class="ns-close"></span></div>';
+		this.ntf.innerHTML = strinner;
+
+		// append to body or the element specified in options.wrapper
+		this.options.wrapper.insertBefore( this.ntf, this.options.wrapper.firstChild );
+
+		// dismiss after [options.ttl]ms
+		var self = this;
+		this.dismissttl = setTimeout( function() {
+			if( self.active ) {
+				self.dismiss();
+			}
+		}, this.options.ttl );
+
+		// init events
+		this._initEvents();
+	}
+
+	/**
+	 * init events
+	 */
+	NotificationFx.prototype._initEvents = function() {
+		var self = this;
+		// dismiss notification
+		this.ntf.querySelector( '.ns-close' ).addEventListener( 'click', function() { self.dismiss(); } );
+	}
+
+	/**
+	 * show the notification
+	 */
+	NotificationFx.prototype.show = function() {
+		this.active = true;
+		classie.remove( this.ntf, 'ns-hide' );
+		classie.add( this.ntf, 'ns-show' );
+		this.options.onOpen();
+	}
+
+	/**
+	 * dismiss the notification
+	 */
+	NotificationFx.prototype.dismiss = function() {
+		var self = this;
+		this.active = false;
+		clearTimeout( this.dismissttl );
+		classie.remove( this.ntf, 'ns-show' );
+		setTimeout( function() {
+			classie.add( self.ntf, 'ns-hide' );
+			
+			// callback
+			self.options.onClose();
+		}, 25 );
+
+		// after animation ends remove ntf from the DOM
+		var onEndAnimationFn = function( ev ) {
+			if( support.animations ) {
+				if( ev.target !== self.ntf ) return false;
+				this.removeEventListener( animEndEventName, onEndAnimationFn );
+			}
+			self.options.wrapper.removeChild( this );
+		};
+
+		if( support.animations ) {
+			this.ntf.addEventListener( animEndEventName, onEndAnimationFn );
+		}
+		else {
+			onEndAnimationFn();
+		}
+	}
+
+	/**
+	 * add to global namespace
+	 */
+	window.NotificationFx = NotificationFx;
+
+} )( window );
\ No newline at end of file
diff --git a/js/snap.svg-min.js b/js/snap.svg-min.js
new file mode 100644
index 0000000..ca9601a
--- /dev/null
+++ b/js/snap.svg-min.js
@@ -0,0 +1,20 @@
+// Snap.svg 0.3.0
+// 
+// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+// http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// 
+// build: 2014-06-03
+!function(a){var b,c,d="0.4.2",e="hasOwnProperty",f=/[\.\/]/,g=/\s*,\s*/,h="*",i=function(a,b){return a-b},j={n:{}},k=function(){for(var a=0,b=this.length;b>a;a++)if("undefined"!=typeof this[a])return this[a]},l=function(){for(var a=this.length;--a;)if("undefined"!=typeof this[a])return this[a]},m=function(a,d){a=String(a);var e,f=c,g=Array.prototype.slice.call(arguments,2),h=m.listeners(a),j=0,n=[],o={},p=[],q=b;p.firstDefined=k,p.lastDefined=l,b=a,c=0;for(var r=0,s=h.length;s>r;r++)"zIndex"in h[r]&&(n.push(h[r].zIndex),h[r].zIndex<0&&(o[h[r].zIndex]=h[r]));for(n.sort(i);n[j]<0;)if(e=o[n[j++]],p.push(e.apply(d,g)),c)return c=f,p;for(r=0;s>r;r++)if(e=h[r],"zIndex"in e)if(e.zIndex==n[j]){if(p.push(e.apply(d,g)),c)break;do if(j++,e=o[n[j]],e&&p.push(e.apply(d,g)),c)break;while(e)}else o[e.zIndex]=e;else if(p.push(e.apply(d,g)),c)break;return c=f,b=q,p};m._events=j,m.listeners=function(a){var b,c,d,e,g,i,k,l,m=a.split(f),n=j,o=[n],p=[];for(e=0,g=m.length;g>e;e++){for(l=[],i=0,k=o.length;k>i;i++)for(n=o[i].n,c=[n[m[e]],n[h]],d=2;d--;)b=c[d],b&&(l.push(b),p=p.concat(b.f||[]));o=l}return p},m.on=function(a,b){if(a=String(a),"function"!=typeof b)return function(){};for(var c=a.split(g),d=0,e=c.length;e>d;d++)!function(a){for(var c,d=a.split(f),e=j,g=0,h=d.length;h>g;g++)e=e.n,e=e.hasOwnProperty(d[g])&&e[d[g]]||(e[d[g]]={n:{}});for(e.f=e.f||[],g=0,h=e.f.length;h>g;g++)if(e.f[g]==b){c=!0;break}!c&&e.f.push(b)}(c[d]);return function(a){+a==+a&&(b.zIndex=+a)}},m.f=function(a){var b=[].slice.call(arguments,1);return function(){m.apply(null,[a,null].concat(b).concat([].slice.call(arguments,0)))}},m.stop=function(){c=1},m.nt=function(a){return a?new RegExp("(?:\\.|\\/|^)"+a+"(?:\\.|\\/|$)").test(b):b},m.nts=function(){return b.split(f)},m.off=m.unbind=function(a,b){if(!a)return void(m._events=j={n:{}});var c=a.split(g);if(c.length>1)for(var d=0,i=c.length;i>d;d++)m.off(c[d],b);else{c=a.split(f);var k,l,n,d,i,o,p,q=[j];for(d=0,i=c.length;i>d;d++)for(o=0;o<q.length;o+=n.length-2){if(n=[o,1],k=q[o].n,c[d]!=h)k[c[d]]&&n.push(k[c[d]]);else for(l in k)k[e](l)&&n.push(k[l]);q.splice.apply(q,n)}for(d=0,i=q.length;i>d;d++)for(k=q[d];k.n;){if(b){if(k.f){for(o=0,p=k.f.length;p>o;o++)if(k.f[o]==b){k.f.splice(o,1);break}!k.f.length&&delete k.f}for(l in k.n)if(k.n[e](l)&&k.n[l].f){var r=k.n[l].f;for(o=0,p=r.length;p>o;o++)if(r[o]==b){r.splice(o,1);break}!r.length&&delete k.n[l].f}}else{delete k.f;for(l in k.n)k.n[e](l)&&k.n[l].f&&delete k.n[l].f}k=k.n}}},m.once=function(a,b){var c=function(){return m.unbind(a,c),b.apply(this,arguments)};return m.on(a,c)},m.version=d,m.toString=function(){return"You are running Eve "+d},"undefined"!=typeof module&&module.exports?module.exports=m:"function"==typeof define&&define.amd?define("eve",[],function(){return m}):a.eve=m}(this),function(a,b){"function"==typeof define&&define.amd?define(["eve"],function(c){return b(a,c)}):b(a,a.eve)}(this,function(a,b){var c=function(b){var c={},d=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||function(a){setTimeout(a,16)},e=Array.isArray||function(a){return a instanceof Array||"[object Array]"==Object.prototype.toString.call(a)},f=0,g="M"+(+new Date).toString(36),h=function(){return g+(f++).toString(36)},i=Date.now||function(){return+new Date},j=function(a){var b=this;if(null==a)return b.s;var c=b.s-a;b.b+=b.dur*c,b.B+=b.dur*c,b.s=a},k=function(a){var b=this;return null==a?b.spd:void(b.spd=a)},l=function(a){var b=this;return null==a?b.dur:(b.s=b.s*a/b.dur,void(b.dur=a))},m=function(){var a=this;delete c[a.id],a.update(),b("mina.stop."+a.id,a)},n=function(){var a=this;a.pdif||(delete c[a.id],a.update(),a.pdif=a.get()-a.b)},o=function(){var a=this;a.pdif&&(a.b=a.get()-a.pdif,delete a.pdif,c[a.id]=a)},p=function(){var a,b=this;if(e(b.start)){a=[];for(var c=0,d=b.start.length;d>c;c++)a[c]=+b.start[c]+(b.end[c]-b.start[c])*b.easing(b.s)}else a=+b.start+(b.end-b.start)*b.easing(b.s);b.set(a)},q=function(){var a=0;for(var e in c)if(c.hasOwnProperty(e)){var f=c[e],g=f.get();a++,f.s=(g-f.b)/(f.dur/f.spd),f.s>=1&&(delete c[e],f.s=1,a--,function(a){setTimeout(function(){b("mina.finish."+a.id,a)})}(f)),f.update()}a&&d(q)},r=function(a,b,e,f,g,i,s){var t={id:h(),start:a,end:b,b:e,s:0,dur:f-e,spd:1,get:g,set:i,easing:s||r.linear,status:j,speed:k,duration:l,stop:m,pause:n,resume:o,update:p};c[t.id]=t;var u,v=0;for(u in c)if(c.hasOwnProperty(u)&&(v++,2==v))break;return 1==v&&d(q),t};return r.time=i,r.getById=function(a){return c[a]||null},r.linear=function(a){return a},r.easeout=function(a){return Math.pow(a,1.7)},r.easein=function(a){return Math.pow(a,.48)},r.easeinout=function(a){if(1==a)return 1;if(0==a)return 0;var b=.48-a/1.04,c=Math.sqrt(.1734+b*b),d=c-b,e=Math.pow(Math.abs(d),1/3)*(0>d?-1:1),f=-c-b,g=Math.pow(Math.abs(f),1/3)*(0>f?-1:1),h=e+g+.5;return 3*(1-h)*h*h+h*h*h},r.backin=function(a){if(1==a)return 1;var b=1.70158;return a*a*((b+1)*a-b)},r.backout=function(a){if(0==a)return 0;a-=1;var b=1.70158;return a*a*((b+1)*a+b)+1},r.elastic=function(a){return a==!!a?a:Math.pow(2,-10*a)*Math.sin(2*(a-.075)*Math.PI/.3)+1},r.bounce=function(a){var b,c=7.5625,d=2.75;return 1/d>a?b=c*a*a:2/d>a?(a-=1.5/d,b=c*a*a+.75):2.5/d>a?(a-=2.25/d,b=c*a*a+.9375):(a-=2.625/d,b=c*a*a+.984375),b},a.mina=r,r}("undefined"==typeof b?function(){}:b),d=function(){function d(a,b){if(a){if(a.tagName)return y(a);if(f(a,"array")&&d.set)return d.set.apply(d,a);if(a instanceof u)return a;if(null==b)return a=z.doc.querySelector(a),y(a)}return a=null==a?"100%":a,b=null==b?"100%":b,new x(a,b)}function e(a,b){if(b){if("#text"==a&&(a=z.doc.createTextNode(b.text||"")),"string"==typeof a&&(a=e(a)),"string"==typeof b)return"xlink:"==b.substring(0,6)?a.getAttributeNS(W,b.substring(6)):"xml:"==b.substring(0,4)?a.getAttributeNS(X,b.substring(4)):a.getAttribute(b);for(var c in b)if(b[A](c)){var d=B(b[c]);d?"xlink:"==c.substring(0,6)?a.setAttributeNS(W,c.substring(6),d):"xml:"==c.substring(0,4)?a.setAttributeNS(X,c.substring(4),d):a.setAttribute(c,d):a.removeAttribute(c)}}else a=z.doc.createElementNS(X,a);return a}function f(a,b){return b=B.prototype.toLowerCase.call(b),"finite"==b?isFinite(a):"array"==b&&(a instanceof Array||Array.isArray&&Array.isArray(a))?!0:"null"==b&&null===a||b==typeof a&&null!==a||"object"==b&&a===Object(a)||L.call(a).slice(8,-1).toLowerCase()==b}function h(a){if("function"==typeof a||Object(a)!==a)return a;var b=new a.constructor;for(var c in a)a[A](c)&&(b[c]=h(a[c]));return b}function i(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return a.push(a.splice(c,1)[0])}function j(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("â"),g=d.cache=d.cache||{},h=d.count=d.count||[];return g[A](f)?(i(h,f),c?c(g[f]):g[f]):(h.length>=1e3&&delete g[h.shift()],h.push(f),g[f]=a.apply(b,e),c?c(g[f]):g[f])}return d}function k(a,b,c,d,e,f){if(null==e){var g=a-c,h=b-d;return g||h?(180+180*E.atan2(-h,-g)/I+360)%360:0}return k(a,b,e,f)-k(c,d,e,f)}function l(a){return a%360*I/180}function m(a){return 180*a/I%360}function n(a){var b=[];return a=a.replace(/(?:^|\s)(\w+)\(([^)]+)\)/g,function(a,c,d){return d=d.split(/\s*,\s*|\s+/),"rotate"==c&&1==d.length&&d.push(0,0),"scale"==c&&(d.length>2?d=d.slice(0,2):2==d.length&&d.push(0,0),1==d.length&&d.push(d[0],0,0)),b.push("skewX"==c?["m",1,0,E.tan(l(d[0])),1,0,0]:"skewY"==c?["m",1,E.tan(l(d[0])),0,1,0,0]:[c.charAt(0)].concat(d)),a}),b}function o(a,b){var c=eb(a),e=new d.Matrix;if(c)for(var f=0,g=c.length;g>f;f++){var h,i,j,k,l,m=c[f],n=m.length,o=B(m[0]).toLowerCase(),p=m[0]!=o,q=p?e.invert():0;"t"==o&&2==n?e.translate(m[1],0):"t"==o&&3==n?p?(h=q.x(0,0),i=q.y(0,0),j=q.x(m[1],m[2]),k=q.y(m[1],m[2]),e.translate(j-h,k-i)):e.translate(m[1],m[2]):"r"==o?2==n?(l=l||b,e.rotate(m[1],l.x+l.width/2,l.y+l.height/2)):4==n&&(p?(j=q.x(m[2],m[3]),k=q.y(m[2],m[3]),e.rotate(m[1],j,k)):e.rotate(m[1],m[2],m[3])):"s"==o?2==n||3==n?(l=l||b,e.scale(m[1],m[n-1],l.x+l.width/2,l.y+l.height/2)):4==n?p?(j=q.x(m[2],m[3]),k=q.y(m[2],m[3]),e.scale(m[1],m[1],j,k)):e.scale(m[1],m[1],m[2],m[3]):5==n&&(p?(j=q.x(m[3],m[4]),k=q.y(m[3],m[4]),e.scale(m[1],m[2],j,k)):e.scale(m[1],m[2],m[3],m[4])):"m"==o&&7==n&&e.add(m[1],m[2],m[3],m[4],m[5],m[6])}return e}function p(a,b){if(null==b){var c=!0;if(b=a.node.getAttribute("linearGradient"==a.type||"radialGradient"==a.type?"gradientTransform":"pattern"==a.type?"patternTransform":"transform"),!b)return new d.Matrix;b=n(b)}else b=d._.rgTransform.test(b)?B(b).replace(/\.{3}|\u2026/g,a._.transform||J):n(b),f(b,"array")&&(b=d.path?d.path.toString.call(b):B(b)),a._.transform=b;var e=o(b,a.getBBox(1));return c?e:void(a.matrix=e)}function q(a){var b=a.node.ownerSVGElement&&y(a.node.ownerSVGElement)||a.node.parentNode&&y(a.node.parentNode)||d.select("svg")||d(0,0),c=b.select("defs"),e=null==c?!1:c.node;return e||(e=w("defs",b.node).node),e}function r(a){return a.node.ownerSVGElement&&y(a.node.ownerSVGElement)||d.select("svg")}function s(a,b,c){function d(a){if(null==a)return J;if(a==+a)return a;e(j,{width:a});try{return j.getBBox().width}catch(b){return 0}}function f(a){if(null==a)return J;if(a==+a)return a;e(j,{height:a});try{return j.getBBox().height}catch(b){return 0}}function g(d,e){null==b?i[d]=e(a.attr(d)||0):d==b&&(i=e(null==c?a.attr(d)||0:c))}var h=r(a).node,i={},j=h.querySelector(".svg---mgr");switch(j||(j=e("rect"),e(j,{x:-9e9,y:-9e9,width:10,height:10,"class":"svg---mgr",fill:"none"}),h.appendChild(j)),a.type){case"rect":g("rx",d),g("ry",f);case"image":g("width",d),g("height",f);case"text":g("x",d),g("y",f);break;case"circle":g("cx",d),g("cy",f),g("r",d);break;case"ellipse":g("cx",d),g("cy",f),g("rx",d),g("ry",f);break;case"line":g("x1",d),g("x2",d),g("y1",f),g("y2",f);break;case"marker":g("refX",d),g("markerWidth",d),g("refY",f),g("markerHeight",f);break;case"radialGradient":g("fx",d),g("fy",f);break;case"tspan":g("dx",d),g("dy",f);break;default:g(b,d)}return h.removeChild(j),i}function t(a){f(a,"array")||(a=Array.prototype.slice.call(arguments,0));for(var b=0,c=0,d=this.node;this[b];)delete this[b++];for(b=0;b<a.length;b++)"set"==a[b].type?a[b].forEach(function(a){d.appendChild(a.node)}):d.appendChild(a[b].node);var e=d.childNodes;for(b=0;b<e.length;b++)this[c++]=y(e[b]);return this}function u(a){if(a.snap in Y)return Y[a.snap];var b,c=this.id=V();try{b=a.ownerSVGElement}catch(d){}if(this.node=a,b&&(this.paper=new x(b)),this.type=a.tagName,this.anims={},this._={transform:[]},a.snap=c,Y[c]=this,"g"==this.type&&(this.add=t),this.type in{g:1,mask:1,pattern:1})for(var e in x.prototype)x.prototype[A](e)&&(this[e]=x.prototype[e])}function v(a){this.node=a}function w(a,b){var c=e(a);b.appendChild(c);var d=y(c);return d}function x(a,b){var c,d,f,g=x.prototype;if(a&&"svg"==a.tagName){if(a.snap in Y)return Y[a.snap];var h=a.ownerDocument;c=new u(a),d=a.getElementsByTagName("desc")[0],f=a.getElementsByTagName("defs")[0],d||(d=e("desc"),d.appendChild(h.createTextNode("Created with Snap")),c.node.appendChild(d)),f||(f=e("defs"),c.node.appendChild(f)),c.defs=f;for(var i in g)g[A](i)&&(c[i]=g[i]);c.paper=c.root=c}else c=w("svg",z.doc.body),e(c.node,{height:b,version:1.1,width:a,xmlns:X});return c}function y(a){return a?a instanceof u||a instanceof v?a:a.tagName&&"svg"==a.tagName.toLowerCase()?new x(a):a.tagName&&"object"==a.tagName.toLowerCase()&&"image/svg+xml"==a.type?new x(a.contentDocument.getElementsByTagName("svg")[0]):new u(a):a}d.version="0.3.0",d.toString=function(){return"Snap v"+this.version},d._={};var z={win:a,doc:a.document};d._.glob=z;var A="hasOwnProperty",B=String,C=parseFloat,D=parseInt,E=Math,F=E.max,G=E.min,H=E.abs,I=(E.pow,E.PI),J=(E.round,""),K=" ",L=Object.prototype.toString,M=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\))\s*$/i,N="	\n\f\r Â áá ââââââââââââ¯âã\u2028\u2029",O=(d._.separator=new RegExp("[,"+N+"]+"),new RegExp("["+N+"]","g"),new RegExp("["+N+"]*,["+N+"]*")),P={hs:1,rg:1},Q=new RegExp("([a-z])["+N+",]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?["+N+"]*,?["+N+"]*)+)","ig"),R=new RegExp("([rstm])["+N+",]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?["+N+"]*,?["+N+"]*)+)","ig"),S=new RegExp("(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)["+N+"]*,?["+N+"]*","ig"),T=0,U="S"+(+new Date).toString(36),V=function(){return U+(T++).toString(36)},W="http://www.w3.org/1999/xlink",X="http://www.w3.org/2000/svg",Y={},Z=d.url=function(a){return"url('#"+a+"')"};d._.$=e,d._.id=V,d.format=function(){var a=/\{([^\}]+)\}/g,b=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g,c=function(a,c,d){var e=d;return c.replace(b,function(a,b,c,d,f){b=b||d,e&&(b in e&&(e=e[b]),"function"==typeof e&&f&&(e=e()))}),e=(null==e||e==d?a:e)+""};return function(b,d){return B(b).replace(a,function(a,b){return c(a,b,d)})}}(),d._.clone=h,d._.cacher=j,d.rad=l,d.deg=m,d.angle=k,d.is=f,d.snapTo=function(a,b,c){if(c=f(c,"finite")?c:10,f(a,"array")){for(var d=a.length;d--;)if(H(a[d]-b)<=c)return a[d]}else{a=+a;var e=b%a;if(c>e)return b-e;if(e>a-c)return b-e+a}return b},d.getRGB=j(function(a){if(!a||(a=B(a)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bb};if("none"==a)return{r:-1,g:-1,b:-1,hex:"none",toString:bb};if(!(P[A](a.toLowerCase().substring(0,2))||"#"==a.charAt())&&(a=$(a)),!a)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bb};var b,c,e,g,h,i,j=a.match(M);return j?(j[2]&&(e=D(j[2].substring(5),16),c=D(j[2].substring(3,5),16),b=D(j[2].substring(1,3),16)),j[3]&&(e=D((h=j[3].charAt(3))+h,16),c=D((h=j[3].charAt(2))+h,16),b=D((h=j[3].charAt(1))+h,16)),j[4]&&(i=j[4].split(O),b=C(i[0]),"%"==i[0].slice(-1)&&(b*=2.55),c=C(i[1]),"%"==i[1].slice(-1)&&(c*=2.55),e=C(i[2]),"%"==i[2].slice(-1)&&(e*=2.55),"rgba"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&"%"==i[3].slice(-1)&&(g/=100)),j[5]?(i=j[5].split(O),b=C(i[0]),"%"==i[0].slice(-1)&&(b/=100),c=C(i[1]),"%"==i[1].slice(-1)&&(c/=100),e=C(i[2]),"%"==i[2].slice(-1)&&(e/=100),("deg"==i[0].slice(-3)||"Â°"==i[0].slice(-1))&&(b/=360),"hsba"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&"%"==i[3].slice(-1)&&(g/=100),d.hsb2rgb(b,c,e,g)):j[6]?(i=j[6].split(O),b=C(i[0]),"%"==i[0].slice(-1)&&(b/=100),c=C(i[1]),"%"==i[1].slice(-1)&&(c/=100),e=C(i[2]),"%"==i[2].slice(-1)&&(e/=100),("deg"==i[0].slice(-3)||"Â°"==i[0].slice(-1))&&(b/=360),"hsla"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&"%"==i[3].slice(-1)&&(g/=100),d.hsl2rgb(b,c,e,g)):(b=G(E.round(b),255),c=G(E.round(c),255),e=G(E.round(e),255),g=G(F(g,0),1),j={r:b,g:c,b:e,toString:bb},j.hex="#"+(16777216|e|c<<8|b<<16).toString(16).slice(1),j.opacity=f(g,"finite")?g:1,j)):{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bb}},d),d.hsb=j(function(a,b,c){return d.hsb2rgb(a,b,c).hex}),d.hsl=j(function(a,b,c){return d.hsl2rgb(a,b,c).hex}),d.rgb=j(function(a,b,c,d){if(f(d,"finite")){var e=E.round;return"rgba("+[e(a),e(b),e(c),+d.toFixed(2)]+")"}return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)});var $=function(a){var b=z.doc.getElementsByTagName("head")[0]||z.doc.getElementsByTagName("svg")[0],c="rgb(255, 0, 0)";return($=j(function(a){if("red"==a.toLowerCase())return c;b.style.color=c,b.style.color=a;var d=z.doc.defaultView.getComputedStyle(b,J).getPropertyValue("color");return d==c?null:d}))(a)},_=function(){return"hsb("+[this.h,this.s,this.b]+")"},ab=function(){return"hsl("+[this.h,this.s,this.l]+")"},bb=function(){return 1==this.opacity||null==this.opacity?this.hex:"rgba("+[this.r,this.g,this.b,this.opacity]+")"},cb=function(a,b,c){if(null==b&&f(a,"object")&&"r"in a&&"g"in a&&"b"in a&&(c=a.b,b=a.g,a=a.r),null==b&&f(a,string)){var e=d.getRGB(a);a=e.r,b=e.g,c=e.b}return(a>1||b>1||c>1)&&(a/=255,b/=255,c/=255),[a,b,c]},db=function(a,b,c,e){a=E.round(255*a),b=E.round(255*b),c=E.round(255*c);var g={r:a,g:b,b:c,opacity:f(e,"finite")?e:1,hex:d.rgb(a,b,c),toString:bb};return f(e,"finite")&&(g.opacity=e),g};d.color=function(a){var b;return f(a,"object")&&"h"in a&&"s"in a&&"b"in a?(b=d.hsb2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.opacity=1,a.hex=b.hex):f(a,"object")&&"h"in a&&"s"in a&&"l"in a?(b=d.hsl2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.opacity=1,a.hex=b.hex):(f(a,"string")&&(a=d.getRGB(a)),f(a,"object")&&"r"in a&&"g"in a&&"b"in a&&!("error"in a)?(b=d.rgb2hsl(a),a.h=b.h,a.s=b.s,a.l=b.l,b=d.rgb2hsb(a),a.v=b.b):(a={hex:"none"},a.r=a.g=a.b=a.h=a.s=a.v=a.l=-1,a.error=1)),a.toString=bb,a},d.hsb2rgb=function(a,b,c,d){f(a,"object")&&"h"in a&&"s"in a&&"b"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,g,h,i,j;return a=a%360/60,j=c*b,i=j*(1-H(a%2-1)),e=g=h=c-j,a=~~a,e+=[j,i,0,0,i,j][a],g+=[i,j,j,i,0,0][a],h+=[0,0,i,j,j,i][a],db(e,g,h,d)},d.hsl2rgb=function(a,b,c,d){f(a,"object")&&"h"in a&&"s"in a&&"l"in a&&(c=a.l,b=a.s,a=a.h),(a>1||b>1||c>1)&&(a/=360,b/=100,c/=100),a*=360;var e,g,h,i,j;return a=a%360/60,j=2*b*(.5>c?c:1-c),i=j*(1-H(a%2-1)),e=g=h=c-j/2,a=~~a,e+=[j,i,0,0,i,j][a],g+=[i,j,j,i,0,0][a],h+=[0,0,i,j,j,i][a],db(e,g,h,d)},d.rgb2hsb=function(a,b,c){c=cb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;return f=F(a,b,c),g=f-G(a,b,c),d=0==g?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=0==g?0:g/f,{h:d,s:e,b:f,toString:_}},d.rgb2hsl=function(a,b,c){c=cb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;return g=F(a,b,c),h=G(a,b,c),i=g-h,d=0==i?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=0==i?0:.5>f?i/(2*f):i/(2-2*f),{h:d,s:e,l:f,toString:ab}},d.parsePathString=function(a){if(!a)return null;var b=d.path(a);if(b.arr)return d.path.clone(b.arr);var c={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},e=[];return f(a,"array")&&f(a[0],"array")&&(e=d.path.clone(a)),e.length||B(a).replace(Q,function(a,b,d){var f=[],g=b.toLowerCase();if(d.replace(S,function(a,b){b&&f.push(+b)}),"m"==g&&f.length>2&&(e.push([b].concat(f.splice(0,2))),g="l",b="m"==b?"l":"L"),"o"==g&&1==f.length&&e.push([b,f[0]]),"r"==g)e.push([b].concat(f));else for(;f.length>=c[g]&&(e.push([b].concat(f.splice(0,c[g]))),c[g]););}),e.toString=d.path.toString,b.arr=d.path.clone(e),e};var eb=d.parseTransformString=function(a){if(!a)return null;var b=[];return f(a,"array")&&f(a[0],"array")&&(b=d.path.clone(a)),b.length||B(a).replace(R,function(a,c,d){{var e=[];c.toLowerCase()}d.replace(S,function(a,b){b&&e.push(+b)}),b.push([c].concat(e))}),b.toString=d.path.toString,b};d._.svgTransform2string=n,d._.rgTransform=new RegExp("^[a-z]["+N+"]*-?\\.?\\d","i"),d._.transform2matrix=o,d._unit2px=s;z.doc.contains||z.doc.compareDocumentPosition?function(a,b){var c=9==a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a==d||!(!d||1!=d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b;)if(b=b.parentNode,b==a)return!0;return!1};d._.getSomeDefs=q,d._.getSomeSVG=r,d.select=function(a){return y(z.doc.querySelector(a))},d.selectAll=function(a){for(var b=z.doc.querySelectorAll(a),c=(d.set||Array)(),e=0;e<b.length;e++)c.push(y(b[e]));return c},setInterval(function(){for(var a in Y)if(Y[A](a)){var b=Y[a],c=b.node;("svg"!=b.type&&!c.ownerSVGElement||"svg"==b.type&&(!c.parentNode||"ownerSVGElement"in c.parentNode&&!c.ownerSVGElement))&&delete Y[a]}},1e4),function(a){function g(a){function b(a,b){var c=e(a.node,b);c=c&&c.match(g),c=c&&c[2],c&&"#"==c.charAt()&&(c=c.substring(1),c&&(i[c]=(i[c]||[]).concat(function(c){var d={};d[b]=Z(c),e(a.node,d)})))}function c(a){var b=e(a.node,"xlink:href");b&&"#"==b.charAt()&&(b=b.substring(1),b&&(i[b]=(i[b]||[]).concat(function(b){a.attr("xlink:href","#"+b)})))}for(var d,f=a.selectAll("*"),g=/^\s*url\(("|'|)(.*)\1\)\s*$/,h=[],i={},j=0,k=f.length;k>j;j++){d=f[j],b(d,"fill"),b(d,"stroke"),b(d,"filter"),b(d,"mask"),b(d,"clip-path"),c(d);var l=e(d.node,"id");l&&(e(d.node,{id:d.id}),h.push({old:l,id:d.id}))}for(j=0,k=h.length;k>j;j++){var m=i[h[j].old];if(m)for(var n=0,o=m.length;o>n;n++)m[n](h[j].id)}}function h(a,b,c){return function(d){var e=d.slice(a,b);return 1==e.length&&(e=e[0]),c?c(e):e}}function i(a){return function(){var b=a?"<"+this.type:"",c=this.node.attributes,d=this.node.childNodes;if(a)for(var e=0,f=c.length;f>e;e++)b+=" "+c[e].name+'="'+c[e].value.replace(/"/g,'\\"')+'"';if(d.length){for(a&&(b+=">"),e=0,f=d.length;f>e;e++)3==d[e].nodeType?b+=d[e].nodeValue:1==d[e].nodeType&&(b+=y(d[e]).toString());a&&(b+="</"+this.type+">")}else a&&(b+="/>");return b}}a.attr=function(a,c){{var d=this;d.node}if(!a)return d;if(f(a,"string")){if(!(arguments.length>1))return b("snap.util.getattr."+a,d).firstDefined();var e={};e[a]=c,a=e}for(var g in a)a[A](g)&&b("snap.util.attr."+g,d,a[g]);return d},a.getBBox=function(a){if(!d.Matrix||!d.path)return this.node.getBBox();var b=this,c=new d.Matrix;if(b.removed)return d._.box();for(;"use"==b.type;)if(a||(c=c.add(b.transform().localMatrix.translate(b.attr("x")||0,b.attr("y")||0))),b.original)b=b.original;else{var e=b.attr("xlink:href");b=b.original=b.node.ownerDocument.getElementById(e.substring(e.indexOf("#")+1))}var f=b._,g=d.path.get[b.type]||d.path.get.deflt;try{return a?(f.bboxwt=g?d.path.getBBox(b.realPath=g(b)):d._.box(b.node.getBBox()),d._.box(f.bboxwt)):(b.realPath=g(b),b.matrix=b.transform().localMatrix,f.bbox=d.path.getBBox(d.path.map(b.realPath,c.add(b.matrix))),d._.box(f.bbox))}catch(h){return d._.box()}};var j=function(){return this.string};a.transform=function(a){var b=this._;if(null==a){for(var c,f=this,g=new d.Matrix(this.node.getCTM()),h=p(this),i=[h],k=new d.Matrix,l=h.toTransformString(),m=B(h)==B(this.matrix)?B(b.transform):l;"svg"!=f.type&&(f=f.parent());)i.push(p(f));for(c=i.length;c--;)k.add(i[c]);return{string:m,globalMatrix:g,totalMatrix:k,localMatrix:h,diffMatrix:g.clone().add(h.invert()),global:g.toTransformString(),total:k.toTransformString(),local:l,toString:j}}return a instanceof d.Matrix?this.matrix=a:p(this,a),this.node&&("linearGradient"==this.type||"radialGradient"==this.type?e(this.node,{gradientTransform:this.matrix}):"pattern"==this.type?e(this.node,{patternTransform:this.matrix}):e(this.node,{transform:this.matrix})),this},a.parent=function(){return y(this.node.parentNode)},a.append=a.add=function(a){if(a){if("set"==a.type){var b=this;return a.forEach(function(a){b.add(a)}),this}a=y(a),this.node.appendChild(a.node),a.paper=this.paper}return this},a.appendTo=function(a){return a&&(a=y(a),a.append(this)),this},a.prepend=function(a){if(a){if("set"==a.type){var b,c=this;return a.forEach(function(a){b?b.after(a):c.prepend(a),b=a}),this}a=y(a);var d=a.parent();this.node.insertBefore(a.node,this.node.firstChild),this.add&&this.add(),a.paper=this.paper,this.parent()&&this.parent().add(),d&&d.add()}return this},a.prependTo=function(a){return a=y(a),a.prepend(this),this},a.before=function(a){if("set"==a.type){var b=this;return a.forEach(function(a){var c=a.parent();b.node.parentNode.insertBefore(a.node,b.node),c&&c.add()}),this.parent().add(),this}a=y(a);var c=a.parent();return this.node.parentNode.insertBefore(a.node,this.node),this.parent()&&this.parent().add(),c&&c.add(),a.paper=this.paper,this},a.after=function(a){a=y(a);var b=a.parent();return this.node.nextSibling?this.node.parentNode.insertBefore(a.node,this.node.nextSibling):this.node.parentNode.appendChild(a.node),this.parent()&&this.parent().add(),b&&b.add(),a.paper=this.paper,this},a.insertBefore=function(a){a=y(a);var b=this.parent();return a.node.parentNode.insertBefore(this.node,a.node),this.paper=a.paper,b&&b.add(),a.parent()&&a.parent().add(),this},a.insertAfter=function(a){a=y(a);var b=this.parent();return a.node.parentNode.insertBefore(this.node,a.node.nextSibling),this.paper=a.paper,b&&b.add(),a.parent()&&a.parent().add(),this},a.remove=function(){var a=this.parent();return this.node.parentNode&&this.node.parentNode.removeChild(this.node),delete this.paper,this.removed=!0,a&&a.add(),this},a.select=function(a){return y(this.node.querySelector(a))},a.selectAll=function(a){for(var b=this.node.querySelectorAll(a),c=(d.set||Array)(),e=0;e<b.length;e++)c.push(y(b[e]));return c},a.asPX=function(a,b){return null==b&&(b=this.attr(a)),+s(this,a,b)},a.use=function(){var a,b=this.node.id;return b||(b=this.id,e(this.node,{id:b})),a="linearGradient"==this.type||"radialGradient"==this.type||"pattern"==this.type?w(this.type,this.node.parentNode):w("use",this.node.parentNode),e(a.node,{"xlink:href":"#"+b}),a.original=this,a};var k=/\S+/g;a.addClass=function(a){var b,c,d,e,f=(a||"").match(k)||[],g=this.node,h=g.className.baseVal,i=h.match(k)||[];if(f.length){for(b=0;d=f[b++];)c=i.indexOf(d),~c||i.push(d);e=i.join(" "),h!=e&&(g.className.baseVal=e)}return this},a.removeClass=function(a){var b,c,d,e,f=(a||"").match(k)||[],g=this.node,h=g.className.baseVal,i=h.match(k)||[];if(i.length){for(b=0;d=f[b++];)c=i.indexOf(d),~c&&i.splice(c,1);e=i.join(" "),h!=e&&(g.className.baseVal=e)}return this},a.hasClass=function(a){var b=this.node,c=b.className.baseVal,d=c.match(k)||[];return!!~d.indexOf(a)},a.toggleClass=function(a,b){if(null!=b)return b?this.addClass(a):this.removeClass(a);var c,d,e,f,g=(a||"").match(k)||[],h=this.node,i=h.className.baseVal,j=i.match(k)||[];for(c=0;e=g[c++];)d=j.indexOf(e),~d?j.splice(d,1):j.push(e);return f=j.join(" "),i!=f&&(h.className.baseVal=f),this},a.clone=function(){var a=y(this.node.cloneNode(!0));return e(a.node,"id")&&e(a.node,{id:a.id}),g(a),a.insertAfter(this),a},a.toDefs=function(){var a=q(this);return a.appendChild(this.node),this},a.pattern=a.toPattern=function(a,b,c,d){var g=w("pattern",q(this));return null==a&&(a=this.getBBox()),f(a,"object")&&"x"in a&&(b=a.y,c=a.width,d=a.height,a=a.x),e(g.node,{x:a,y:b,width:c,height:d,patternUnits:"userSpaceOnUse",id:g.id,viewBox:[a,b,c,d].join(" ")}),g.node.appendChild(this.node),g},a.marker=function(a,b,c,d,g,h){var i=w("marker",q(this));return null==a&&(a=this.getBBox()),f(a,"object")&&"x"in a&&(b=a.y,c=a.width,d=a.height,g=a.refX||a.cx,h=a.refY||a.cy,a=a.x),e(i.node,{viewBox:[a,b,c,d].join(K),markerWidth:c,markerHeight:d,orient:"auto",refX:g||0,refY:h||0,id:i.id}),i.node.appendChild(this.node),i};var l=function(a,b,d,e){"function"!=typeof d||d.length||(e=d,d=c.linear),this.attr=a,this.dur=b,d&&(this.easing=d),e&&(this.callback=e)};d._.Animation=l,d.animation=function(a,b,c,d){return new l(a,b,c,d)},a.inAnim=function(){var a=this,b=[];for(var c in a.anims)a.anims[A](c)&&!function(a){b.push({anim:new l(a._attrs,a.dur,a.easing,a._callback),mina:a,curStatus:a.status(),status:function(b){return a.status(b)},stop:function(){a.stop()}})}(a.anims[c]);return b},d.animate=function(a,d,e,f,g,h){"function"!=typeof g||g.length||(h=g,g=c.linear);var i=c.time(),j=c(a,d,i,i+f,c.time,e,g);return h&&b.once("mina.finish."+j.id,h),j},a.stop=function(){for(var a=this.inAnim(),b=0,c=a.length;c>b;b++)a[b].stop();return this},a.animate=function(a,d,e,g){"function"!=typeof e||e.length||(g=e,e=c.linear),a instanceof l&&(g=a.callback,e=a.easing,d=e.dur,a=a.attr);var i,j,k,m,n=[],o=[],p={},q=this;for(var r in a)if(a[A](r)){q.equal?(m=q.equal(r,B(a[r])),i=m.from,j=m.to,k=m.f):(i=+q.attr(r),j=+a[r]);var s=f(i,"array")?i.length:1;p[r]=h(n.length,n.length+s,k),n=n.concat(i),o=o.concat(j)}var t=c.time(),u=c(n,o,t,t+d,c.time,function(a){var b={};for(var c in p)p[A](c)&&(b[c]=p[c](a));q.attr(b)},e);return q.anims[u.id]=u,u._attrs=a,u._callback=g,b("snap.animcreated."+q.id,u),b.once("mina.finish."+u.id,function(){delete q.anims[u.id],g&&g.call(q)}),b.once("mina.stop."+u.id,function(){delete q.anims[u.id]}),q};var m={};a.data=function(a,c){var e=m[this.id]=m[this.id]||{};if(0==arguments.length)return b("snap.data.get."+this.id,this,e,null),e;if(1==arguments.length){if(d.is(a,"object")){for(var f in a)a[A](f)&&this.data(f,a[f]);return this}return b("snap.data.get."+this.id,this,e[a],a),e[a]}return e[a]=c,b("snap.data.set."+this.id,this,c,a),this},a.removeData=function(a){return null==a?m[this.id]={}:m[this.id]&&delete m[this.id][a],this},a.outerSVG=a.toString=i(1),a.innerSVG=i()}(u.prototype),d.parse=function(a){var b=z.doc.createDocumentFragment(),c=!0,d=z.doc.createElement("div");if(a=B(a),a.match(/^\s*<\s*svg(?:\s|>)/)||(a="<svg>"+a+"</svg>",c=!1),d.innerHTML=a,a=d.getElementsByTagName("svg")[0])if(c)b=a;else for(;a.firstChild;)b.appendChild(a.firstChild);return d.innerHTML=J,new v(b)},v.prototype.select=u.prototype.select,v.prototype.selectAll=u.prototype.selectAll,d.fragment=function(){for(var a=Array.prototype.slice.call(arguments,0),b=z.doc.createDocumentFragment(),c=0,e=a.length;e>c;c++){var f=a[c];f.node&&f.node.nodeType&&b.appendChild(f.node),f.nodeType&&b.appendChild(f),"string"==typeof f&&b.appendChild(d.parse(f).node)}return new v(b)},d._.make=w,d._.wrap=y,x.prototype.el=function(a,b){var c=w(a,this.node);return b&&c.attr(b),c},b.on("snap.util.getattr",function(){var a=b.nt();a=a.substring(a.lastIndexOf(".")+1);var c=a.replace(/[A-Z]/g,function(a){return"-"+a.toLowerCase()});return fb[A](c)?this.node.ownerDocument.defaultView.getComputedStyle(this.node,null).getPropertyValue(c):e(this.node,a)});var fb={"alignment-baseline":0,"baseline-shift":0,clip:0,"clip-path":0,"clip-rule":0,color:0,"color-interpolation":0,"color-interpolation-filters":0,"color-profile":0,"color-rendering":0,cursor:0,direction:0,display:0,"dominant-baseline":0,"enable-background":0,fill:0,"fill-opacity":0,"fill-rule":0,filter:0,"flood-color":0,"flood-opacity":0,font:0,"font-family":0,"font-size":0,"font-size-adjust":0,"font-stretch":0,"font-style":0,"font-variant":0,"font-weight":0,"glyph-orientation-horizontal":0,"glyph-orientation-vertical":0,"image-rendering":0,kerning:0,"letter-spacing":0,"lighting-color":0,marker:0,"marker-end":0,"marker-mid":0,"marker-start":0,mask:0,opacity:0,overflow:0,"pointer-events":0,"shape-rendering":0,"stop-color":0,"stop-opacity":0,stroke:0,"stroke-dasharray":0,"stroke-dashoffset":0,"stroke-linecap":0,"stroke-linejoin":0,"stroke-miterlimit":0,"stroke-opacity":0,"stroke-width":0,"text-anchor":0,"text-decoration":0,"text-rendering":0,"unicode-bidi":0,visibility:0,"word-spacing":0,"writing-mode":0};b.on("snap.util.attr",function(a){var c=b.nt(),d={};c=c.substring(c.lastIndexOf(".")+1),d[c]=a;var f=c.replace(/-(\w)/gi,function(a,b){return b.toUpperCase()}),g=c.replace(/[A-Z]/g,function(a){return"-"+a.toLowerCase()});fb[A](g)?this.node.style[f]=null==a?J:a:e(this.node,d)}),function(){}(x.prototype),d.ajax=function(a,c,d,e){var g=new XMLHttpRequest,h=V();if(g){if(f(c,"function"))e=d,d=c,c=null;else if(f(c,"object")){var i=[];for(var j in c)c.hasOwnProperty(j)&&i.push(encodeURIComponent(j)+"="+encodeURIComponent(c[j]));c=i.join("&")}return g.open(c?"POST":"GET",a,!0),c&&(g.setRequestHeader("X-Requested-With","XMLHttpRequest"),g.setRequestHeader("Content-type","application/x-www-form-urlencoded")),d&&(b.once("snap.ajax."+h+".0",d),b.once("snap.ajax."+h+".200",d),b.once("snap.ajax."+h+".304",d)),g.onreadystatechange=function(){4==g.readyState&&b("snap.ajax."+h+"."+g.status,e,g)},4==g.readyState?g:(g.send(c),g)}},d.load=function(a,b,c){d.ajax(a,function(a){var e=d.parse(a.responseText);c?b.call(c,e):b(e)})};var gb=function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument,d=c.body,e=c.documentElement,f=e.clientTop||d.clientTop||0,h=e.clientLeft||d.clientLeft||0,i=b.top+(g.win.pageYOffset||e.scrollTop||d.scrollTop)-f,j=b.left+(g.win.pageXOffset||e.scrollLeft||d.scrollLeft)-h;return{y:i,x:j}};return d.getElementByPoint=function(a,b){var c=this,d=(c.canvas,z.doc.elementFromPoint(a,b));if(z.win.opera&&"svg"==d.tagName){var e=gb(d),f=d.createSVGRect();f.x=a-e.x,f.y=b-e.y,f.width=f.height=1;var g=d.getIntersectionList(f,null);g.length&&(d=g[g.length-1])}return d?y(d):null},d.plugin=function(a){a(d,u,x,z,v)},z.win.Snap=d,d}();return d.plugin(function(a){function b(a,b,d,e,f,g){return null==b&&"[object SVGMatrix]"==c.call(a)?(this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.e=a.e,void(this.f=a.f)):void(null!=a?(this.a=+a,this.b=+b,this.c=+d,this.d=+e,this.e=+f,this.f=+g):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0))}var c=Object.prototype.toString,d=String,e=Math,f="";!function(c){function g(a){return a[0]*a[0]+a[1]*a[1]
+}function h(a){var b=e.sqrt(g(a));a[0]&&(a[0]/=b),a[1]&&(a[1]/=b)}c.add=function(a,c,d,e,f,g){var h,i,j,k,l=[[],[],[]],m=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]],n=[[a,d,f],[c,e,g],[0,0,1]];for(a&&a instanceof b&&(n=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1]]),h=0;3>h;h++)for(i=0;3>i;i++){for(k=0,j=0;3>j;j++)k+=m[h][j]*n[j][i];l[h][i]=k}return this.a=l[0][0],this.b=l[1][0],this.c=l[0][1],this.d=l[1][1],this.e=l[0][2],this.f=l[1][2],this},c.invert=function(){var a=this,c=a.a*a.d-a.b*a.c;return new b(a.d/c,-a.b/c,-a.c/c,a.a/c,(a.c*a.f-a.d*a.e)/c,(a.b*a.e-a.a*a.f)/c)},c.clone=function(){return new b(this.a,this.b,this.c,this.d,this.e,this.f)},c.translate=function(a,b){return this.add(1,0,0,1,a,b)},c.scale=function(a,b,c,d){return null==b&&(b=a),(c||d)&&this.add(1,0,0,1,c,d),this.add(a,0,0,b,0,0),(c||d)&&this.add(1,0,0,1,-c,-d),this},c.rotate=function(b,c,d){b=a.rad(b),c=c||0,d=d||0;var f=+e.cos(b).toFixed(9),g=+e.sin(b).toFixed(9);return this.add(f,g,-g,f,c,d),this.add(1,0,0,1,-c,-d)},c.x=function(a,b){return a*this.a+b*this.c+this.e},c.y=function(a,b){return a*this.b+b*this.d+this.f},c.get=function(a){return+this[d.fromCharCode(97+a)].toFixed(4)},c.toString=function(){return"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")"},c.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},c.determinant=function(){return this.a*this.d-this.b*this.c},c.split=function(){var b={};b.dx=this.e,b.dy=this.f;var c=[[this.a,this.c],[this.b,this.d]];b.scalex=e.sqrt(g(c[0])),h(c[0]),b.shear=c[0][0]*c[1][0]+c[0][1]*c[1][1],c[1]=[c[1][0]-c[0][0]*b.shear,c[1][1]-c[0][1]*b.shear],b.scaley=e.sqrt(g(c[1])),h(c[1]),b.shear/=b.scaley,this.determinant()<0&&(b.scalex=-b.scalex);var d=-c[0][1],f=c[1][1];return 0>f?(b.rotate=a.deg(e.acos(f)),0>d&&(b.rotate=360-b.rotate)):b.rotate=a.deg(e.asin(d)),b.isSimple=!(+b.shear.toFixed(9)||b.scalex.toFixed(9)!=b.scaley.toFixed(9)&&b.rotate),b.isSuperSimple=!+b.shear.toFixed(9)&&b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate,b.noRotation=!+b.shear.toFixed(9)&&!b.rotate,b},c.toTransformString=function(a){var b=a||this.split();return+b.shear.toFixed(9)?"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]:(b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4),(b.dx||b.dy?"t"+[+b.dx.toFixed(4),+b.dy.toFixed(4)]:f)+(1!=b.scalex||1!=b.scaley?"s"+[b.scalex,b.scaley,0,0]:f)+(b.rotate?"r"+[+b.rotate.toFixed(4),0,0]:f))}}(b.prototype),a.Matrix=b,a.matrix=function(a,c,d,e,f,g){return new b(a,c,d,e,f,g)}}),d.plugin(function(a,c,d,e,f){function g(d){return function(e){if(b.stop(),e instanceof f&&1==e.node.childNodes.length&&("radialGradient"==e.node.firstChild.tagName||"linearGradient"==e.node.firstChild.tagName||"pattern"==e.node.firstChild.tagName)&&(e=e.node.firstChild,n(this).appendChild(e),e=l(e)),e instanceof c)if("radialGradient"==e.type||"linearGradient"==e.type||"pattern"==e.type){e.node.id||p(e.node,{id:e.id});var g=q(e.node.id)}else g=e.attr(d);else if(g=a.color(e),g.error){var h=a(n(this).ownerSVGElement).gradient(e);h?(h.node.id||p(h.node,{id:h.id}),g=q(h.node.id)):g=e}else g=r(g);var i={};i[d]=g,p(this.node,i),this.node.style[d]=t}}function h(a){b.stop(),a==+a&&(a+="px"),this.node.style.fontSize=a}function i(a){for(var b=[],c=a.childNodes,d=0,e=c.length;e>d;d++){var f=c[d];3==f.nodeType&&b.push(f.nodeValue),"tspan"==f.tagName&&b.push(1==f.childNodes.length&&3==f.firstChild.nodeType?f.firstChild.nodeValue:i(f))}return b}function j(){return b.stop(),this.node.style.fontSize}var k=a._.make,l=a._.wrap,m=a.is,n=a._.getSomeDefs,o=/^url\(#?([^)]+)\)$/,p=a._.$,q=a.url,r=String,s=a._.separator,t="";b.on("snap.util.attr.mask",function(a){if(a instanceof c||a instanceof f){if(b.stop(),a instanceof f&&1==a.node.childNodes.length&&(a=a.node.firstChild,n(this).appendChild(a),a=l(a)),"mask"==a.type)var d=a;else d=k("mask",n(this)),d.node.appendChild(a.node);!d.node.id&&p(d.node,{id:d.id}),p(this.node,{mask:q(d.id)})}}),function(a){b.on("snap.util.attr.clip",a),b.on("snap.util.attr.clip-path",a),b.on("snap.util.attr.clipPath",a)}(function(a){if(a instanceof c||a instanceof f){if(b.stop(),"clipPath"==a.type)var d=a;else d=k("clipPath",n(this)),d.node.appendChild(a.node),!d.node.id&&p(d.node,{id:d.id});p(this.node,{"clip-path":q(d.id)})}}),b.on("snap.util.attr.fill",g("fill")),b.on("snap.util.attr.stroke",g("stroke"));var u=/^([lr])(?:\(([^)]*)\))?(.*)$/i;b.on("snap.util.grad.parse",function(a){a=r(a);var b=a.match(u);if(!b)return null;var c=b[1],d=b[2],e=b[3];return d=d.split(/\s*,\s*/).map(function(a){return+a==a?+a:a}),1==d.length&&0==d[0]&&(d=[]),e=e.split("-"),e=e.map(function(a){a=a.split(":");var b={color:a[0]};return a[1]&&(b.offset=parseFloat(a[1])),b}),{type:c,params:d,stops:e}}),b.on("snap.util.attr.d",function(c){b.stop(),m(c,"array")&&m(c[0],"array")&&(c=a.path.toString.call(c)),c=r(c),c.match(/[ruo]/i)&&(c=a.path.toAbsolute(c)),p(this.node,{d:c})})(-1),b.on("snap.util.attr.#text",function(a){b.stop(),a=r(a);for(var c=e.doc.createTextNode(a);this.node.firstChild;)this.node.removeChild(this.node.firstChild);this.node.appendChild(c)})(-1),b.on("snap.util.attr.path",function(a){b.stop(),this.attr({d:a})})(-1),b.on("snap.util.attr.class",function(a){b.stop(),this.node.className.baseVal=a})(-1),b.on("snap.util.attr.viewBox",function(a){var c;c=m(a,"object")&&"x"in a?[a.x,a.y,a.width,a.height].join(" "):m(a,"array")?a.join(" "):a,p(this.node,{viewBox:c}),b.stop()})(-1),b.on("snap.util.attr.transform",function(a){this.transform(a),b.stop()})(-1),b.on("snap.util.attr.r",function(a){"rect"==this.type&&(b.stop(),p(this.node,{rx:a,ry:a}))})(-1),b.on("snap.util.attr.textpath",function(a){if(b.stop(),"text"==this.type){var d,e,f;if(!a&&this.textPath){for(e=this.textPath;e.node.firstChild;)this.node.appendChild(e.node.firstChild);return e.remove(),void delete this.textPath}if(m(a,"string")){var g=n(this),h=l(g.parentNode).path(a);g.appendChild(h.node),d=h.id,h.attr({id:d})}else a=l(a),a instanceof c&&(d=a.attr("id"),d||(d=a.id,a.attr({id:d})));if(d)if(e=this.textPath,f=this.node,e)e.attr({"xlink:href":"#"+d});else{for(e=p("textPath",{"xlink:href":"#"+d});f.firstChild;)e.appendChild(f.firstChild);f.appendChild(e),this.textPath=l(e)}}})(-1),b.on("snap.util.attr.text",function(a){if("text"==this.type){for(var c=this.node,d=function(a){var b=p("tspan");if(m(a,"array"))for(var c=0;c<a.length;c++)b.appendChild(d(a[c]));else b.appendChild(e.doc.createTextNode(a));return b.normalize&&b.normalize(),b};c.firstChild;)c.removeChild(c.firstChild);for(var f=d(a);f.firstChild;)c.appendChild(f.firstChild)}b.stop()})(-1),b.on("snap.util.attr.fontSize",h)(-1),b.on("snap.util.attr.font-size",h)(-1),b.on("snap.util.getattr.transform",function(){return b.stop(),this.transform()})(-1),b.on("snap.util.getattr.textpath",function(){return b.stop(),this.textPath})(-1),function(){function c(c){return function(){b.stop();var d=e.doc.defaultView.getComputedStyle(this.node,null).getPropertyValue("marker-"+c);return"none"==d?d:a(e.doc.getElementById(d.match(o)[1]))}}function d(a){return function(c){b.stop();var d="marker"+a.charAt(0).toUpperCase()+a.substring(1);if(""==c||!c)return void(this.node.style[d]="none");if("marker"==c.type){var e=c.node.id;return e||p(c.node,{id:c.id}),void(this.node.style[d]=q(e))}}}b.on("snap.util.getattr.marker-end",c("end"))(-1),b.on("snap.util.getattr.markerEnd",c("end"))(-1),b.on("snap.util.getattr.marker-start",c("start"))(-1),b.on("snap.util.getattr.markerStart",c("start"))(-1),b.on("snap.util.getattr.marker-mid",c("mid"))(-1),b.on("snap.util.getattr.markerMid",c("mid"))(-1),b.on("snap.util.attr.marker-end",d("end"))(-1),b.on("snap.util.attr.markerEnd",d("end"))(-1),b.on("snap.util.attr.marker-start",d("start"))(-1),b.on("snap.util.attr.markerStart",d("start"))(-1),b.on("snap.util.attr.marker-mid",d("mid"))(-1),b.on("snap.util.attr.markerMid",d("mid"))(-1)}(),b.on("snap.util.getattr.r",function(){return"rect"==this.type&&p(this.node,"rx")==p(this.node,"ry")?(b.stop(),p(this.node,"rx")):void 0})(-1),b.on("snap.util.getattr.text",function(){if("text"==this.type||"tspan"==this.type){b.stop();var a=i(this.node);return 1==a.length?a[0]:a}})(-1),b.on("snap.util.getattr.#text",function(){return this.node.textContent})(-1),b.on("snap.util.getattr.viewBox",function(){b.stop();var c=p(this.node,"viewBox");return c?(c=c.split(s),a._.box(+c[0],+c[1],+c[2],+c[3])):void 0})(-1),b.on("snap.util.getattr.points",function(){var a=p(this.node,"points");return b.stop(),a?a.split(s):void 0})(-1),b.on("snap.util.getattr.path",function(){var a=p(this.node,"d");return b.stop(),a})(-1),b.on("snap.util.getattr.class",function(){return this.node.className.baseVal})(-1),b.on("snap.util.getattr.fontSize",j)(-1),b.on("snap.util.getattr.font-size",j)(-1)}),d.plugin(function(){function a(a){return a}function c(a){return function(b){return+b.toFixed(3)+a}}var d={"+":function(a,b){return a+b},"-":function(a,b){return a-b},"/":function(a,b){return a/b},"*":function(a,b){return a*b}},e=String,f=/[a-z]+$/i,g=/^\s*([+\-\/*])\s*=\s*([\d.eE+\-]+)\s*([^\d\s]+)?\s*$/;b.on("snap.util.attr",function(a){var c=e(a).match(g);if(c){var h=b.nt(),i=h.substring(h.lastIndexOf(".")+1),j=this.attr(i),k={};b.stop();var l=c[3]||"",m=j.match(f),n=d[c[1]];if(m&&m==l?a=n(parseFloat(j),+c[2]):(j=this.asPX(i),a=n(this.asPX(i),this.asPX(i,c[2]+l))),isNaN(j)||isNaN(a))return;k[i]=a,this.attr(k)}})(-10),b.on("snap.util.equal",function(h,i){var j=e(this.attr(h)||""),k=e(i).match(g);if(k){b.stop();var l=k[3]||"",m=j.match(f),n=d[k[1]];return m&&m==l?{from:parseFloat(j),to:n(parseFloat(j),+k[2]),f:c(m)}:(j=this.asPX(h),{from:j,to:n(j,this.asPX(h,k[2]+l)),f:a})}})(-10)}),d.plugin(function(a,c,d,e){var f=d.prototype,g=a.is;f.rect=function(a,b,c,d,e,f){var h;return null==f&&(f=e),g(a,"object")&&"[object Object]"==a?h=a:null!=a&&(h={x:a,y:b,width:c,height:d},null!=e&&(h.rx=e,h.ry=f)),this.el("rect",h)},f.circle=function(a,b,c){var d;return g(a,"object")&&"[object Object]"==a?d=a:null!=a&&(d={cx:a,cy:b,r:c}),this.el("circle",d)};var h=function(){function a(){this.parentNode.removeChild(this)}return function(b,c){var d=e.doc.createElement("img"),f=e.doc.body;d.style.cssText="position:absolute;left:-9999em;top:-9999em",d.onload=function(){c.call(d),d.onload=d.onerror=null,f.removeChild(d)},d.onerror=a,f.appendChild(d),d.src=b}}();f.image=function(b,c,d,e,f){var i=this.el("image");if(g(b,"object")&&"src"in b)i.attr(b);else if(null!=b){var j={"xlink:href":b,preserveAspectRatio:"none"};null!=c&&null!=d&&(j.x=c,j.y=d),null!=e&&null!=f?(j.width=e,j.height=f):h(b,function(){a._.$(i.node,{width:this.offsetWidth,height:this.offsetHeight})}),a._.$(i.node,j)}return i},f.ellipse=function(a,b,c,d){var e;return g(a,"object")&&"[object Object]"==a?e=a:null!=a&&(e={cx:a,cy:b,rx:c,ry:d}),this.el("ellipse",e)},f.path=function(a){var b;return g(a,"object")&&!g(a,"array")?b=a:a&&(b={d:a}),this.el("path",b)},f.group=f.g=function(a){var b=this.el("g");return 1==arguments.length&&a&&!a.type?b.attr(a):arguments.length&&b.add(Array.prototype.slice.call(arguments,0)),b},f.svg=function(a,b,c,d,e,f,h,i){var j={};return g(a,"object")&&null==b?j=a:(null!=a&&(j.x=a),null!=b&&(j.y=b),null!=c&&(j.width=c),null!=d&&(j.height=d),null!=e&&null!=f&&null!=h&&null!=i&&(j.viewBox=[e,f,h,i])),this.el("svg",j)},f.mask=function(a){var b=this.el("mask");return 1==arguments.length&&a&&!a.type?b.attr(a):arguments.length&&b.add(Array.prototype.slice.call(arguments,0)),b},f.ptrn=function(a,b,c,d,e,f,h,i){if(g(a,"object"))var j=a;else arguments.length?(j={},null!=a&&(j.x=a),null!=b&&(j.y=b),null!=c&&(j.width=c),null!=d&&(j.height=d),null!=e&&null!=f&&null!=h&&null!=i&&(j.viewBox=[e,f,h,i])):j={patternUnits:"userSpaceOnUse"};return this.el("pattern",j)},f.use=function(a){if(null!=a){{make("use",this.node)}return a instanceof c&&(a.attr("id")||a.attr({id:ID()}),a=a.attr("id")),this.el("use",{"xlink:href":a})}return c.prototype.use.call(this)},f.text=function(a,b,c){var d={};return g(a,"object")?d=a:null!=a&&(d={x:a,y:b,text:c||""}),this.el("text",d)},f.line=function(a,b,c,d){var e={};return g(a,"object")?e=a:null!=a&&(e={x1:a,x2:c,y1:b,y2:d}),this.el("line",e)},f.polyline=function(a){arguments.length>1&&(a=Array.prototype.slice.call(arguments,0));var b={};return g(a,"object")&&!g(a,"array")?b=a:null!=a&&(b={points:a}),this.el("polyline",b)},f.polygon=function(a){arguments.length>1&&(a=Array.prototype.slice.call(arguments,0));var b={};return g(a,"object")&&!g(a,"array")?b=a:null!=a&&(b={points:a}),this.el("polygon",b)},function(){function c(){return this.selectAll("stop")}function d(b,c){var d=j("stop"),e={offset:+c+"%"};return b=a.color(b),e["stop-color"]=b.hex,b.opacity<1&&(e["stop-opacity"]=b.opacity),j(d,e),this.node.appendChild(d),this}function e(){if("linearGradient"==this.type){var b=j(this.node,"x1")||0,c=j(this.node,"x2")||1,d=j(this.node,"y1")||0,e=j(this.node,"y2")||0;return a._.box(b,d,math.abs(c-b),math.abs(e-d))}var f=this.node.cx||.5,g=this.node.cy||.5,h=this.node.r||0;return a._.box(f-h,g-h,2*h,2*h)}function g(a,c){function d(a,b){for(var c=(b-l)/(a-m),d=m;a>d;d++)g[d].offset=+(+l+c*(d-m)).toFixed(2);m=a,l=b}var e,f=b("snap.util.grad.parse",null,c).firstDefined();if(!f)return null;f.params.unshift(a),e="l"==f.type.toLowerCase()?h.apply(0,f.params):i.apply(0,f.params),f.type!=f.type.toLowerCase()&&j(e.node,{gradientUnits:"userSpaceOnUse"});var g=f.stops,k=g.length,l=0,m=0;k--;for(var n=0;k>n;n++)"offset"in g[n]&&d(n,g[n].offset);for(g[k].offset=g[k].offset||100,d(k,g[k].offset),n=0;k>=n;n++){var o=g[n];e.addStop(o.color,o.offset)}return e}function h(b,f,g,h,i){var k=a._.make("linearGradient",b);return k.stops=c,k.addStop=d,k.getBBox=e,null!=f&&j(k.node,{x1:f,y1:g,x2:h,y2:i}),k}function i(b,f,g,h,i,k){var l=a._.make("radialGradient",b);return l.stops=c,l.addStop=d,l.getBBox=e,null!=f&&j(l.node,{cx:f,cy:g,r:h}),null!=i&&null!=k&&j(l.node,{fx:i,fy:k}),l}var j=a._.$;f.gradient=function(a){return g(this.defs,a)},f.gradientLinear=function(a,b,c,d){return h(this.defs,a,b,c,d)},f.gradientRadial=function(a,b,c,d,e){return i(this.defs,a,b,c,d,e)},f.toString=function(){var b,c=this.node.ownerDocument,d=c.createDocumentFragment(),e=c.createElement("div"),f=this.node.cloneNode(!0);return d.appendChild(e),e.appendChild(f),a._.$(f,{xmlns:"http://www.w3.org/2000/svg"}),b=e.innerHTML,d.removeChild(d.firstChild),b},f.clear=function(){for(var a,b=this.node.firstChild;b;)a=b.nextSibling,"defs"!=b.tagName?b.parentNode.removeChild(b):f.clear.call({node:b}),b=a}}()}),d.plugin(function(a,b){function c(a){var b=c.ps=c.ps||{};return b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[K](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])}),b[a]}function d(a,b,c,d){return null==a&&(a=b=c=d=0),null==b&&(b=a.y,c=a.width,d=a.height,a=a.x),{x:a,y:b,width:c,w:c,height:d,h:d,x2:a+c,y2:b+d,cx:a+c/2,cy:b+d/2,r1:N.min(c,d)/2,r2:N.max(c,d)/2,r0:N.sqrt(c*c+d*d)/2,path:w(a,b,c,d),vb:[a,b,c,d].join(" ")}}function e(){return this.join(",").replace(L,"$1")}function f(a){var b=J(a);return b.toString=e,b}function g(a,b,c,d,e,f,g,h,j){return null==j?n(a,b,c,d,e,f,g,h):i(a,b,c,d,e,f,g,h,o(a,b,c,d,e,f,g,h,j))}function h(c,d){function e(a){return+(+a).toFixed(3)}return a._.cacher(function(a,f,h){a instanceof b&&(a=a.attr("d")),a=E(a);for(var j,k,l,m,n,o="",p={},q=0,r=0,s=a.length;s>r;r++){if(l=a[r],"M"==l[0])j=+l[1],k=+l[2];else{if(m=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6]),q+m>f){if(d&&!p.start){if(n=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6],f-q),o+=["C"+e(n.start.x),e(n.start.y),e(n.m.x),e(n.m.y),e(n.x),e(n.y)],h)return o;p.start=o,o=["M"+e(n.x),e(n.y)+"C"+e(n.n.x),e(n.n.y),e(n.end.x),e(n.end.y),e(l[5]),e(l[6])].join(),q+=m,j=+l[5],k=+l[6];continue}if(!c&&!d)return n=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6],f-q)}q+=m,j=+l[5],k=+l[6]}o+=l.shift()+l}return p.end=o,n=c?q:d?p:i(j,k,l[0],l[1],l[2],l[3],l[4],l[5],1)},null,a._.clone)}function i(a,b,c,d,e,f,g,h,i){var j=1-i,k=R(j,3),l=R(j,2),m=i*i,n=m*i,o=k*a+3*l*i*c+3*j*i*i*e+n*g,p=k*b+3*l*i*d+3*j*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,w=j*e+i*g,x=j*f+i*h,y=90-180*N.atan2(q-s,r-t)/O;return{x:o,y:p,m:{x:q,y:r},n:{x:s,y:t},start:{x:u,y:v},end:{x:w,y:x},alpha:y}}function j(b,c,e,f,g,h,i,j){a.is(b,"array")||(b=[b,c,e,f,g,h,i,j]);var k=D.apply(null,b);return d(k.min.x,k.min.y,k.max.x-k.min.x,k.max.y-k.min.y)}function k(a,b,c){return b>=a.x&&b<=a.x+a.width&&c>=a.y&&c<=a.y+a.height}function l(a,b){return a=d(a),b=d(b),k(b,a.x,a.y)||k(b,a.x2,a.y)||k(b,a.x,a.y2)||k(b,a.x2,a.y2)||k(a,b.x,b.y)||k(a,b.x2,b.y)||k(a,b.x,b.y2)||k(a,b.x2,b.y2)||(a.x<b.x2&&a.x>b.x||b.x<a.x2&&b.x>a.x)&&(a.y<b.y2&&a.y>b.y||b.y<a.y2&&b.y>a.y)}function m(a,b,c,d,e){var f=-3*b+9*c-9*d+3*e,g=a*f+6*b-12*c+6*d;return a*g-3*b+3*c}function n(a,b,c,d,e,f,g,h,i){null==i&&(i=1),i=i>1?1:0>i?0:i;for(var j=i/2,k=12,l=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],n=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],o=0,p=0;k>p;p++){var q=j*l[p]+j,r=m(q,a,c,e,g),s=m(q,b,d,f,h),t=r*r+s*s;o+=n[p]*N.sqrt(t)}return j*o}function o(a,b,c,d,e,f,g,h,i){if(!(0>i||n(a,b,c,d,e,f,g,h)<i)){var j,k=1,l=k/2,m=k-l,o=.01;for(j=n(a,b,c,d,e,f,g,h,m);S(j-i)>o;)l/=2,m+=(i>j?1:-1)*l,j=n(a,b,c,d,e,f,g,h,m);return m}}function p(a,b,c,d,e,f,g,h){if(!(Q(a,c)<P(e,g)||P(a,c)>Q(e,g)||Q(b,d)<P(f,h)||P(b,d)>Q(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(k){var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(!(n<+P(a,c).toFixed(2)||n>+Q(a,c).toFixed(2)||n<+P(e,g).toFixed(2)||n>+Q(e,g).toFixed(2)||o<+P(b,d).toFixed(2)||o>+Q(b,d).toFixed(2)||o<+P(f,h).toFixed(2)||o>+Q(f,h).toFixed(2)))return{x:l,y:m}}}}function q(a,b,c){var d=j(a),e=j(b);if(!l(d,e))return c?0:[];for(var f=n.apply(0,a),g=n.apply(0,b),h=~~(f/8),k=~~(g/8),m=[],o=[],q={},r=c?0:[],s=0;h+1>s;s++){var t=i.apply(0,a.concat(s/h));m.push({x:t.x,y:t.y,t:s/h})}for(s=0;k+1>s;s++)t=i.apply(0,b.concat(s/k)),o.push({x:t.x,y:t.y,t:s/k});for(s=0;h>s;s++)for(var u=0;k>u;u++){var v=m[s],w=m[s+1],x=o[u],y=o[u+1],z=S(w.x-v.x)<.001?"y":"x",A=S(y.x-x.x)<.001?"y":"x",B=p(v.x,v.y,w.x,w.y,x.x,x.y,y.x,y.y);if(B){if(q[B.x.toFixed(4)]==B.y.toFixed(4))continue;q[B.x.toFixed(4)]=B.y.toFixed(4);var C=v.t+S((B[z]-v[z])/(w[z]-v[z]))*(w.t-v.t),D=x.t+S((B[A]-x[A])/(y[A]-x[A]))*(y.t-x.t);C>=0&&1>=C&&D>=0&&1>=D&&(c?r++:r.push({x:B.x,y:B.y,t1:C,t2:D}))}}return r}function r(a,b){return t(a,b)}function s(a,b){return t(a,b,1)}function t(a,b,c){a=E(a),b=E(b);for(var d,e,f,g,h,i,j,k,l,m,n=c?0:[],o=0,p=a.length;p>o;o++){var r=a[o];if("M"==r[0])d=h=r[1],e=i=r[2];else{"C"==r[0]?(l=[d,e].concat(r.slice(1)),d=l[6],e=l[7]):(l=[d,e,d,e,h,i,h,i],d=h,e=i);for(var s=0,t=b.length;t>s;s++){var u=b[s];if("M"==u[0])f=j=u[1],g=k=u[2];else{"C"==u[0]?(m=[f,g].concat(u.slice(1)),f=m[6],g=m[7]):(m=[f,g,f,g,j,k,j,k],f=j,g=k);var v=q(l,m,c);if(c)n+=v;else{for(var w=0,x=v.length;x>w;w++)v[w].segment1=o,v[w].segment2=s,v[w].bez1=l,v[w].bez2=m;n=n.concat(v)}}}}}return n}function u(a,b,c){var d=v(a);return k(d,b,c)&&t(a,[["M",b,c],["H",d.x2+10]],1)%2==1}function v(a){var b=c(a);if(b.bbox)return J(b.bbox);if(!a)return d();a=E(a);for(var e,f=0,g=0,h=[],i=[],j=0,k=a.length;k>j;j++)if(e=a[j],"M"==e[0])f=e[1],g=e[2],h.push(f),i.push(g);else{var l=D(f,g,e[1],e[2],e[3],e[4],e[5],e[6]);h=h.concat(l.min.x,l.max.x),i=i.concat(l.min.y,l.max.y),f=e[5],g=e[6]}var m=P.apply(0,h),n=P.apply(0,i),o=Q.apply(0,h),p=Q.apply(0,i),q=d(m,n,o-m,p-n);return b.bbox=J(q),q}function w(a,b,c,d,f){if(f)return[["M",+a+ +f,b],["l",c-2*f,0],["a",f,f,0,0,1,f,f],["l",0,d-2*f],["a",f,f,0,0,1,-f,f],["l",2*f-c,0],["a",f,f,0,0,1,-f,-f],["l",0,2*f-d],["a",f,f,0,0,1,f,-f],["z"]];var g=[["M",a,b],["l",c,0],["l",0,d],["l",-c,0],["z"]];return g.toString=e,g}function x(a,b,c,d,f){if(null==f&&null==d&&(d=c),a=+a,b=+b,c=+c,d=+d,null!=f)var g=Math.PI/180,h=a+c*Math.cos(-d*g),i=a+c*Math.cos(-f*g),j=b+c*Math.sin(-d*g),k=b+c*Math.sin(-f*g),l=[["M",h,j],["A",c,c,0,+(f-d>180),0,i,k]];else l=[["M",a,b],["m",0,-d],["a",c,d,0,1,1,0,2*d],["a",c,d,0,1,1,0,-2*d],["z"]];return l.toString=e,l}function y(b){var d=c(b),g=String.prototype.toLowerCase;if(d.rel)return f(d.rel);a.is(b,"array")&&a.is(b&&b[0],"array")||(b=a.parsePathString(b));var h=[],i=0,j=0,k=0,l=0,m=0;"M"==b[0][0]&&(i=b[0][1],j=b[0][2],k=i,l=j,m++,h.push(["M",i,j]));for(var n=m,o=b.length;o>n;n++){var p=h[n]=[],q=b[n];if(q[0]!=g.call(q[0]))switch(p[0]=g.call(q[0]),p[0]){case"a":p[1]=q[1],p[2]=q[2],p[3]=q[3],p[4]=q[4],p[5]=q[5],p[6]=+(q[6]-i).toFixed(3),p[7]=+(q[7]-j).toFixed(3);break;case"v":p[1]=+(q[1]-j).toFixed(3);break;case"m":k=q[1],l=q[2];default:for(var r=1,s=q.length;s>r;r++)p[r]=+(q[r]-(r%2?i:j)).toFixed(3)}else{p=h[n]=[],"m"==q[0]&&(k=q[1]+i,l=q[2]+j);for(var t=0,u=q.length;u>t;t++)h[n][t]=q[t]}var v=h[n].length;switch(h[n][0]){case"z":i=k,j=l;break;case"h":i+=+h[n][v-1];break;case"v":j+=+h[n][v-1];break;default:i+=+h[n][v-2],j+=+h[n][v-1]}}return h.toString=e,d.rel=f(h),h}function z(b){var d=c(b);if(d.abs)return f(d.abs);if(I(b,"array")&&I(b&&b[0],"array")||(b=a.parsePathString(b)),!b||!b.length)return[["M",0,0]];var g,h=[],i=0,j=0,k=0,l=0,m=0;"M"==b[0][0]&&(i=+b[0][1],j=+b[0][2],k=i,l=j,m++,h[0]=["M",i,j]);for(var n,o,p=3==b.length&&"M"==b[0][0]&&"R"==b[1][0].toUpperCase()&&"Z"==b[2][0].toUpperCase(),q=m,r=b.length;r>q;q++){if(h.push(n=[]),o=b[q],g=o[0],g!=g.toUpperCase())switch(n[0]=g.toUpperCase(),n[0]){case"A":n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4],n[5]=o[5],n[6]=+o[6]+i,n[7]=+o[7]+j;break;case"V":n[1]=+o[1]+j;break;case"H":n[1]=+o[1]+i;break;case"R":for(var s=[i,j].concat(o.slice(1)),t=2,u=s.length;u>t;t++)s[t]=+s[t]+i,s[++t]=+s[t]+j;h.pop(),h=h.concat(G(s,p));break;case"O":h.pop(),s=x(i,j,o[1],o[2]),s.push(s[0]),h=h.concat(s);break;case"U":h.pop(),h=h.concat(x(i,j,o[1],o[2],o[3])),n=["U"].concat(h[h.length-1].slice(-2));break;case"M":k=+o[1]+i,l=+o[2]+j;default:for(t=1,u=o.length;u>t;t++)n[t]=+o[t]+(t%2?i:j)}else if("R"==g)s=[i,j].concat(o.slice(1)),h.pop(),h=h.concat(G(s,p)),n=["R"].concat(o.slice(-2));else if("O"==g)h.pop(),s=x(i,j,o[1],o[2]),s.push(s[0]),h=h.concat(s);else if("U"==g)h.pop(),h=h.concat(x(i,j,o[1],o[2],o[3])),n=["U"].concat(h[h.length-1].slice(-2));else for(var v=0,w=o.length;w>v;v++)n[v]=o[v];if(g=g.toUpperCase(),"O"!=g)switch(n[0]){case"Z":i=+k,j=+l;break;case"H":i=n[1];break;case"V":j=n[1];break;case"M":k=n[n.length-2],l=n[n.length-1];default:i=n[n.length-2],j=n[n.length-1]}}return h.toString=e,d.abs=f(h),h}function A(a,b,c,d){return[a,b,c,d,c,d]}function B(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]}function C(b,c,d,e,f,g,h,i,j,k){var l,m=120*O/180,n=O/180*(+f||0),o=[],p=a._.cacher(function(a,b,c){var d=a*N.cos(c)-b*N.sin(c),e=a*N.sin(c)+b*N.cos(c);return{x:d,y:e}});if(k)y=k[0],z=k[1],w=k[2],x=k[3];else{l=p(b,c,-n),b=l.x,c=l.y,l=p(i,j,-n),i=l.x,j=l.y;var q=(N.cos(O/180*f),N.sin(O/180*f),(b-i)/2),r=(c-j)/2,s=q*q/(d*d)+r*r/(e*e);s>1&&(s=N.sqrt(s),d=s*d,e=s*e);var t=d*d,u=e*e,v=(g==h?-1:1)*N.sqrt(S((t*u-t*r*r-u*q*q)/(t*r*r+u*q*q))),w=v*d*r/e+(b+i)/2,x=v*-e*q/d+(c+j)/2,y=N.asin(((c-x)/e).toFixed(9)),z=N.asin(((j-x)/e).toFixed(9));y=w>b?O-y:y,z=w>i?O-z:z,0>y&&(y=2*O+y),0>z&&(z=2*O+z),h&&y>z&&(y-=2*O),!h&&z>y&&(z-=2*O)}var A=z-y;if(S(A)>m){var B=z,D=i,E=j;z=y+m*(h&&z>y?1:-1),i=w+d*N.cos(z),j=x+e*N.sin(z),o=C(i,j,d,e,f,0,h,D,E,[z,B,w,x])}A=z-y;var F=N.cos(y),G=N.sin(y),H=N.cos(z),I=N.sin(z),J=N.tan(A/4),K=4/3*d*J,L=4/3*e*J,M=[b,c],P=[b+K*G,c-L*F],Q=[i+K*I,j-L*H],R=[i,j];if(P[0]=2*M[0]-P[0],P[1]=2*M[1]-P[1],k)return[P,Q,R].concat(o);o=[P,Q,R].concat(o).join().split(",");for(var T=[],U=0,V=o.length;V>U;U++)T[U]=U%2?p(o[U-1],o[U],n).y:p(o[U],o[U+1],n).x;return T}function D(a,b,c,d,e,f,g,h){for(var i,j,k,l,m,n,o,p,q=[],r=[[],[]],s=0;2>s;++s)if(0==s?(j=6*a-12*c+6*e,i=-3*a+9*c-9*e+3*g,k=3*c-3*a):(j=6*b-12*d+6*f,i=-3*b+9*d-9*f+3*h,k=3*d-3*b),S(i)<1e-12){if(S(j)<1e-12)continue;l=-k/j,l>0&&1>l&&q.push(l)}else o=j*j-4*k*i,p=N.sqrt(o),0>o||(m=(-j+p)/(2*i),m>0&&1>m&&q.push(m),n=(-j-p)/(2*i),n>0&&1>n&&q.push(n));for(var t,u=q.length,v=u;u--;)l=q[u],t=1-l,r[0][u]=t*t*t*a+3*t*t*l*c+3*t*l*l*e+l*l*l*g,r[1][u]=t*t*t*b+3*t*t*l*d+3*t*l*l*f+l*l*l*h;return r[0][v]=a,r[1][v]=b,r[0][v+1]=g,r[1][v+1]=h,r[0].length=r[1].length=v+2,{min:{x:P.apply(0,r[0]),y:P.apply(0,r[1])},max:{x:Q.apply(0,r[0]),y:Q.apply(0,r[1])}}}function E(a,b){var d=!b&&c(a);if(!b&&d.curve)return f(d.curve);for(var e=z(a),g=b&&z(b),h={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},i={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},j=(function(a,b,c){var d,e;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];switch(!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null),a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"].concat(C.apply(0,[b.x,b.y].concat(a.slice(1))));break;case"S":"C"==c||"S"==c?(d=2*b.x-b.bx,e=2*b.y-b.by):(d=b.x,e=b.y),a=["C",d,e].concat(a.slice(1));break;case"T":"Q"==c||"T"==c?(b.qx=2*b.x-b.qx,b.qy=2*b.y-b.qy):(b.qx=b.x,b.qy=b.y),a=["C"].concat(B(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1],b.qy=a[2],a=["C"].concat(B(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"].concat(A(b.x,b.y,a[1],a[2]));break;case"H":a=["C"].concat(A(b.x,b.y,a[1],b.y));break;case"V":a=["C"].concat(A(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"].concat(A(b.x,b.y,b.X,b.Y))}return a}),k=function(a,b){if(a[b].length>7){a[b].shift();for(var c=a[b];c.length;)m[b]="A",g&&(n[b]="A"),a.splice(b++,0,["C"].concat(c.splice(0,6)));a.splice(b,1),r=Q(e.length,g&&g.length||0)}},l=function(a,b,c,d,f){a&&b&&"M"==a[f][0]&&"M"!=b[f][0]&&(b.splice(f,0,["M",d.x,d.y]),c.bx=0,c.by=0,c.x=a[f][1],c.y=a[f][2],r=Q(e.length,g&&g.length||0))},m=[],n=[],o="",p="",q=0,r=Q(e.length,g&&g.length||0);r>q;q++){e[q]&&(o=e[q][0]),"C"!=o&&(m[q]=o,q&&(p=m[q-1])),e[q]=j(e[q],h,p),"A"!=m[q]&&"C"==o&&(m[q]="C"),k(e,q),g&&(g[q]&&(o=g[q][0]),"C"!=o&&(n[q]=o,q&&(p=n[q-1])),g[q]=j(g[q],i,p),"A"!=n[q]&&"C"==o&&(n[q]="C"),k(g,q)),l(e,g,h,i,q),l(g,e,i,h,q);var s=e[q],t=g&&g[q],u=s.length,v=g&&t.length;h.x=s[u-2],h.y=s[u-1],h.bx=M(s[u-4])||h.x,h.by=M(s[u-3])||h.y,i.bx=g&&(M(t[v-4])||i.x),i.by=g&&(M(t[v-3])||i.y),i.x=g&&t[v-2],i.y=g&&t[v-1]}return g||(d.curve=f(e)),g?[e,g]:e}function F(a,b){if(!b)return a;var c,d,e,f,g,h,i;for(a=E(a),e=0,g=a.length;g>e;e++)for(i=a[e],f=1,h=i.length;h>f;f+=2)c=b.x(i[f],i[f+1]),d=b.y(i[f],i[f+1]),i[f]=c,i[f+1]=d;return a}function G(a,b){for(var c=[],d=0,e=a.length;e-2*!b>d;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push(["C",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}var H=b.prototype,I=a.is,J=a._.clone,K="hasOwnProperty",L=/,?([a-z]),?/gi,M=parseFloat,N=Math,O=N.PI,P=N.min,Q=N.max,R=N.pow,S=N.abs,T=h(1),U=h(),V=h(0,1),W=a._unit2px,X={path:function(a){return a.attr("path")},circle:function(a){var b=W(a);return x(b.cx,b.cy,b.r)},ellipse:function(a){var b=W(a);return x(b.cx||0,b.cy||0,b.rx,b.ry)},rect:function(a){var b=W(a);return w(b.x||0,b.y||0,b.width,b.height,b.rx,b.ry)},image:function(a){var b=W(a);return w(b.x||0,b.y||0,b.width,b.height)},line:function(a){return"M"+[a.attr("x1")||0,a.attr("y1")||0,a.attr("x2"),a.attr("y2")]},polyline:function(a){return"M"+a.attr("points")},polygon:function(a){return"M"+a.attr("points")+"z"},deflt:function(a){var b=a.node.getBBox();return w(b.x,b.y,b.width,b.height)}};a.path=c,a.path.getTotalLength=T,a.path.getPointAtLength=U,a.path.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return V(a,b).end;var d=V(a,c,1);return b?V(d,b).end:d},H.getTotalLength=function(){return this.node.getTotalLength?this.node.getTotalLength():void 0},H.getPointAtLength=function(a){return U(this.attr("d"),a)},H.getSubpath=function(b,c){return a.path.getSubpath(this.attr("d"),b,c)},a._.box=d,a.path.findDotsAtSegment=i,a.path.bezierBBox=j,a.path.isPointInsideBBox=k,a.path.isBBoxIntersect=l,a.path.intersection=r,a.path.intersectionNumber=s,a.path.isPointInside=u,a.path.getBBox=v,a.path.get=X,a.path.toRelative=y,a.path.toAbsolute=z,a.path.toCubic=E,a.path.map=F,a.path.toString=e,a.path.clone=f}),d.plugin(function(a){var d=Math.max,e=Math.min,f=function(a){if(this.items=[],this.bindings={},this.length=0,this.type="set",a)for(var b=0,c=a.length;c>b;b++)a[b]&&(this[this.items.length]=this.items[this.items.length]=a[b],this.length++)},g=f.prototype;g.push=function(){for(var a,b,c=0,d=arguments.length;d>c;c++)a=arguments[c],a&&(b=this.items.length,this[b]=this.items[b]=a,this.length++);return this},g.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},g.forEach=function(a,b){for(var c=0,d=this.items.length;d>c;c++)if(a.call(b,this.items[c],c)===!1)return this;return this},g.animate=function(d,e,f,g){"function"!=typeof f||f.length||(g=f,f=c.linear),d instanceof a._.Animation&&(g=d.callback,f=d.easing,e=f.dur,d=d.attr);var h=arguments;if(a.is(d,"array")&&a.is(h[h.length-1],"array"))var i=!0;var j,k=function(){j?this.b=j:j=this.b},l=0,m=g&&function(){l++==this.length&&g.call(this)};return this.forEach(function(a,c){b.once("snap.animcreated."+a.id,k),i?h[c]&&a.animate.apply(a,h[c]):a.animate(d,e,f,m)})},g.remove=function(){for(;this.length;)this.pop().remove();return this},g.bind=function(a,b,c){var d={};if("function"==typeof b)this.bindings[a]=b;else{var e=c||a;this.bindings[a]=function(a){d[e]=a,b.attr(d)}}return this},g.attr=function(a){var b={};for(var c in a)this.bindings[c]?this.bindings[c](a[c]):b[c]=a[c];for(var d=0,e=this.items.length;e>d;d++)this.items[d].attr(b);return this},g.clear=function(){for(;this.length;)this.pop()},g.splice=function(a,b){a=0>a?d(this.length+a,0):a,b=d(0,e(this.length-a,b));var c,g=[],h=[],i=[];for(c=2;c<arguments.length;c++)i.push(arguments[c]);for(c=0;b>c;c++)h.push(this[a+c]);for(;c<this.length-a;c++)g.push(this[a+c]);var j=i.length;for(c=0;c<j+g.length;c++)this.items[a+c]=this[a+c]=j>c?i[c]:g[c-j];for(c=this.items.length=this.length-=b-j;this[c];)delete this[c++];return new f(h)},g.exclude=function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]==a)return this.splice(b,1),!0;return!1},g.insertAfter=function(a){for(var b=this.items.length;b--;)this.items[b].insertAfter(a);return this},g.getBBox=function(){for(var a=[],b=[],c=[],f=[],g=this.items.length;g--;)if(!this.items[g].removed){var h=this.items[g].getBBox();a.push(h.x),b.push(h.y),c.push(h.x+h.width),f.push(h.y+h.height)}return a=e.apply(0,a),b=e.apply(0,b),c=d.apply(0,c),f=d.apply(0,f),{x:a,y:b,x2:c,y2:f,width:c-a,height:f-b,cx:a+(c-a)/2,cy:b+(f-b)/2}},g.clone=function(a){a=new f;for(var b=0,c=this.items.length;c>b;b++)a.push(this.items[b].clone());return a},g.toString=function(){return"Snapâs set"},g.type="set",a.set=function(){var a=new f;return arguments.length&&a.push.apply(a,Array.prototype.slice.call(arguments,0)),a}}),d.plugin(function(a,c){function d(a){var b=a[0];switch(b.toLowerCase()){case"t":return[b,0,0];case"m":return[b,1,0,0,1,0,0];case"r":return 4==a.length?[b,0,a[2],a[3]]:[b,0];case"s":return 5==a.length?[b,1,1,a[3],a[4]]:3==a.length?[b,1,1]:[b,1]}}function e(b,c,e){c=m(c).replace(/\.{3}|\u2026/g,b),b=a.parseTransformString(b)||[],c=a.parseTransformString(c)||[];for(var f,g,h,k,l=Math.max(b.length,c.length),n=[],o=[],p=0;l>p;p++){if(h=b[p]||d(c[p]),k=c[p]||d(h),h[0]!=k[0]||"r"==h[0].toLowerCase()&&(h[2]!=k[2]||h[3]!=k[3])||"s"==h[0].toLowerCase()&&(h[3]!=k[3]||h[4]!=k[4])){b=a._.transform2matrix(b,e()),c=a._.transform2matrix(c,e()),n=[["m",b.a,b.b,b.c,b.d,b.e,b.f]],o=[["m",c.a,c.b,c.c,c.d,c.e,c.f]];break}for(n[p]=[],o[p]=[],f=0,g=Math.max(h.length,k.length);g>f;f++)f in h&&(n[p][f]=h[f]),f in k&&(o[p][f]=k[f])}return{from:j(n),to:j(o),f:i(n)}}function f(a){return a}function g(a){return function(b){return+b.toFixed(3)+a}}function h(b){return a.rgb(b[0],b[1],b[2])}function i(a){var b,c,d,e,f,g,h=0,i=[];for(b=0,c=a.length;c>b;b++){for(f="[",g=['"'+a[b][0]+'"'],d=1,e=a[b].length;e>d;d++)g[d]="val["+h++ +"]";
+f+=g+"]",i[b]=f}return Function("val","return Snap.path.toString.call(["+i+"])")}function j(a){for(var b=[],c=0,d=a.length;d>c;c++)for(var e=1,f=a[c].length;f>e;e++)b.push(a[c][e]);return b}var k={},l=/[a-z]+$/i,m=String;k.stroke=k.fill="colour",c.prototype.equal=function(a,c){return b("snap.util.equal",this,a,c).firstDefined()},b.on("snap.util.equal",function(b,c){var d,n,o=m(this.attr(b)||""),p=this;if(o==+o&&c==+c)return{from:+o,to:+c,f:f};if("colour"==k[b])return d=a.color(o),n=a.color(c),{from:[d.r,d.g,d.b,d.opacity],to:[n.r,n.g,n.b,n.opacity],f:h};if("transform"==b||"gradientTransform"==b||"patternTransform"==b)return c instanceof a.Matrix&&(c=c.toTransformString()),a._.rgTransform.test(c)||(c=a._.svgTransform2string(c)),e(o,c,function(){return p.getBBox(1)});if("d"==b||"path"==b)return d=a.path.toCubic(o,c),{from:j(d[0]),to:j(d[1]),f:i(d[0])};if("points"==b)return d=m(o).split(a._.separator),n=m(c).split(a._.separator),{from:d,to:n,f:function(a){return a}};aUnit=o.match(l);var q=m(c).match(l);return aUnit&&aUnit==q?{from:parseFloat(o),to:parseFloat(c),f:g(aUnit)}:{from:this.asPX(b),to:this.asPX(b,c),f:f}})}),d.plugin(function(a,c,d,e){for(var f=c.prototype,g="hasOwnProperty",h=("createTouch"in e.doc),i=["click","dblclick","mousedown","mousemove","mouseout","mouseover","mouseup","touchstart","touchmove","touchend","touchcancel"],j={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},k=(function(a,b){var c="y"==a?"scrollTop":"scrollLeft",d=b&&b.node?b.node.ownerDocument:e.doc;return d[c in d.documentElement?"documentElement":"body"][c]}),l=function(){this.returnValue=!1},m=function(){return this.originalEvent.preventDefault()},n=function(){this.cancelBubble=!0},o=function(){return this.originalEvent.stopPropagation()},p=function(){return e.doc.addEventListener?function(a,b,c,d){var e=h&&j[b]?j[b]:b,f=function(e){var f=k("y",d),i=k("x",d);if(h&&j[g](b))for(var l=0,n=e.targetTouches&&e.targetTouches.length;n>l;l++)if(e.targetTouches[l].target==a||a.contains(e.targetTouches[l].target)){var p=e;e=e.targetTouches[l],e.originalEvent=p,e.preventDefault=m,e.stopPropagation=o;break}var q=e.clientX+i,r=e.clientY+f;return c.call(d,e,q,r)};return b!==e&&a.addEventListener(b,f,!1),a.addEventListener(e,f,!1),function(){return b!==e&&a.removeEventListener(b,f,!1),a.removeEventListener(e,f,!1),!0}}:e.doc.attachEvent?function(a,b,c,d){var e=function(a){a=a||d.node.ownerDocument.window.event;var b=k("y",d),e=k("x",d),f=a.clientX+e,g=a.clientY+b;return a.preventDefault=a.preventDefault||l,a.stopPropagation=a.stopPropagation||n,c.call(d,a,f,g)};a.attachEvent("on"+b,e);var f=function(){return a.detachEvent("on"+b,e),!0};return f}:void 0}(),q=[],r=function(a){for(var c,d=a.clientX,e=a.clientY,f=k("y"),g=k("x"),i=q.length;i--;){if(c=q[i],h){for(var j,l=a.touches&&a.touches.length;l--;)if(j=a.touches[l],j.identifier==c.el._drag.id||c.el.node.contains(j.target)){d=j.clientX,e=j.clientY,(a.originalEvent?a.originalEvent:a).preventDefault();break}}else a.preventDefault();{var m=c.el.node;m.nextSibling,m.parentNode,m.style.display}d+=g,e+=f,b("snap.drag.move."+c.el.id,c.move_scope||c.el,d-c.el._drag.x,e-c.el._drag.y,d,e,a)}},s=function(c){a.unmousemove(r).unmouseup(s);for(var d,e=q.length;e--;)d=q[e],d.el._drag={},b("snap.drag.end."+d.el.id,d.end_scope||d.start_scope||d.move_scope||d.el,c);q=[]},t=i.length;t--;)!function(b){a[b]=f[b]=function(c,d){return a.is(c,"function")&&(this.events=this.events||[],this.events.push({name:b,f:c,unbind:p(this.node||document,b,c,d||this)})),this},a["un"+b]=f["un"+b]=function(a){for(var c=this.events||[],d=c.length;d--;)if(c[d].name==b&&(c[d].f==a||!a))return c[d].unbind(),c.splice(d,1),!c.length&&delete this.events,this;return this}}(i[t]);f.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)},f.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var u=[];f.drag=function(c,d,e,f,g,h){function i(i,j,k){(i.originalEvent||i).preventDefault(),this._drag.x=j,this._drag.y=k,this._drag.id=i.identifier,!q.length&&a.mousemove(r).mouseup(s),q.push({el:this,move_scope:f,start_scope:g,end_scope:h}),d&&b.on("snap.drag.start."+this.id,d),c&&b.on("snap.drag.move."+this.id,c),e&&b.on("snap.drag.end."+this.id,e),b("snap.drag.start."+this.id,g||f||this,j,k,i)}if(!arguments.length){var j;return this.drag(function(a,b){this.attr({transform:j+(j?"T":"t")+[a,b]})},function(){j=this.transform().local})}return this._drag={},u.push({el:this,start:i}),this.mousedown(i),this},f.undrag=function(){for(var c=u.length;c--;)u[c].el==this&&(this.unmousedown(u[c].start),u.splice(c,1),b.unbind("snap.drag.*."+this.id));return!u.length&&a.unmousemove(r).unmouseup(s),this}}),d.plugin(function(a,c,d){var e=(c.prototype,d.prototype),f=/^\s*url\((.+)\)/,g=String,h=a._.$;a.filter={},e.filter=function(b){var d=this;"svg"!=d.type&&(d=d.paper);var e=a.parse(g(b)),f=a._.id(),i=(d.node.offsetWidth,d.node.offsetHeight,h("filter"));return h(i,{id:f,filterUnits:"userSpaceOnUse"}),i.appendChild(e.node),d.defs.appendChild(i),new c(i)},b.on("snap.util.getattr.filter",function(){b.stop();var c=h(this.node,"filter");if(c){var d=g(c).match(f);return d&&a.select(d[1])}}),b.on("snap.util.attr.filter",function(d){if(d instanceof c&&"filter"==d.type){b.stop();var e=d.node.id;e||(h(d.node,{id:d.id}),e=d.id),h(this.node,{filter:a.url(e)})}d&&"none"!=d||(b.stop(),this.node.removeAttribute("filter"))}),a.filter.blur=function(b,c){null==b&&(b=2);var d=null==c?b:[b,c];return a.format('<feGaussianBlur stdDeviation="{def}"/>',{def:d})},a.filter.blur.toString=function(){return this()},a.filter.shadow=function(b,c,d,e,f){return"string"==typeof d&&(e=d,f=e,d=4),"string"!=typeof e&&(f=e,e="#000"),e=e||"#000",null==d&&(d=4),null==f&&(f=1),null==b&&(b=0,c=2),null==c&&(c=b),e=a.color(e),a.format('<feGaussianBlur in="SourceAlpha" stdDeviation="{blur}"/><feOffset dx="{dx}" dy="{dy}" result="offsetblur"/><feFlood flood-color="{color}"/><feComposite in2="offsetblur" operator="in"/><feComponentTransfer><feFuncA type="linear" slope="{opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>',{color:e,dx:b,dy:c,blur:d,opacity:f})},a.filter.shadow.toString=function(){return this()},a.filter.grayscale=function(b){return null==b&&(b=1),a.format('<feColorMatrix type="matrix" values="{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0"/>',{a:.2126+.7874*(1-b),b:.7152-.7152*(1-b),c:.0722-.0722*(1-b),d:.2126-.2126*(1-b),e:.7152+.2848*(1-b),f:.0722-.0722*(1-b),g:.2126-.2126*(1-b),h:.0722+.9278*(1-b)})},a.filter.grayscale.toString=function(){return this()},a.filter.sepia=function(b){return null==b&&(b=1),a.format('<feColorMatrix type="matrix" values="{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0"/>',{a:.393+.607*(1-b),b:.769-.769*(1-b),c:.189-.189*(1-b),d:.349-.349*(1-b),e:.686+.314*(1-b),f:.168-.168*(1-b),g:.272-.272*(1-b),h:.534-.534*(1-b),i:.131+.869*(1-b)})},a.filter.sepia.toString=function(){return this()},a.filter.saturate=function(b){return null==b&&(b=1),a.format('<feColorMatrix type="saturate" values="{amount}"/>',{amount:1-b})},a.filter.saturate.toString=function(){return this()},a.filter.hueRotate=function(b){return b=b||0,a.format('<feColorMatrix type="hueRotate" values="{angle}"/>',{angle:b})},a.filter.hueRotate.toString=function(){return this()},a.filter.invert=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type="table" tableValues="{amount} {amount2}"/><feFuncG type="table" tableValues="{amount} {amount2}"/><feFuncB type="table" tableValues="{amount} {amount2}"/></feComponentTransfer>',{amount:b,amount2:1-b})},a.filter.invert.toString=function(){return this()},a.filter.brightness=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type="linear" slope="{amount}"/><feFuncG type="linear" slope="{amount}"/><feFuncB type="linear" slope="{amount}"/></feComponentTransfer>',{amount:b})},a.filter.brightness.toString=function(){return this()},a.filter.contrast=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type="linear" slope="{amount}" intercept="{amount2}"/><feFuncG type="linear" slope="{amount}" intercept="{amount2}"/><feFuncB type="linear" slope="{amount}" intercept="{amount2}"/></feComponentTransfer>',{amount:b,amount2:.5-b/2})},a.filter.contrast.toString=function(){return this()}}),d});
\ No newline at end of file
diff --git a/js/url-map1.js b/js/url-map1.js
new file mode 100644
index 0000000..84b0492
--- /dev/null
+++ b/js/url-map1.js
@@ -0,0 +1,58 @@
+var markers = [
+	  {latLng: [48.69, 2.09], name: 'Paris', weburl : "http://www.recontact.me"},
+	  {latLng: [-22.65, -43.67], name: 'Rio de Janeiro', weburl : "http://www.recontact.me"},
+	  {latLng: [-23.85, -46.89], name: 'São Paulo', weburl : "http://www.recontact.me"},
+	  {latLng: [-25.47, -54.60], name: 'Iguazu Falls', weburl : "http://www.recontact.me"},
+	  {latLng: [-27.20, -55.89], name: 'Trinidad', weburl : "http://www.recontact.me"},
+	  {latLng: [-25.26, -57.67], name: 'Asunción', weburl : "http://www.recontact.me"},
+	  {latLng: [-28.10, -57.62], name: 'Esteros del Iberá', weburl : "http://www.recontact.me"},
+	  {latLng: [-27.20, -58.96], name: 'Resistencia', weburl : "http://www.recontact.me"},
+	  {latLng: [-24.26, -65.40], name: 'Salta', weburl : "http://www.recontact.me/merci.php"},
+	  {latLng: [-20.63, -66.75], name: 'Uyuni', weburl : "http://www.recontact.me"},
+	  {latLng: [-19.06, -65.76], name: 'Potosi', weburl : "http://www.recontact.me"},
+	  {latLng: [-16.35, -68.47], name: 'La Paz', weburl : "http://www.recontact.me"},
+	  {latLng: [-15.62, -67.65], name: 'Death road', weburl : "http://www.recontact.me"},
+	  {latLng: [-13.72, -71.69], name: 'Cusco', weburl : "http://www.recontact.me"},
+	  {latLng: [-13.20, -72.74], name: 'Machu Pichu', weburl : "http://www.recontact.me"},
+	  {latLng: [-14.60, -75.14], name: 'Nazca Lines', weburl : "http://www.recontact.me"},
+	  {latLng: [-11.65, -77.38], name: 'Lima', weburl : "http://www.recontact.me"},
+	  {latLng: [-33.48, -70.87], name: 'Santiago de Chile', weburl : "http://www.recontact.me"},
+	  {latLng: [-36.87, 174.74], name: 'Auckland', weburl : "http://www.recontact.me"},
+	  {latLng: [-43.71, 170.84], name: 'Tekapo Lake', weburl : "http://www.recontact.me"},
+	  {latLng: [-43.09, 170.84], name: 'Mount Cook', weburl : "http://www.recontact.me"},
+	  {latLng: [-45.05, 168.67], name: 'Queenstown', weburl : "http://www.recontact.me"},
+	  {latLng: [-46.26, 167.92], name: 'Milford Sound', weburl : "http://www.recontact.me"},
+	  {latLng: [-44.08, 169.35], name: 'Haast Pass', weburl : "http://www.recontact.me"},
+	  {latLng: [-34.35, 150.75], name: 'Sidney', weburl : "http://www.recontact.me"},
+	  {latLng: [-34.01, 146.55], name: 'Blue Montains', weburl : "http://www.recontact.me"},
+	  {latLng: [-37.69, 145.13], name: 'Melbourne', weburl : "http://www.recontact.me"},
+	  {latLng: [-27.13, 152.84], name: 'Brisbane', weburl : "http://www.recontact.me"},
+	  {latLng: [-18.03, 148.03], name: 'Great Barrier Reef', weburl : "http://www.recontact.me"},
+	  {latLng: [1.49, 103.43], name: 'Singapore', weburl : "http://www.recontact.me"},
+	  {latLng: [-8.39, 115.35], name: 'Bali', weburl : "http://www.recontact.me"},
+	  {latLng: [-8.61, 116.92], name: 'Gili Islands', weburl : "http://www.recontact.me"},
+	  {latLng: [-7.34, 110.11], name: 'Borobudur', weburl : "http://www.recontact.me"},
+	  {latLng: [-7.87, 112.80], name: 'Mount Bromo', weburl : "http://www.recontact.me"},
+	  {latLng: [13.82, 100.67], name: 'Bankok', weburl : "http://www.recontact.me"},
+	  {latLng: [13.31, 104.56], name: 'Angkor', weburl : "http://www.recontact.me"},
+	  {latLng: [11.39, 104.49], name: 'Phnom-Penh', weburl : "http://www.recontact.me"},
+	  {latLng: [10.50, 106.66], name: 'Hô Chi Minh', weburl : "http://www.recontact.me"},
+	  {latLng: [21.16, 105.46], name: 'Hà Noi', weburl : "http://www.recontact.me"},
+	  {latLng: [20.51, 106.89], name: 'Halong Bay', weburl : "http://www.recontact.me"},
+	  {latLng: [29.65, 103.97], name: 'Sichuan', weburl : "http://www.recontact.me"},
+	  {latLng: [34.90, 104.19], name: 'Jiuzhaigou valley', weburl : "http://www.recontact.me"},
+	  {latLng: [26.11, 108.61], name: 'Guilin', weburl : "http://www.recontact.me"},
+	  {latLng: [39.77, 116.10], name: 'Beijing', weburl : "http://www.recontact.me"},
+	  {latLng: [40.97, 116.77], name: 'Great Wall of China', weburl : "http://www.recontact.me"},
+	  {latLng: [39.96, 99.62], name: 'Zhangye', weburl : "http://www.recontact.me"},
+	  {latLng: [30.67, 90.26], name: 'Lhassa', weburl : "http://www.recontact.me"},
+	  {latLng: [30.47, 91.01], name: 'Potala Palace', weburl : "http://www.recontact.me"},
+	  {latLng: [27.99, 86.74], name: 'Mount Everest', weburl : "http://www.recontact.me"},
+	  {latLng: [27.79, 85.02], name: 'Kahtmandu', weburl : "http://www.recontact.me"},
+	  {latLng: [25.06, 83.82], name: 'Varanasi', weburl : "http://www.recontact.me"},
+	  {latLng: [22.44, 87.27], name: 'Calcutta', weburl : "http://www.recontact.me"},
+	  {latLng: [25.65, 78.43], name: 'Taj Mahal - Agra', weburl : "http://www.recontact.me"},
+	  {latLng: [28.75, 77.83], name: 'New Delhi', weburl : "http://www.recontact.me"},
+	  {latLng: [23.86, 76.63], name: 'Rajasthan', weburl : "http://www.recontact.me"},
+	  {latLng: [33.24, 76.71], name: 'Leh Ladakh', weburl : "http://www.recontact.me"}
+];
\ No newline at end of file
diff --git a/lang/en.php b/lang/en.php
new file mode 100644
index 0000000..933bb74
--- /dev/null
+++ b/lang/en.php
@@ -0,0 +1,132 @@
+ <?php
+//Header
+	define('TITLE', 'Recontact Me! Blog of the world trip of Pierre and BenoÃ®t: Follow their adventure in South America,  New Zealand, Australia, Thailand, Cambodia, Vietnam, China, Nepal, India');		
+	define('DESCRIPTIONSEO', 'Articles and challenges realised during the voyage in South America,  New Zealand, Australia, Thailand, Cambodia, Vietnam, China, Nepal, India');
+	
+//notification
+	define('MESSAGENOTIFICATION', "Overview of the road in");
+	define('MESSAGENOTIFICATIONHOME', "Overview of the whole road");
+
+//Lightbox
+	define('CHALLENGE', 'Challenge');
+	define('ARTICLE', 'Article');
+	define('THANK', 'Thanks!');
+	define('PROPOSE', 'Propose');
+	define('EXISTINGCHALLENGES', 'Existing Challenges');
+	define('WEARECHALLENGERS', 'Which CHALLENGES? ');
+	define('CHAEWW', '<li>We are CHALLENGERS! 
+					<Br/>Every week we will realize one challenge
+                    <br/>that you can suggest on this website!</li>
+                    <li>Come back often to see your last pictures</li>');
+	define('YOUHAVECHALLENGES', 'Propose your CHALLENGES?');
+	define('READYTODO', 'We are READY to do it!');
+	define('PROPOSEACHALLENGE', 'PROPOSE A CHALLENGE');
+	define('GALTTEC', 'Get a look to the existing challenges');
+	define('NEEDINSPIRATION', 'You need inspiration? ');
+	define('CTECTFNO', 'Check the existing challenges to find new ones!');
+	define('VIEWCHALLENGES', 'VIEW CHALLENGES');
+
+//Homepage
+	define('RETRIEVE', 'Retrieve all the <span id="confort">adventures</span> of
+                    <br><span class="enGros">Beno&icirc;t </span> and
+                    <span class="enGros">Pierre</span>!');
+	define('SCROLL', 'Scroll to discover');
+	
+	define('CHALLENGEUS', 'Challenge us!');
+	
+//Menus
+	define('HOME', 'Home');
+	define('DESTINATION', 'Destination');   
+    define('SOUTHAMERICA', 'South America');
+	define('BRAZIL', 'Brazil');
+	define('ARGENTINA', 'Argentina');
+	define('PARAGUAY', 'Paraguay');
+	define('BOLIVIA', 'Bolivia');
+	define('PERU', 'Peru    ');
+	define('CHILE', 'Chile   ');
+	define('OCEANIA', 'Oceania');
+	define('NZ', 'New Zealand');
+	define('AUSTRALIA', 'Australia');
+	define('ASIA', 'Asia');
+	define('SINGAPOUR', 'Singapore');
+	define('INDONESIA', 'Indonesia');
+	define('THAILAND', 'Thailand');
+	define('CAMBODIA', 'Cambodia');
+	define('VIETNAM', 'Vietnam');
+	define('CHINA', 'China');
+	define('TIBET', 'Tibet');
+	define('NEPAL', 'Nepal');
+	define('INDIA', 'India');
+	define('UAE', 'United Arab Emirates');
+	define('ARTICLES', 'Articles');
+	define('ALTARTICLES', 'Find all our articles');
+	define('CHALLENGES', 'Challenges');
+	define('ALTCHALLENGES', 'Find all our challenges');
+	define('GALLERY', 'Gallery');
+	define('CONTACT', 'Contact');
+	define('ALTCONTACT','Send us a message');
+	define('ALTAVION','Look at our itinerary');
+	define('ALTHOME',"Return to homepage");
+	define('ALTPAYPAL',"Help us!");
+	define('ALTDEST',"Admire the destinations of our trip!");
+	define('ALTCHAL',"Get a look to our last challenge");
+	define('ALTART',"Get a look to our last article");
+	define('ALTPROP',"Propose a challenge");
+	define('ADDCHAL',"Add a challenge");
+//CONTACT.php
+	define('SUJET','Subject');
+	define('FIRSTNAME','First Name');
+	define('LASTNAME','Last Name');
+ define('SEND','Send');
+	 define('CANCEL','Cancel');
+
+	//Discover all our Challenges
+	define('PYC','Propose your challenge');
+	define('VTEC','View the existing challenges');
+	
+	define('DAOA','The Articles');
+	define('DAOC','The Challenges');
+	define('VLAPDLA',"Photo gallery of this article");
+	define('VLAA',"List of articles");
+	define('VLAPDD',"Photo gallery of this challenge");
+	define('VLAD',"List of challenges");
+	define('ALTDAOA','Click here to go to the Articles page');
+	define('ALTDAOC','Click here to go to the Challenges page');
+	define('ALTVLAPDLA',"Click here to see the photo gallery of this article on Dropbox");
+	define('ALTVLAA',"Click here to see all the articles");
+	define('ALTVLAPDD',"Click here to see the photo gallery of this challenge on Dropbox");
+	define('ALTVLAD',"Click here to see all the challenges");
+		
+
+	define('QDDM',"Which destinations discover next (work in progress)?");
+	define('OU','or');
+	
+	//Footer
+define('PIERRE', "This is Pierre
+				<br/> Great traveler and entrepreneur. 
+				</p><p>
+				 To live is more important than following the paths society built for us.");
+	define('BENOIT', 'Benoit aka Jack. 
+				<br/> Practising scoutism since the youngest age, he wants to live adventures and discoveries. 
+				</p><p> This world trip will be awesome !');
+	define('NUAGE','Destination cloud');
+	define('GETIT','Get the bracelet of the trip');
+
+	 //Formulaire Contact
+	 define('LETSSTAYINTOUCH', "Restons en contact");
+
+//Index
+	define('WHO_ARE_WE', 'Who are we?');
+
+	 //Formulaire Contact
+	 define('FN','First Name');
+	 define('LN','Last Name');
+	
+	//Donation
+	define('DON','You can also help us with donation
+					<br/>We will thank you by bringing/sending souvenir for you');
+   	
+//DROITE
+	define('FOOTER', 'Website by Pierre T.     Explore my creation on my <a href="http://pierre.recontact.me">website</a>');
+	define('BACK_TO_TOP', 'Back to top');
+  ?>
diff --git a/lang/fr.php b/lang/fr.php
new file mode 100644
index 0000000..033a795
--- /dev/null
+++ b/lang/fr.php
@@ -0,0 +1,129 @@
+ <?php
+//Header
+	define('TITLE', 'Recontact Me ! Blog du tour du monde de Pierre et BenoÃ®t : Suivez leur aventure en AmÃ©rique du Sud, Nouvelle ZÃ©lande, Australie, ThaÃ¯lande, Cambodge, ViÃªtnam, Chine, NÃ©pal, Inde');
+	define('DESCRIPTIONSEO', 'Articles et challenges rÃ©alisÃ©s durant le voyage en AmÃ©rique du Sud, Nouvelle ZÃ©lande, Australie, ThaÃ¯lande, Cambodge, ViÃªtnam, Chine, NÃ©pal, Inde');
+ 
+//notification
+	define('MESSAGENOTIFICATION', "AperÃ§u de l\'itinÃ©raire en");
+	define('MESSAGENOTIFICATIONHOME', "AperÃ§u de l\'itinÃ©raire complet");
+
+//Lightbox
+	define('CHALLENGE', 'Challenge');
+	define('ARTICLE', 'Article');
+	define('THANK', 'Merci !');
+	define('CONTACT', 'CONTACT');
+	define('ALTCONTACT','Envoie-nous un message');
+	define('PROPOSE', 'Propose');
+	define('EXISTINGCHALLENGES', 'Les dÃ©fis existants');
+	define('WEARECHALLENGERS', 'Quels dÃ©fis ? ');
+	define('CHAEWW', '<li>Nous aimons les dÃ©fis !
+					<br/> Chaque semaine, nous rÃ©aliserons un dÃ©fi !
+                    <br/>SuggÃ¨re-nous des dÃ©fis sur ce site !</li>
+                    <li>Et reviens voir les dÃ©fis relevÃ©s dans la rubrique Challenge</li>');
+	define('YOUHAVECHALLENGES', 'âPropose-nous tes dÃ©fis ?');
+	define('READYTODO', 'Nous sommes pr&ecirc;ts Ã  les relever !');
+	define('PROPOSEACHALLENGE', 'PROPOSE UN DEFI');
+	define('GALTTEC', "Jette un coup d'oeil aux dÃ©fis existants");
+	define('NEEDINSPIRATION', "Besoin d'inspiration");
+	define('CTECTFNO', 'Regarde les dÃ©fis existants pour en trouver de nouveaux !');
+	define('VIEWCHALLENGES', 'VOIR LES D&Eacute;FIS');
+
+//Homepage
+	define('CHALLENGEUS', 'DÃ©fie-nous!');
+	define('RETRIEVE', 'Retrouve toutes les <span id="confort">aventures</span> de
+                    <br><span class="enGros">Beno&icirc;t </span> et
+                    <span class="enGros">Pierre</span>!');
+	define('SCROLL', 'Scrolle pour dÃ©couvrir');
+	
+	
+//Menus
+	define('HOME', 'Accueil');
+	define('DESTINATION', 'Destination');   
+    define('SOUTHAMERICA', 'AmÃ©rique du Sud');
+	define('OCEANIA', 'OcÃ©anie');
+	define('BRAZIL', 'BrÃ©sil');
+	define('ARGENTINA', 'Argentine');
+	define('PARAGUAY', 'Paraguay');
+	define('BOLIVIA', 'Bolivie');
+	define('PERU', 'PÃ©rou   ');
+	define('CHILE', 'Chili     ');
+	define('NZ', 'Nouvelle ZÃ©lande');
+	define('AUSTRALIA', 'Australie');
+	define('ASIA', 'Asie');
+	define('SINGAPOUR', 'Singapour');
+	define('INDONESIA', 'IndonÃ©sie');
+	define('THAILAND', 'Tha&iuml;lande');
+	define('CAMBODIA', 'Cambodge');
+	define('VIETNAM', 'Vi&ecirc;t Nam');
+	define('CHINA', 'Chine');
+	define('TIBET', 'Tibet');
+	define('NEPAL', 'NÃ©pal              ');
+	define('INDIA', 'Inde     ');
+	define('UAE', 'Emirats Arabes Unis');
+	define('ARTICLES', 'Articles');
+	define('ALTARTICLES', 'Retrouve tous nos articles');
+	define('CHALLENGES', 'DÃ©fis');
+	define('ALTCHALLENGES', 'Retrouve tous nos dÃ©fis');
+	define('ALTAVION','Voir notre itinÃ©raire');
+	define('ALTHOME',"Retourne Ã  la page d'accueil");
+	define('ALTPAYPAL',"Aide-nous !");
+	define('ALTDEST',"Admire les destinations de notre voyage !");
+	define('ALTCHAL',"Voir notre dernier dÃ©fi");
+	define('ALTART',"Voir notre dernier article");
+	define('ALTPROP',"Propose un dÃ©fi");
+	define('ADDCHAL',"Ajoute un dÃ©fi");
+
+	define('GALLERY', 'Galerie');
+
+	
+	//CONTACT.php
+	define('SUJET','Sujet');
+	define('FIRSTNAME','PrÃ©nom');
+	define('LASTNAME','Nom');
+	 define('SEND','Envoyer');
+	 define('CANCEL','Annuler');
+
+	
+	//Discover all our Challenges
+	define('PYC','Propose ton dÃ©fi');
+	define('VTEC','Voir les dÃ©fis proposÃ©s');
+	define('DAOA','Les  articles');
+	define('DAOC','Les dÃ©fis rÃ©alisÃ©s');
+	define('VLAPDLA',"Galerie photo de l'article");
+	define('VLAA',"Liste des articles");
+	define('VLAPDD',"Galerie photo du dÃ©fi");
+	define('VLAD',"Liste des dÃ©fis");
+	define('ALTDAOA','Aller Ã  la page rÃ©pertoriant tous nos articles');
+	define('ALTDAOC','Aller Ã  la page rÃ©pertoriant tous nos dÃ©fis rÃ©alisÃ©s');
+	define('ALTVLAPDLA',"Aller Ã  la page Dropbox de notre galerie photo de l'article");
+	define('ALTVLAA',"Aller Ã  la page rÃ©pertoriant tous les articles");
+	define('ALTVLAPDD',"Aller Ã  la page Dropbox de notre galerie photo du dÃ©fi");
+	define('ALTVLAD',"Aller Ã  la page rÃ©pertoriant tous les dÃ©fis");
+	define('QDDM',"Quelles destinations dÃ©couvrir maintenant (site en construction) ?");
+	define('OU','ou');
+
+	//Footer
+define('PIERRE', "Voici Pierre
+				<br/>Grand voyageur et entrepreneur dans l'Ã¢me.
+				</p><p>
+				Vivre est plus important que de suivre le chemin tracÃ© pour lui par la sociÃ©tÃ©.");
+	define('BENOIT', "Benoit Alias Jack.
+				<br/>Scout depuis l'enfance, il veut assouvir sa soif d'aventure et de dÃ©couvertes. 
+				</p><p>Ce tour du monde sera inoubliable !");
+	define('NUAGE','Nuage des destinations');
+	define('GETIT','ReÃ§ois le bracelet du voyage');
+
+	 //Formulaire Contact
+	 define('LETSSTAYINTOUCH', "Restons en contact");
+	
+	 define('FN','PrÃ©nom');
+	 define('LN','Nom');
+
+	//Donation
+	define('DON','Tu peux nous aider par don
+					<br/>Notre budget est tr&egrave;s serrÃ©. Vos dons nous permettront d\'&ecirc;tre s&ucirc;r de pouvoir mener &agrave; bien notre aventure jusqu\'au bout');
+   
+//DROITE
+	define('FOOTER', 'Site par Pierre T.     DÃ©couvrez ma crÃ©ation sur mon <a href="http://pierre.recontact.me">site</a>');
+	define('BACK_TO_TOP', 'Haut de la page');
+?>
diff --git a/lang/lang.php b/lang/lang.php
new file mode 100644
index 0000000..38d23c7
--- /dev/null
+++ b/lang/lang.php
@@ -0,0 +1,25 @@
+<?php 
+ 	if(isset($_COOKIE['lang'])) {
+ 	     $lang = $_COOKIE['lang'];
+	} else {
+ 	     // si aucune langue n'est déclarée on tente de reconnaitre la langue par défaut du navigateur
+	     $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); 
+ 	}
+// $lang = 'en';
+ 	 //script d'origine
+ 	 if ($lang=='fr') {           // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
+ 	     include('lang/fr.php'); 
+	 } elseif ($lang=='en') {      // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
+ 	     include('lang/en.php'); 
+	 }  else {                       // si aucune langue n'est déclarée on inclut le fichier fr-lang.php par défaut
+		include('lang/en.php');
+	}
+ 	 //fin du script d'origine
+ 	 
+ 	 //définition de la durée du cookie (1 an)
+ 	 $expire = 365*24*3600; 
+ 	 
+	//enregistrement du cookie au nom de lang
+ 	 setcookie('lang', $lang, time() + $expire); 
+ 	 
+?>
\ No newline at end of file
diff --git a/lang/langchange.php b/lang/langchange.php
new file mode 100644
index 0000000..4e02ef7
--- /dev/null
+++ b/lang/langchange.php
@@ -0,0 +1,23 @@
+<?php		
+		
+ if(isset($_COOKIE['lang'])) {
+ 	     $lang = $_COOKIE['lang'];
+	 } else {
+ 	     // si aucune langue n'est dÃ©clarÃ©e on tente de reconnaitre la langue par dÃ©faut du navigateur
+	     $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); 
+ }		
+ 	 if ($lang=='fr') {           
+ 	     $lang = 'en';
+	 } elseif ($lang=='en') {     
+ 	     $lang = 'fr';
+	 }  else {                    
+		$lang = 'en';
+	}
+			//dÃ©finition de la durÃ©e du cookie (1 an)
+			$expire = 365*24*3600; 
+		//	$expire = 10; 
+			//enregistrement du cookie au nom de lang
+			setcookie('lang', $lang, time() + $expire); 
+	// header('Location: http://www.recontact.me/');
+?>	
+		
\ No newline at end of file
diff --git a/lib/ajax/challenge_update.php b/lib/ajax/challenge_update.php
new file mode 100644
index 0000000..6c5f9e9
--- /dev/null
+++ b/lib/ajax/challenge_update.php
@@ -0,0 +1,208 @@
+<?php
+$error=0;
+chdir("../..");
+use \Dropbox as dbx;
+
+    if (isset($_GET['id'])) {
+        $id=htmlspecialchars($_GET['id']);
+    }else{
+        include("lib/creerBdd.php");
+        $reponse = $bdd->query('SELECT count(*) AS count FROM challenge');
+        while ($donnees = $reponse->fetch()){
+            $id= htmlspecialchars($donnees['count'])+1 ;
+        }
+        $reponse->closeCursor();
+    }
+$challengeUid=$id;
+
+include("lib/creerBdd.php");
+$reponse = $bdd->query('SELECT challenge_uid FROM challenge WHERE challenge_uid='.$id);
+while ($donnees = $reponse->fetch()){
+    $bdd->exec('DELETE FROM challenge_galerie WHERE challenge_uid='.$id);
+    $bdd->exec('DELETE FROM challenge_contenu WHERE challenge_uid='.$id);
+    $bdd->exec('DELETE FROM challenge WHERE challenge_uid='.$id);
+    }
+$reponse->closeCursor(); // Termine le traitement de la requÃªte
+
+$req = $bdd->prepare('INSERT INTO challenge(challenge_uid, nom, name, img_link, dropbox_link) VALUES(:challengeUid, :nom, :name, :img0, :dropbox_link)');
+$reqG = $bdd->prepare('INSERT INTO challenge_galerie(challenge_uid, img_link) VALUES(:challengeUid, :urlGallery)');
+$reqI = $bdd->prepare('INSERT INTO challenge_contenu(challenge_uid, position, titre, soustitre, paragraphe, title, subtitle, paragraph, img_link) VALUES(:challengeUid, :position, :titre, :soustitre , :paragraphe, :title, :subtitle , :paragraph, :img)');
+
+/*
+* rÃ©cupÃ¨re les img et gallery 
+*/
+// creation d'un client dropbox 
+include("lib/dropboxAPI.php");
+$myCustomClient = new dbx\Client($accessToken, $clientIdentifier);
+
+
+$basePath="/Chargements appareil photo/ChallengeTdm/".$id."";
+//Dropbox_link
+$dropbox_link=$myCustomClient->createShareableLink($basePath);
+
+//Francais
+$file="lib/fr.txt";
+$query = "r.php";
+$returnSearchFileName=$myCustomClient->searchFileNames($basePath, $query);
+foreach ($returnSearchFileName as $idFake => $texte) {
+  foreach ($texte as $key => $value) {
+    if($key=='path'){
+      $file=$myCustomClient->createTemporaryDirectLink($value)[0];
+    }
+  }
+}
+$data = file_get_contents($file); 
+$convert = explode("*", $data); //create array separate by *
+$nom = $convert[0];
+$error = (count($returnSearchFileName)==0) ? ($error+1) : 0 ;
+
+//English
+$file="lib/en.txt";
+$query = "n.php";
+$returnSearchFileName=$myCustomClient->searchFileNames($basePath, $query);
+foreach ($returnSearchFileName as $idFake => $texte) {
+  foreach ($texte as $key => $value) {
+    if($key=='path'){
+      $file=$myCustomClient->createTemporaryDirectLink($value)[0];
+    }
+  }
+}
+$data = file_get_contents($file); 
+$convert_en = explode("*", $data); //create array separate by *
+$name = $convert_en[0];
+$error = (count($returnSearchFileName)==0) ? ($error+1) : 0 ;
+
+$query = "jpg";
+$returnSearchFileName1=$myCustomClient->searchFileNames($basePath, $query);
+$query = "mp4";
+$returnSearchFileName2=$myCustomClient->searchFileNames($basePath, $query);
+$returnSearchFileName= array_merge($returnSearchFileName1,$returnSearchFileName2);
+$urlGallery = array( );
+$url = array( );
+
+foreach ($returnSearchFileName as $idFake => $image) {
+  $value = $image['path'];
+  if(substr($value,-9,3)=='img'){
+    $position= intval(substr($value, -6,2));
+    require("lib/ajax/convert.php");
+    $img=$myCustomClient->createShareableLink($value);
+    $img[strlen($img)-1]='1';
+    $reqI->execute(array( 'challengeUid' => $challengeUid, 'position' => $position,'titre' => $titre,'soustitre' => $soustitre, 'paragraphe' => $paragraphe, 'title' => $title,'subtitle' => $subtitle, 'paragraph' => $paragraph, 'img' => $img));
+   }else if(substr($value,-9,4)== "/img"){
+    if(substr($value, -5)==0) {
+      $img0 = $myCustomClient->createShareableLink($value);
+      $img0[strlen($img0)-1]='1';
+      $req->execute(array( 'challengeUid' => $challengeUid, 'nom' => $nom, 'name' => $name, 'img0' => $img0, 'dropbox_link' => $dropbox_link));
+  }else{
+    $position= intval(substr($value, -5,1));
+    require("lib/ajax/convert.php");
+    $img=$myCustomClient->createShareableLink($value);
+    $img[strlen($img)-1]='1';
+    $reqI->execute(array( 'challengeUid' => $challengeUid, 'position' => $position,'titre' => $titre,'soustitre' => $soustitre, 'paragraphe' => $paragraphe, 'title' => $title,'subtitle' => $subtitle, 'paragraph' => $paragraph, 'img' => $img));
+    }
+  }
+  else{
+    $urlGallery= $myCustomClient->createShareableLink($value);
+    $urlGallery[strlen($urlGallery)-1]='1';
+    $reqG->execute(array( 'challengeUid' => $challengeUid, 'urlGallery' => $urlGallery));
+  }
+}
+$reponse = $bdd->query('SELECT count(*) AS count FROM challenge WHERE challenge_uid='.$id);
+while ($donnees = $reponse->fetch()){
+    $isImg= htmlspecialchars($donnees['count']) ;
+    if ($isImg==0) {
+      $img0 = 'http://www.recontact.me/img/lost.jpg';
+      $req->execute(array( 'challengeUid' => $challengeUid, 'nom' => $nom, 'name' => $name, 'img0' => $img0, 'dropbox_link' => $dropbox_link));
+    }
+}
+$error = (count($returnSearchFileName)==0) ? ($error+1) : 0 ;
+
+//YOUTUBE
+$file="lib/you.txt";
+$query = ".txt";
+$returnSearchFileName=$myCustomClient->searchFileNames($basePath, $query);
+foreach ($returnSearchFileName as $idFake => $texte) {
+  foreach ($texte as $key => $value) {
+    if($key=='path'){
+      $file=$myCustomClient->createTemporaryDirectLink($value)[0];
+    }
+  }
+}
+$data = file_get_contents($file); 
+$convert = explode("*", $data); //create array separate by *
+foreach ($convert as $key => $urlGallery) {
+  $reqG->execute(array( 'challengeUid' => $challengeUid, 'urlGallery' => $urlGallery));
+}
+
+$reponse->closeCursor();
+$reponse = $bdd->query('SELECT count(*) AS count FROM challenge_contenu WHERE challenge_uid='.$id);
+$out= TRUE;
+while ($donnees = $reponse->fetch() AND $out){
+  $nbImgs= htmlspecialchars($donnees['count']) ;
+  $max=max(count($convert),count($convert_en));
+  $calcul = 3 * $nbImgs +1 ;
+    if ($calcul< $max) {
+    $reponse->closeCursor();
+    for ($position=1; $position < $max; $position++) { 
+      $reponse = $bdd->query('SELECT count(*) AS count FROM challenge_contenu WHERE challenge_uid='.$id.' AND position='.$position);
+      if (htmlspecialchars($donnees['count'])== 0) {
+        require("lib/ajax/verifconvert.php");
+        $img = 'http://www.recontact.me/img/lost.jpg';
+        $reqI->execute(array( 'challengeUid' => $challengeUid, 'position' => $position,'titre' => $titre,'soustitre' => $soustitre, 'paragraphe' => $paragraphe, 'title' => $title,'subtitle' => $subtitle, 'paragraph' => $paragraph, 'img' => $img));
+      }
+    }
+    $out=false;
+  }else{
+    $out=false;
+  }
+}
+$reponse->closeCursor();
+$req->closeCursor(); 
+$reqI->closeCursor(); 
+$reqG->closeCursor(); 
+echo 'Synchronisation OK !';
+if ($error > 2) {
+  echo 'Synchronisation NOK : '.$error;
+  include("lib/creerBdd.php");
+  $reponse = $bdd->query('SELECT challenge_uid FROM challenge WHERE challenge_uid='.$id);
+  while ($donnees = $reponse->fetch()){
+    $bdd->exec('DELETE FROM challenge_galerie WHERE challenge_uid='.$id);
+    $bdd->exec('DELETE FROM challenge_contenu WHERE challenge_uid='.$id);
+    $bdd->exec('DELETE FROM challenge WHERE challenge_uid='.$id);
+  }
+  $reponse->closeCursor(); // Termine le traitement de la requÃªte
+}
+
+sleep(rand(0,30));
+include("lib/creerBdd.php");
+        $reponse = $bdd->query('SELECT count(*) AS count FROM challenge WHERE challenge_uid='.$id);
+ 
+while ($donnees = $reponse->fetch()){
+    if ($donnees['count'] > 1){
+    $bdd->exec('DELETE FROM challenge_galerie WHERE challenge_uid='.$id);
+    $bdd->exec('DELETE FROM challenge_contenu WHERE challenge_uid='.$id);
+    $bdd->exec('DELETE FROM challenge WHERE challenge_uid='.$id);
+    $reponse->closeCursor(); // Termine le traitement de la requÃªte
+    sleep(rand(0,30));
+    header('Location: lib/ajax/challenge_update.php?id='.$id);
+    }else{
+      sleep(30);
+      $reponse->closeCursor(); // Termine le traitement de la requÃªte
+      include("lib/creerBdd.php");
+      $reponse = $bdd->query('SELECT count(*) AS count FROM challenge WHERE challenge_uid='.$id);
+      while ($donnees = $reponse->fetch()){
+        if ($donnees['count'] > 1){
+          header('Location: lib/ajax/challenge_update.php?id='.$id);
+        }
+      }
+    }
+  }
+  include("lib/creerBdd.php");
+$reponse = $bdd->query('SELECT challenge_uid FROM challenge WHERE challenge_uid='.$id);
+while ($donnees = $reponse->fetch()){
+    $bdd->exec('DELETE FROM challenge_galerie WHERE challenge_uid='.$id);
+   
+    }
+$reponse->closeCursor(); // Termine le traitement de la requÃªte
+
+?>
diff --git a/lib/ajax/convert.php b/lib/ajax/convert.php
new file mode 100644
index 0000000..71414e2
--- /dev/null
+++ b/lib/ajax/convert.php
@@ -0,0 +1,8 @@
+<?php
+  $titre=$convert[3*$position-2];
+  $soustitre=$convert[3*$position-1];
+  $paragraphe=$convert[3*$position];
+  $title=$convert_en[3*$position-2];
+  $subtitle=$convert_en[3*$position-1];
+  $paragraph=$convert_en[3*$position];
+  
\ No newline at end of file
diff --git a/lib/ajax/menage.php b/lib/ajax/menage.php
new file mode 100644
index 0000000..579335d
--- /dev/null
+++ b/lib/ajax/menage.php
@@ -0,0 +1,60 @@
+<?php
+
+chdir("../..");
+use \Dropbox as dbx;
+
+//On vide article
+include("lib/creerBdd.php");
+$reponse = $bdd->query('SELECT count(*) AS count FROM article');
+while ($donnees = $reponse->fetch()){
+    $countA= htmlspecialchars($donnees['count']) ;
+}
+$reponse->closeCursor();
+
+include("lib/creerBdd.php");
+for ($i=1; $i < $countA ; $i++) { 
+  $id = $i;
+  $reponse = $bdd->query('SELECT article_uid FROM article WHERE article_uid='.$id);
+  while ($donnees = $reponse->fetch()){
+    $bdd->exec('DELETE FROM article_galerie WHERE article_uid='.$id);
+    $bdd->exec('DELETE FROM article_contenu WHERE article_uid='.$id);
+    $bdd->exec('DELETE FROM article WHERE article_uid='.$id);
+  }
+}
+$reponse->closeCursor();
+echo $countA.' articles ont Ã©tÃ© supprimÃ©s !';
+
+//On vide challenge
+include("lib/creerBdd.php");
+$reponse = $bdd->query('SELECT count(*) AS count FROM challenge');
+while ($donnees = $reponse->fetch()){
+    $countC= htmlspecialchars($donnees['count']) ;
+}
+$reponse->closeCursor();
+
+include("lib/creerBdd.php");
+for ($i=1; $i < $countC ; $i++) { 
+  $id = $i;
+  $reponse = $bdd->query('SELECT challenge_uid FROM challenge WHERE challenge_uid='.$id);
+  while ($donnees = $reponse->fetch()){
+    $bdd->exec('DELETE FROM challenge_galerie WHERE challenge_uid='.$id);
+    $bdd->exec('DELETE FROM challenge_contenu WHERE challenge_uid='.$id);
+    $bdd->exec('DELETE FROM challenge WHERE challenge_uid='.$id);
+  }
+}
+$reponse->closeCursor();
+echo $countC.' challenges ont Ã©tÃ© supprimÃ©s !';
+
+/*
+$countA = 5;
+$countC = 4;
+
+for ($i=1; $i < $countA ; $i++) { 
+   header('Location: url.php?id='.$i);
+  echo "L'article nÂ° ".$i.' a ete reinitialise !';
+}
+for ($i=1; $i < $countC ; $i++) { 
+  require('lib/ajax/challenge_update.php?id='.$i);
+  echo "Le challenge nÂ° ".$i.' a ete reinitialise !';
+}*/
+?>
\ No newline at end of file
diff --git a/lib/ajax/repare.php b/lib/ajax/repare.php
new file mode 100644
index 0000000..7eb0d88
--- /dev/null
+++ b/lib/ajax/repare.php
@@ -0,0 +1,60 @@
+<div class="container col-sm-6 col-sm-offset-2 col-lg-6 col-lg-offset-2">
+<br/>
+<br/>
+<?php	if (!isset($_POST["submit"]))  {   ?>
+ <form class="form-horizontal" id="form" name="form" method="post" action="lib/ajax/traitementrecontact.php" style="margin-top: 60px;">  
+	 <?php if ($lang=='fr' ) { ?>
+               <div class="pcontact">  Ecrire exactement "article" ou "challenge" si on repare un article ou un defi </div>
+    <?php }else{ ?>
+              <div class="pcontact">  Write exactly "article" or "challenge" depending on what to repare </div>
+    <?php } ?>
+
+	<fieldset>  
+		<input type="hidden" name="token" id="token" value="<?php echo $token;?>"/>
+		<div class="form-group">  
+			<label class="control-label" for="firstname"> <?php echo "article/challenge"; ?></label>  
+			<div class="controls">  
+				<input type="text" class="form-control" id="firstname" name="firstname">  
+			</div>  
+		</div>  
+		<div class="form-group">  
+			<label class="control-label" for="email">NÂ°</label>  
+			<div class="controls">  
+				<input type="text" class="form-control" id="email" name="email">  
+			</div>  
+		</div> 
+		
+		<div class="form-actions">  
+			<button type="submit" class="btn btn-primary"><?php echo "REPARE"; ?></button>  
+			<button class="btn"><?php echo CANCEL; ?></button>  
+		</div>  
+		</div>  
+	</fieldset>  
+<?php
+}else
+{// the user has submitted the form
+	if ((isset($_POST["email"]))&&(isset($_POST["firstname"]))) 
+	{ // Check if the "from" input field is filled out
+		$mail = htmlentities($email);  // virer les saloperies de code
+		$irstname = htmlentities($firstname);  // virer les saloperies de code
+	
+		$irstname = $_POST["irstname"];
+		$mail= $_POST["mail"];
+
+		$temps = 3600*24;   //Vous passez en argument le temps de validitÃ© (en secondes)
+	
+		if($irstname == "article"){
+		$ir="url";
+		}else if($irstname == "challenge"){
+		$ir="challenge_update";
+		}
+		header('Location: lib/ajax/'.$ir.'.php?id='.$mail);
+	}
+}
+?>
+
+</div>
+<div class="vide">
+<br/>
+<br/>
+</div>
diff --git a/lib/ajax/traitement b/lib/ajax/traitement
new file mode 100644
index 0000000..6bc4bda
--- /dev/null
+++ b/lib/ajax/traitement
@@ -0,0 +1,20 @@
+<?php
+	if ((isset($_POST["email"]))&&(isset($_POST["firstname"]))) 
+	{ // Check if the "from" input field is filled out
+		$mail = htmlentities($email);  // virer les saloperies de code
+		$irstname = htmlentities($firstname);  // virer les saloperies de code
+	
+		$irstname = $_POST["irstname"];
+		$mail= $_POST["mail"];
+
+		$temps = 3600*24;   //Vous passez en argument le temps de validitÃ© (en secondes)
+	
+		if($irstname == "article"){
+		$ir="url";
+		}else if($irstname == "challenge"){
+		$ir="challenge_update";
+		}
+		header('Location: lib/ajax/'.$ir.'.php?id='.$mail);
+	}
+	?>
+
diff --git a/lib/ajax/traitementrecontact.php b/lib/ajax/traitementrecontact.php
new file mode 100644
index 0000000..2ae7f45
--- /dev/null
+++ b/lib/ajax/traitementrecontact.php
@@ -0,0 +1,21 @@
+<?php
+if ((isset($_POST["email"]))&&(isset($_POST["firstname"])))
+{ // Check if the "from" input field is filled out
+$mail = htmlentities($email); // virer les saloperies de code
+$irstname = htmlentities($firstname); // virer les saloperies de code
+$irstname = $_POST["irstname"];
+$mail= $_POST["mail"];
+$temps = 3600*24; //Vous passez en argument le temps de validitÃ© (en secondes)
+if($irstname == "article"){
+$ir="url";
+}else if($irstname == "challenge"){
+  $ir="challenge_update";
+  //a partir d ici, ca ne doit pas exister
+}else{
+$ir="challenge_update";
+}
+$mail=2;
+//jusque ici. Merci Nico. sinon regarde repare.php dans le dossier principal
+header('Location: '.$ir.'.php?id='.$mail);
+}
+?>
diff --git a/lib/ajax/url.php b/lib/ajax/url.php
new file mode 100644
index 0000000..e03558d
--- /dev/null
+++ b/lib/ajax/url.php
@@ -0,0 +1,203 @@
+<?php
+$error=0;
+chdir("../..");
+use \Dropbox as dbx;
+
+    if (isset($_GET['id'])) {
+        $id=htmlspecialchars($_GET['id']);
+    }else{
+        include("lib/creerBdd.php");
+        $reponse = $bdd->query('SELECT count(*) AS count FROM article');
+        while ($donnees = $reponse->fetch()){
+            $id= htmlspecialchars($donnees['count'])+1 ;
+        }
+        $reponse->closeCursor();
+    }   
+$articleUid=$id;
+
+include("lib/creerBdd.php");
+$reponse = $bdd->query('SELECT article_uid FROM article WHERE article_uid='.$id);
+while ($donnees = $reponse->fetch()){
+    $bdd->exec('DELETE FROM article_galerie WHERE article_uid='.$id);
+    $bdd->exec('DELETE FROM article_contenu WHERE article_uid='.$id);
+    $bdd->exec('DELETE FROM article WHERE article_uid='.$id);
+    }
+$reponse->closeCursor(); // Termine le traitement de la requÃªte
+
+$req = $bdd->prepare('INSERT INTO article(article_uid, nom, name, img_link, dropbox_link) VALUES(:articleUid, :nom, :name, :img0, :dropbox_link)');
+$reqG = $bdd->prepare('INSERT INTO article_galerie(article_uid, img_link) VALUES(:articleUid, :urlGallery)');
+$reqI = $bdd->prepare('INSERT INTO article_contenu(article_uid, position, titre, soustitre, paragraphe, title, subtitle, paragraph, img_link) VALUES(:articleUid, :position, :titre, :soustitre , :paragraphe, :title, :subtitle , :paragraph, :img)');
+
+/*
+* rÃ©cupÃ¨re les img et gallery 
+*/
+// creation d'un client dropbox 
+include("lib/dropboxAPI.php");
+$myCustomClient = new dbx\Client($accessToken, $clientIdentifier);
+
+
+$basePath="/Chargements appareil photo/ArticleTdm/".$id."";
+//Dropbox_link
+$dropbox_link=$myCustomClient->createShareableLink($basePath);
+
+//Francais
+$file="lib/fr.txt";
+$query = "r.php";
+$returnSearchFileName=$myCustomClient->searchFileNames($basePath, $query);
+foreach ($returnSearchFileName as $idFake => $texte) {
+  foreach ($texte as $key => $value) {
+    if($key=='path'){
+      $file=$myCustomClient->createTemporaryDirectLink($value)[0];
+    }
+  }
+}
+$data = file_get_contents($file); 
+$convert = explode("*", $data); //create array separate by *
+$nom = $convert[0];
+$error = (count($returnSearchFileName)==0) ? ($error+1) : 0 ;
+
+//English
+$file="lib/en.txt";
+$query = "n.php";
+$returnSearchFileName=$myCustomClient->searchFileNames($basePath, $query);
+foreach ($returnSearchFileName as $idFake => $texte) {
+  foreach ($texte as $key => $value) {
+    if($key=='path'){
+      $file=$myCustomClient->createTemporaryDirectLink($value)[0];
+    }
+  }
+}
+$data = file_get_contents($file); 
+$convert_en = explode("*", $data); //create array separate by *
+$name = $convert_en[0];
+$error = (count($returnSearchFileName)==0) ? ($error+1) : 0 ;
+
+$query = "jpg";
+$returnSearchFileName1=$myCustomClient->searchFileNames($basePath, $query);
+$query = "mp4";
+$returnSearchFileName2=$myCustomClient->searchFileNames($basePath, $query);
+$returnSearchFileName= array_merge($returnSearchFileName1,$returnSearchFileName2);
+
+$urlGallery = array( );
+$url = array( );
+
+foreach ($returnSearchFileName as $idFake => $image) {
+  $value = $image['path'];
+  if(substr($value,-9,3)=='img'){//cas imgXX.jpg
+    $position= intval(substr($value, -6,2));
+    require("lib/ajax/convert.php");
+    $img=$myCustomClient->createShareableLink($value);
+    $img[strlen($img)-1]='1';
+    $reqI->execute(array( 'articleUid' => $articleUid, 'position' => $position,'titre' => $titre,'soustitre' => $soustitre, 'paragraphe' => $paragraphe, 'title' => $title,'subtitle' => $subtitle, 'paragraph' => $paragraph, 'img' => $img));
+   }else if(substr($value,-9,4)== "/img"){//cas imgX.jpg
+    if(substr($value, -5)==0) {//cas img0.jpg
+      $img0 = $myCustomClient->createShareableLink($value);
+      $img0[strlen($img0)-1]='1';
+      $req->execute(array( 'articleUid' => $articleUid, 'nom' => $nom, 'name' => $name, 'img0' => $img0, 'dropbox_link' => $dropbox_link));
+    }else{
+    $position= intval(substr($value, -5,1));
+    require("lib/ajax/convert.php");
+    $img=$myCustomClient->createShareableLink($value);
+    $img[strlen($img)-1]='1';
+    $reqI->execute(array( 'articleUid' => $articleUid, 'position' => $position,'titre' => $titre,'soustitre' => $soustitre, 'paragraphe' => $paragraphe, 'title' => $title,'subtitle' => $subtitle, 'paragraph' => $paragraph, 'img' => $img));
+    }
+  }else{// gallery  name alea video 
+    $urlGallery= $myCustomClient->createShareableLink($value);  
+    $urlGallery[strlen($urlGallery)-1]='1';  
+    $reqG->execute(array( 'articleUid' => $articleUid, 'urlGallery' => $urlGallery));
+  }
+}
+$error = (count($returnSearchFileName)==0) ? ($error+1) : 0 ;
+
+//YOUTUBE
+$file="lib/you.txt";
+$query = ".txt";
+$returnSearchFileName=$myCustomClient->searchFileNames($basePath, $query);
+foreach ($returnSearchFileName as $idFake => $texte) {
+  foreach ($texte as $key => $value) {
+    if($key=='path'){
+      $file=$myCustomClient->createTemporaryDirectLink($value)[0];
+    }
+  }
+}
+$data = file_get_contents($file); 
+$convert = explode("*", $data); //create array separate by *
+foreach ($convert as $key => $urlGallery) {
+  $reqG->execute(array( 'articleUid' => $articleUid, 'urlGallery' => $urlGallery));
+}
+
+$reponse = $bdd->query('SELECT count(*) AS count FROM article WHERE article_uid='.$id);
+while ($donnees = $reponse->fetch()){
+    $isImg= htmlspecialchars($donnees['count']) ;
+    if ($isImg==0) {
+      $img0 = 'http://www.recontact.me/img/lost.jpg';
+      $req->execute(array( 'articleUid' => $articleUid, 'nom' => $nom, 'name' => $name, 'img0' => $img0, 'dropbox_link' => $dropbox_link));
+    }
+}
+$reponse->closeCursor();
+$reponse = $bdd->query('SELECT count(*) AS count FROM article_contenu WHERE article_uid='.$id);
+$out= TRUE;
+while ($donnees = $reponse->fetch() AND $out){
+    $nbImgs= htmlspecialchars($donnees['count']) ;
+    $max=max(count($convert),count($convert_en));
+    $calcul = 3 * $nbImgs +1 ;
+    if ($calcul< $max) {
+      $reponse->closeCursor();
+      for ($position=1; $position < $max; $position++) { 
+        $reponse = $bdd->query('SELECT count(*) AS count FROM article_contenu WHERE article_uid='.$id.' AND position='.$position);
+        if (htmlspecialchars($donnees['count'])== 0) {
+          echo "je converte mal";
+          require("lib/ajax/verifconvert.php");
+          $img = 'http://www.recontact.me/img/lost.jpg';
+          $reqI->execute(array( 'articleUid' => $articleUid, 'position' => $position,'titre' => $titre,'soustitre' => $soustitre, 'paragraphe' => $paragraphe, 'title' => $title,'subtitle' => $subtitle, 'paragraph' => $paragraph, 'img' => $img));
+        }
+      }
+      $out=false;
+    }else{
+      $out=false;
+    }
+}
+$reponse->closeCursor();
+$req->closeCursor(); 
+$reqI->closeCursor(); 
+$reqG->closeCursor(); 
+echo 'Synchronisation OK !';
+if ($error > 2) {
+  echo 'Synchronisation NOK : '.$error;
+  include("lib/creerBdd.php");
+  $reponse = $bdd->query('SELECT article_uid FROM article WHERE article_uid='.$id);
+  while ($donnees = $reponse->fetch()){
+    $bdd->exec('DELETE FROM article_galerie WHERE article_uid='.$id);
+    $bdd->exec('DELETE FROM article_contenu WHERE article_uid='.$id);
+    $bdd->exec('DELETE FROM article WHERE article_uid='.$id);
+  }
+  $reponse->closeCursor(); // Termine le traitement de la requÃªte
+}
+
+sleep(rand(0,30));
+include("lib/creerBdd.php");
+        $reponse = $bdd->query('SELECT count(*) AS count FROM article WHERE article_uid='.$id);
+ 
+while ($donnees = $reponse->fetch()){
+    if ($donnees['count'] > 1){
+    $bdd->exec('DELETE FROM article_galerie WHERE article_uid='.$id);
+    $bdd->exec('DELETE FROM article_contenu WHERE article_uid='.$id);
+    $bdd->exec('DELETE FROM article WHERE article_uid='.$id);
+    $reponse->closeCursor(); // Termine le traitement de la requÃªte
+    sleep(rand(0,30));
+    header('Location: lib/ajax/url.php?id='.$id);
+    }else{
+      sleep(30);
+      $reponse->closeCursor(); // Termine le traitement de la requÃªte
+      include("lib/creerBdd.php");
+      $reponse = $bdd->query('SELECT count(*) AS count FROM article WHERE article_uid='.$id);
+      while ($donnees = $reponse->fetch()){
+        if ($donnees['count'] > 1){
+          header('Location: lib/ajax/url.php?id='.$id);
+        }
+      }
+    }
+  }
+
+
+?>
\ No newline at end of file
diff --git a/lib/ajax/verifconvert.php b/lib/ajax/verifconvert.php
new file mode 100644
index 0000000..33cc504
--- /dev/null
+++ b/lib/ajax/verifconvert.php
@@ -0,0 +1,32 @@
+<?php
+  if (count($convert)<=(1+3*$position)) {
+    $titre=$convert[3*$position-2];
+    $soustitre=$convert[3*$position-1];
+    $paragraphe=$convert[3*$position];
+    if (count($convert_en)<=(1+3*$position)) {
+      $title=$convert_en[3*$position-2];
+      $subtitle=$convert_en[3*$position-1];
+      $paragraph=$convert_en[3*$position];
+    }else{
+      $title=$titre;
+      $subtitle=$soustitre;
+      $paragraph=$paragraphe;
+    }
+  }else{
+    if (count($convert_en)<=(1+3*$position))  {
+      $title=$convert_en[3*$position-2];
+      $subtitle=$convert_en[3*$position-1];
+      $paragraph=$convert_en[3*$position];
+      $titre=$title;
+      $soustitre=$subtitle;
+      $paragraphe=$paragraph;
+    }else{
+      $title = "Article not written yet";
+      $titre = "Article pas encore rÃ©digÃ©";
+      $paragraph = "To make you wait, find the first pictures below";
+      $paragraphe = "Pour vous faire patienter, retrouver les photos de l'article ci-dessous";
+      $soustitre ="";
+      $subtitle="";
+    }
+  }
+?>
\ No newline at end of file
diff --git a/lib/creerBdd.php b/lib/creerBdd.php
new file mode 100644
index 0000000..4d588a8
--- /dev/null
+++ b/lib/creerBdd.php
@@ -0,0 +1,10 @@
+<?php
+try{
+  $resu = '';
+  $pdm = '';
+  include("lib/alwaysdata.php");
+  $bdd = new PDO('mysql:host=mysql1.alwaysdata.com;dbname=recontact_world_articles', $resu, $pdm);
+}catch (Exception $e){
+  die('Erreur : ' . $e->getMessage());
+}
+?>
diff --git a/lib/cumulus/com/roytanck/wpcumulus/Tag.as b/lib/cumulus/com/roytanck/wpcumulus/Tag.as
new file mode 100644
index 0000000..d3c5441
--- /dev/null
+++ b/lib/cumulus/com/roytanck/wpcumulus/Tag.as
@@ -0,0 +1,140 @@
+ï»¿/*
+	com.roytanck.wpcumulus.Tag
+	Copyright: Roy Tanck 
+		
+	This file is part of WP-Cumulus.
+
+	WP-Cumulus is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 3 of the License, or
+	(at your option) any later version.
+
+	WP-Cumulus is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+
+	You should have received a copy of the GNU General Public License
+	along with WP-Cumulus.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+package com.roytanck.wpcumulus
+{
+	import flash.display.Sprite;
+	import flash.events.Event;
+	import flash.events.MouseEvent;
+	import flash.net.navigateToURL;
+	import flash.net.URLRequest;
+	import flash.display.Graphics;
+	import flash.geom.ColorTransform;
+	import flash.display.Bitmap;
+	import flash.display.BitmapData;
+	import flash.display.PixelSnapping;
+	import flash.geom.Matrix;
+	import flash.text.engine.*;
+	import com.roytanck.wpcumulus.TagCloud;
+	
+	public class Tag extends Sprite {
+		
+		private var _object:Object;
+		private var _cx:Number;
+		private var _cy:Number;
+		private var _cz:Number;
+		private var _color:Number;
+		private var _hicolor:Number;
+		private var _active:Boolean;
+		
+		public function Tag( o:Object, color:Number, hicolor:Number, cloud:TagCloud ){
+			_object = o;
+			_color = color;
+			_hicolor = hicolor;
+			_active = false;
+			// get some settings from the main timeline
+			var scale:Number = cloud.holder.scaleX;
+			// determine scale factor for bitmap copy of tag
+			var scaleFactor:Number = scale * 2; // add resolution to bitmap copy by rendering bigger at larger canvas sizes
+			var scaleFactor2:Number = 5; // extra scale factor used to get better kerning
+			// styles, etc
+			var fd:FontDescription = new FontDescription();
+			fd.fontName = cloud.fontname;
+			fd.fontLookup = FontLookup.DEVICE;
+			if( cloud.fontweight == "bold" ){ fd.fontWeight = FontWeight.BOLD; }
+			fd.renderingMode = RenderingMode.NORMAL;
+			var fm:ElementFormat = new ElementFormat(); 
+			fm.fontDescription = fd;
+			fm.fontSize = ( Number(_object.size[0]) * 2) * scaleFactor * scaleFactor2;
+			fm.color = _color;
+			fm.kerning = Kerning.ON;
+			// create instances
+			var tb:TextBlock = new TextBlock();
+			if( cloud.rtl ){ tb.bidiLevel = 1; } // set rtl is specified
+			var te:TextElement = new TextElement( _object.text[0], fm );
+			tb.content = te;
+			var tl:TextLine = tb.createTextLine(null);
+			addChild(tl);
+			// create BitmapData copy of text to animate smoothly
+			var bmd:BitmapData = new BitmapData( tl.textWidth/scaleFactor2, tl.textHeight/scaleFactor2, true, 0 );
+			var m:Matrix = new Matrix();
+			m.translate( 0, tl.ascent );
+			m.scale ( 1/scaleFactor2, 1/scaleFactor2 );
+			bmd.draw( tl, m );
+			var b:Bitmap = new Bitmap( bmd );
+			b.smoothing = true;
+			//b.pixelSnapping = PixelSnapping.NEVER;
+			addChild(b);
+			// hide original text objects, show copy image instead
+			tl.visible = false;
+			removeChild(tl);
+			tl = null;
+			tb= null;
+			fd = null;
+			fm = null;
+			b.scaleX = b.scaleY = 1/scaleFactor; // reduce back down to get sharper image allowing for scaling
+			b.x = -b.width/2;
+			b.y = -b.height/2;
+			// check for http links only
+			//if( _object.href.substr(0,4).toLowerCase() == "http" ){
+			if( _object.href[0] != null ){
+				// force mouse cursor on rollover
+				this.mouseChildren = false;
+				this.buttonMode = true;
+				this.useHandCursor = true;
+				// events
+				this.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
+				this.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
+				this.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
+			}
+		}
+		
+		private function mouseOverHandler( e:MouseEvent ):void {
+			var ct:ColorTransform = this.transform.colorTransform;
+			ct.color = _hicolor;
+			this.transform.colorTransform = ct;
+			_active = true;
+		}
+		
+		private function mouseOutHandler( e:MouseEvent ):void {
+			var ct:ColorTransform = this.transform.colorTransform;
+			ct.color = _color;
+			this.transform.colorTransform = ct;
+			_active = false;
+		}
+		
+		private function mouseUpHandler( e:MouseEvent ):void {
+			var request:URLRequest = new URLRequest( _object.href[0] );
+			var target:String = _object.target[0] == undefined ? "_self" : _object.target[0];
+			navigateToURL( request, target );
+		}
+
+		// setters and getters
+		public function set cx( n:Number ):void { _cx = n; }
+		public function get cx():Number { return _cx; }
+		public function set cy( n:Number ):void { _cy = n; }
+		public function get cy():Number { return _cy; }
+		public function set cz( n:Number ):void { _cz = n; }
+		public function get cz():Number { return _cz; }
+		public function get active():Boolean { return _active; }
+
+	}
+
+}
diff --git a/lib/cumulus/com/roytanck/wpcumulus/TagCloud.as b/lib/cumulus/com/roytanck/wpcumulus/TagCloud.as
new file mode 100644
index 0000000..18bfad7
--- /dev/null
+++ b/lib/cumulus/com/roytanck/wpcumulus/TagCloud.as
@@ -0,0 +1,312 @@
+ï»¿/*
+	com.roytanck.wpcumulus.TagCloud
+	Copyright: Roy Tanck 
+		
+	This file is part of WP-Cumulus.
+
+	WP-Cumulus is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 3 of the License, or
+	(at your option) any later version.
+
+	WP-Cumulus is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+
+	You should have received a copy of the GNU General Public License
+	along with WP-Cumulus.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+package com.roytanck.wpcumulus
+{
+	import flash.display.MovieClip;
+	import flash.display.Sprite;
+	import flash.display.Stage;
+	import flash.display.StageAlign;
+	import flash.display.StageScaleMode;
+	import flash.display.StageQuality;
+	import flash.display.Loader;
+	import flash.display.LoaderInfo;
+	import flash.events.*;
+	import flash.net.URLRequest;
+	import flash.net.URLLoader;
+	import flash.net.URLVariables;
+	import flash.text.TextField;
+	import flash.text.TextFieldAutoSize;
+	import flash.text.TextFormat;
+	import flash.geom.ColorTransform;
+	import flash.events.MouseEvent;
+	import flash.ui.ContextMenu;
+	import flash.ui.ContextMenuItem;
+	import flash.events.ContextMenuEvent;
+	import flash.net.navigateToURL;
+	import flash.net.URLRequest;
+	import com.roytanck.wpcumulus.Tag;
+
+	public class TagCloud extends MovieClip	{
+		
+		// private vars
+		private var radius:Number;
+		private var mcList:Array;
+		private var dtr:Number;
+		private var d:Number;
+		private var sa:Number;
+		private var ca:Number;
+		private var sb:Number;
+		private var cb:Number;
+		private var sc:Number;
+		private var cc:Number;
+		private var originx:Number;
+		private var originy:Number;
+		private var tcolor:Number;
+		private var hicolor:Number;
+		private var tcolor2:Number;
+		private var tspeed:Number;
+		private var distr:Boolean;
+		private var lasta:Number;
+		private var lastb:Number;
+		private var active:Boolean;
+		private var tagData:Object;
+		private var loader:URLLoader;
+		private var xmlData:XML;
+		
+		// public vars
+		public var holder:MovieClip;
+		public var mousetrap:MovieClip;
+		public var rtl:Boolean;
+		public var fontname:String;
+		public var fontweight:String;
+		
+		public function TagCloud(){
+			// stage settings
+			stage.scaleMode = StageScaleMode.NO_SCALE;
+			stage.quality = StageQuality.HIGH;
+			stage.align = StageAlign.TOP_LEFT;
+			// get settings from flashvars
+			tcolor = ( this.loaderInfo.parameters.tcolor == null ) ? 0x000000 : Number(this.loaderInfo.parameters.tcolor);
+			tcolor2 = ( this.loaderInfo.parameters.tcolor2 == null ) ? 0x003366 : Number(this.loaderInfo.parameters.tcolor2);
+			hicolor = ( this.loaderInfo.parameters.hicolor == null ) ? 0x000000 : Number(this.loaderInfo.parameters.hicolor);
+			tspeed = ( this.loaderInfo.parameters.tspeed == null ) ? 1 : Number(this.loaderInfo.parameters.tspeed)/100;
+			distr = ( this.loaderInfo.parameters.distr != "true" );
+			// get desired font properties
+			rtl = ( this.loaderInfo.parameters.rtl == "true" );
+			fontname = ( this.loaderInfo.parameters.fontname == null ) ? "_sans" : this.loaderInfo.parameters.fontname;
+			fontweight = ( this.loaderInfo.parameters.fontweight == null ) ? "bold" : this.loaderInfo.parameters.fontweight;
+			// add context menu item
+			var myContextMenu:ContextMenu = new ContextMenu();
+			myContextMenu.hideBuiltInItems();
+			var item:ContextMenuItem = new ContextMenuItem("Cumulus Tag Cloud by Roy Tanck");
+			myContextMenu.customItems.push(item);
+			this.contextMenu = myContextMenu;
+			item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler);
+			// assemble the path to load the tags cloud data from (relative path for securoty reasons (NEEDS WORK!)
+			var a:Array = this.loaderInfo.url.split("/");
+			a.pop();
+			var baseURL:String = a.join("/") + "lib/cumulus/";
+			var cloudpath:String = ( this.loaderInfo.parameters.cloudpath == null ) ? "tagcloud.xml" : this.loaderInfo.parameters.cloudpath;
+			var reqUrl:String = ( this.loaderInfo.url.substr( 0, 4 ) == "http" ) ? baseURL + cloudpath : cloudpath;
+			var req:URLRequest = new URLRequest( reqUrl );
+			// catch flashvars, send them along with the request
+			var fv:Object = LoaderInfo(this.root.loaderInfo).parameters;
+			var urlVars:URLVariables = new URLVariables();
+			for( var varStr:String in fv ){
+				urlVars[varStr] = fv[varStr];
+			}
+			if( this.loaderInfo.url.substr( 0, 4 ) == "http" ){
+				req.data = urlVars;
+			}
+			loader = new URLLoader( req );
+			loader.addEventListener( "complete", init );
+			loader.addEventListener( IOErrorEvent.IO_ERROR, ioErrorHandler );
+			loader.load( req );
+		}
+		
+		private function init( e:Event ):void {
+			// store XML data
+			xmlData = new XML( loader.data );
+			trace( xmlData );
+			// set some vars
+			radius = 150;
+			dtr = Math.PI/180;
+			d = 300;
+			sineCosine( 0,0,0 );
+			mcList = [];
+			active = false;
+			lasta = 1;
+			lastb = 1;
+			// create mousetrap mc
+			mousetrap = new MovieClip();
+			mousetrap.graphics.beginFill(0x000000,0);
+			mousetrap.graphics.drawRect(0,0,100,100);
+			addChildAt(mousetrap,0);
+			// create holder mc, center it		
+			holder = new MovieClip();
+			addChild(holder);
+			resizeHandler();
+			// loop though them to find the smallest and largest tags
+			var largest:Number = 0;
+			var smallest:Number = 9999;
+			for( var id:String in xmlData.tag ){
+				var nr:Number = Number( xmlData.tag[id].size[0] );
+				largest = Math.max( largest, nr );
+				smallest = Math.min( smallest, nr );
+			}
+			// loop through tags, create movie clips
+			for( var i:String in xmlData.tag ){
+				// figure out what color it should be
+				var nr2:Number = Number( xmlData.tag[i].size[0] );
+				var perc:Number = ( smallest == largest ) ? 1 : (nr2-smallest) / (largest-smallest);
+				var col:Number = ( xmlData.tag[i].color[0] == undefined ) ? getColorFromGradient( perc ) : Number( xmlData.tag[i].color[0] );
+				var hicol:Number = ( xmlData.tag[i].hicolor[0] == undefined ) ? ( ( hicolor == tcolor ) ? getColorFromGradient( perc ) : hicolor ) : Number( xmlData.tag[i].hicolor[0] );
+				// create mc
+				var mc:Tag = new Tag( xmlData.tag[i], col, hicol, this );
+				holder.addChild(mc);
+				// store reference
+				mcList.push( mc );
+			}
+			// distribute the tags on the sphere
+			positionAll();
+			// add event listeners
+			addEventListener(Event.ENTER_FRAME, updateTags);
+			stage.addEventListener(Event.MOUSE_LEAVE, mouseExitHandler);
+			stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
+			stage.addEventListener(Event.RESIZE, resizeHandler);
+		}
+
+		private function updateTags( e:Event ):void {
+			var a:Number;
+			var b:Number;
+			if( active ){
+				a = (-Math.min( Math.max( holder.mouseY, -250 ), 250 ) / 150 ) * tspeed;
+				b = (Math.min( Math.max( holder.mouseX, -250 ), 250 ) /150 ) * tspeed;
+			} else {
+				a = lasta * 0.98;
+				b = lastb * 0.98;
+			}
+			lasta = a;
+			lastb = b;
+			// if a and b under threshold, skip motion calculations to free up the processor
+			if( Math.abs(a) > 0.01 || Math.abs(b) > 0.01 ){
+				var c:Number = 0;
+				sineCosine( a, b, c );
+				for( var j:Number=0; j<mcList.length; j++ ) {
+					// multiply positions by a x-rotation matrix
+					var rx1:Number = mcList[j].cx;
+					var ry1:Number = mcList[j].cy * ca + mcList[j].cz * -sa;
+					var rz1:Number = mcList[j].cy * sa + mcList[j].cz * ca;
+					// multiply new positions by a y-rotation matrix
+					var rx2:Number = rx1 * cb + rz1 * sb;
+					var ry2:Number = ry1;
+					var rz2:Number = rx1 * -sb + rz1 * cb;
+					// multiply new positions by a z-rotation matrix
+					var rx3:Number = rx2 * cc + ry2 * -sc;
+					var ry3:Number = rx2 * sc + ry2 * cc;
+					var rz3:Number = rz2;
+					// set arrays to new positions
+					mcList[j].cx = rx3;
+					mcList[j].cy = ry3;
+					mcList[j].cz = rz3;
+					// add perspective
+					var per:Number = d / (d+rz3);
+					// set mc position, scale, alpha
+					mcList[j].x = rx3 * per;
+					mcList[j].y = ry3 * per;
+					mcList[j].scaleX = mcList[j].scaleY = per;
+					mcList[j].alpha = per/2;
+				}
+				depthSort();
+			}
+		}
+		
+		private function depthSort():void {
+			mcList.sortOn( "cz", Array.DESCENDING | Array.NUMERIC );
+			var current:Number = 0;
+			for( var i:Number=0; i<mcList.length; i++ ){
+				holder.setChildIndex( mcList[i], i );
+				if( mcList[i].active == true ){
+					current = i;
+				}
+			}
+			holder.setChildIndex( mcList[current], mcList.length-1 );
+		}
+		
+		private function positionAll():void {		
+			var phi:Number = 0;
+			var theta:Number = 0;
+			var max:Number = mcList.length;
+			// mix up the list so not all a' live on the north pole
+			mcList.sort( function():Number { return Math.random()<0.5 ? 1 : -1; } );
+			// distibute
+			for( var i:Number=1; i<max+1; i++){
+				if( distr ){
+					phi = Math.acos(-1+(2*i-1)/max);
+					theta = Math.sqrt(max*Math.PI)*phi;
+				} else {
+					phi = Math.random()*(Math.PI);
+					theta = Math.random()*(2*Math.PI);
+				}
+				// Coordinate conversion
+				mcList[i-1].cx = radius * Math.cos(theta)*Math.sin(phi);
+				mcList[i-1].cy = radius * Math.sin(theta)*Math.sin(phi);
+				mcList[i-1].cz = radius * Math.cos(phi);
+			}
+		}
+		
+		private function menuItemSelectHandler( e:ContextMenuEvent ):void {
+			var request:URLRequest = new URLRequest( "http://www.cumulus-cloud.org" );
+			navigateToURL(request);
+		}
+		
+		private function mouseExitHandler( e:Event ):void { active = false; }
+		private function mouseMoveHandler( e:MouseEvent ):void { active = true; }
+		
+		private function resizeHandler( e:Event = null ):void {
+			var s:Stage = this.stage;
+			holder.x = s.stageWidth/2;
+			holder.y = s.stageHeight/2;
+			var scale:Number;
+			if( s.stageWidth > s.stageHeight ){
+				scale = (s.stageHeight/500);
+			} else {
+				scale = (s.stageWidth/500);
+			}
+			holder.scaleX = holder.scaleY = scale;
+			// scale mousetrap too
+			mousetrap.width = s.stageWidth;
+			mousetrap.height = s.stageHeight;
+		}
+		
+		private function sineCosine( a:Number, b:Number, c:Number ):void {
+			sa = Math.sin(a * dtr);
+			ca = Math.cos(a * dtr);
+			sb = Math.sin(b * dtr);
+			cb = Math.cos(b * dtr);
+			sc = Math.sin(c * dtr);
+			cc = Math.cos(c * dtr);
+		}
+		
+		private function getColorFromGradient( perc:Number ):Number {
+			var r:Number = ( perc * ( tcolor >> 16 ) ) + ( (1-perc) * ( tcolor2 >> 16 ) );
+			var g:Number = ( perc * ( (tcolor >> 8) % 256 ) ) + ( (1-perc) * ( (tcolor2 >> 8) % 256 ) );
+			var b:Number = ( perc * ( tcolor % 256 ) ) + ( (1-perc) * ( tcolor2 % 256 ) );
+			return( (r << 16) | (g << 8) | b );
+		}
+
+		private function ioErrorHandler(e:IOErrorEvent):void { displayError( "IO error: "+e ); }
+		
+		private function displayError( msg:String ):void {
+			trace( msg );
+			var debug:TextField = new TextField();
+			debug.width = stage.stageWidth;
+			debug.height = stage.stageHeight;
+			debug.multiline = true;
+			debug.wordWrap = true;
+			debug.background = true;
+			debug.text = msg;
+			addChild( debug );
+		}
+		
+	}
+
+}
diff --git a/lib/cumulus/expressInstall.swf b/lib/cumulus/expressInstall.swf
new file mode 100644
index 0000000..0fbf8fc
Binary files /dev/null and b/lib/cumulus/expressInstall.swf differ
diff --git a/lib/cumulus/swfobject.js b/lib/cumulus/swfobject.js
new file mode 100644
index 0000000..9c937bc
--- /dev/null
+++ b/lib/cumulus/swfobject.js
@@ -0,0 +1,727 @@
+/*	SWFObject v2.2 <http://code.google.com/p/swfobject/> 
+	is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
+*/
+var swfobject = function () {
+    var D = "undefined",
+        r = "object",
+        S = "Shockwave Flash",
+        W = "ShockwaveFlash.ShockwaveFlash",
+        q = "application/x-shockwave-flash",
+        R = "SWFObjectExprInst",
+        x = "onreadystatechange",
+        O = window,
+        j = document,
+        t = navigator,
+        T = false,
+        U = [h],
+        o = [],
+        N = [],
+        I = [],
+        l, Q, E, B, J = false,
+        a = false,
+        n, G, m = true,
+        M = function () {
+            var aa = typeof j.getElementById != D && typeof j.getElementsByTagName != D && typeof j.createElement != D,
+                ah = t.userAgent.toLowerCase(),
+                Y = t.platform.toLowerCase(),
+                ae = Y ? /win/.test(Y) : /win/.test(ah),
+                ac = Y ? /mac/.test(Y) : /mac/.test(ah),
+                af = /webkit/.test(ah) ? parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false,
+                X = !+"\v1",
+                ag = [0, 0, 0],
+                ab = null;
+            if (typeof t.plugins != D && typeof t.plugins[S] == r) {
+                ab = t.plugins[S].description;
+                if (ab && !(typeof t.mimeTypes != D && t.mimeTypes[q] && !t.mimeTypes[q].enabledPlugin)) {
+                    T = true;
+                    X = false;
+                    ab = ab.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
+                    ag[0] = parseInt(ab.replace(/^(.*)\..*$/, "$1"), 10);
+                    ag[1] = parseInt(ab.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
+                    ag[2] = /[a-zA-Z]/.test(ab) ? parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0
+                }
+            } else {
+                if (typeof O.ActiveXObject != D) {
+                    try {
+                        var ad = new ActiveXObject(W);
+                        if (ad) {
+                            ab = ad.GetVariable("$version");
+                            if (ab) {
+                                X = true;
+                                ab = ab.split(" ")[1].split(",");
+                                ag = [parseInt(ab[0], 10), parseInt(ab[1], 10), parseInt(ab[2], 10)]
+                            }
+                        }
+                    } catch (Z) {}
+                }
+            }
+            return {
+                w3: aa,
+                pv: ag,
+                wk: af,
+                ie: X,
+                win: ae,
+                mac: ac
+            }
+        }(),
+        k = function () {
+            if (!M.w3) {
+                return
+            }
+            if ((typeof j.readyState != D && j.readyState == "complete") || (typeof j.readyState == D && (j.getElementsByTagName("body")[0] || j.body))) {
+                f()
+            }
+            if (!J) {
+                if (typeof j.addEventListener != D) {
+                    j.addEventListener("DOMContentLoaded", f, false)
+                }
+                if (M.ie && M.win) {
+                    j.attachEvent(x, function () {
+                        if (j.readyState == "complete") {
+                            j.detachEvent(x, arguments.callee);
+                            f()
+                        }
+                    });
+                    if (O == top) {
+                        (function () {
+                            if (J) {
+                                return
+                            }
+                            try {
+                                j.documentElement.doScroll("left")
+                            } catch (X) {
+                                setTimeout(arguments.callee, 0);
+                                return
+                            }
+                            f()
+                        })()
+                    }
+                }
+                if (M.wk) {
+                    (function () {
+                        if (J) {
+                            return
+                        }
+                        if (!/loaded|complete/.test(j.readyState)) {
+                            setTimeout(arguments.callee, 0);
+                            return
+                        }
+                        f()
+                    })()
+                }
+                s(f)
+            }
+        }();
+
+    function f() {
+        if (J) {
+            return
+        }
+        try {
+            var Z = j.getElementsByTagName("body")[0].appendChild(C("span"));
+            Z.parentNode.removeChild(Z)
+        } catch (aa) {
+            return
+        }
+        J = true;
+        var X = U.length;
+        for (var Y = 0; Y < X; Y++) {
+            U[Y]()
+        }
+    }
+
+    function K(X) {
+        if (J) {
+            X()
+        } else {
+            U[U.length] = X
+        }
+    }
+
+    function s(Y) {
+        if (typeof O.addEventListener != D) {
+            O.addEventListener("load", Y, false)
+        } else {
+            if (typeof j.addEventListener != D) {
+                j.addEventListener("load", Y, false)
+            } else {
+                if (typeof O.attachEvent != D) {
+                    i(O, "onload", Y)
+                } else {
+                    if (typeof O.onload == "function") {
+                        var X = O.onload;
+                        O.onload = function () {
+                            X();
+                            Y()
+                        }
+                    } else {
+                        O.onload = Y
+                    }
+                }
+            }
+        }
+    }
+
+    function h() {
+        if (T) {
+            V()
+        } else {
+            H()
+        }
+    }
+
+    function V() {
+        var X = j.getElementsByTagName("body")[0];
+        var aa = C(r);
+        aa.setAttribute("type", q);
+        var Z = X.appendChild(aa);
+        if (Z) {
+            var Y = 0;
+            (function () {
+                if (typeof Z.GetVariable != D) {
+                    var ab = Z.GetVariable("$version");
+                    if (ab) {
+                        ab = ab.split(" ")[1].split(",");
+                        M.pv = [parseInt(ab[0], 10), parseInt(ab[1], 10), parseInt(ab[2], 10)]
+                    }
+                } else {
+                    if (Y < 10) {
+                        Y++;
+                        setTimeout(arguments.callee, 10);
+                        return
+                    }
+                }
+                X.removeChild(aa);
+                Z = null;
+                H()
+            })()
+        } else {
+            H()
+        }
+    }
+
+    function H() {
+        var ag = o.length;
+        if (ag > 0) {
+            for (var af = 0; af < ag; af++) {
+                var Y = o[af].id;
+                var ab = o[af].callbackFn;
+                var aa = {
+                    success: false,
+                    id: Y
+                };
+                if (M.pv[0] > 0) {
+                    var ae = c(Y);
+                    if (ae) {
+                        if (F(o[af].swfVersion) && !(M.wk && M.wk < 312)) {
+                            w(Y, true);
+                            if (ab) {
+                                aa.success = true;
+                                aa.ref = z(Y);
+                                ab(aa)
+                            }
+                        } else {
+                            if (o[af].expressInstall && A()) {
+                                var ai = {};
+                                ai.data = o[af].expressInstall;
+                                ai.width = ae.getAttribute("width") || "0";
+                                ai.height = ae.getAttribute("height") || "0";
+                                if (ae.getAttribute("class")) {
+                                    ai.styleclass = ae.getAttribute("class")
+                                }
+                                if (ae.getAttribute("align")) {
+                                    ai.align = ae.getAttribute("align")
+                                }
+                                var ah = {};
+                                var X = ae.getElementsByTagName("param");
+                                var ac = X.length;
+                                for (var ad = 0; ad < ac; ad++) {
+                                    if (X[ad].getAttribute("name").toLowerCase() != "movie") {
+                                        ah[X[ad].getAttribute("name")] = X[ad].getAttribute("value")
+                                    }
+                                }
+                                P(ai, ah, Y, ab)
+                            } else {
+                                p(ae);
+                                if (ab) {
+                                    ab(aa)
+                                }
+                            }
+                        }
+                    }
+                } else {
+                    w(Y, true);
+                    if (ab) {
+                        var Z = z(Y);
+                        if (Z && typeof Z.SetVariable != D) {
+                            aa.success = true;
+                            aa.ref = Z
+                        }
+                        ab(aa)
+                    }
+                }
+            }
+        }
+    }
+
+    function z(aa) {
+        var X = null;
+        var Y = c(aa);
+        if (Y && Y.nodeName == "OBJECT") {
+            if (typeof Y.SetVariable != D) {
+                X = Y
+            } else {
+                var Z = Y.getElementsByTagName(r)[0];
+                if (Z) {
+                    X = Z
+                }
+            }
+        }
+        return X
+    }
+
+    function A() {
+        return !a && F("6.0.65") && (M.win || M.mac) && !(M.wk && M.wk < 312)
+    }
+
+    function P(aa, ab, X, Z) {
+        a = true;
+        E = Z || null;
+        B = {
+            success: false,
+            id: X
+        };
+        var ae = c(X);
+        if (ae) {
+            if (ae.nodeName == "OBJECT") {
+                l = g(ae);
+                Q = null
+            } else {
+                l = ae;
+                Q = X
+            }
+            aa.id = R;
+            if (typeof aa.width == D || (!/%$/.test(aa.width) && parseInt(aa.width, 10) < 310)) {
+                aa.width = "310"
+            }
+            if (typeof aa.height == D || (!/%$/.test(aa.height) && parseInt(aa.height, 10) < 137)) {
+                aa.height = "137"
+            }
+            j.title = j.title.slice(0, 47) + " - Flash Player Installation";
+            var ad = M.ie && M.win ? "ActiveX" : "PlugIn",
+                ac = "MMredirectURL=" + O.location.toString().replace(/&/g, "%26") + "&MMplayerType=" + ad + "&MMdoctitle=" + j.title;
+            if (typeof ab.flashvars != D) {
+                ab.flashvars += "&" + ac
+            } else {
+                ab.flashvars = ac
+            } if (M.ie && M.win && ae.readyState != 4) {
+                var Y = C("div");
+                X += "SWFObjectNew";
+                Y.setAttribute("id", X);
+                ae.parentNode.insertBefore(Y, ae);
+                ae.style.display = "none";
+                (function () {
+                    if (ae.readyState == 4) {
+                        ae.parentNode.removeChild(ae)
+                    } else {
+                        setTimeout(arguments.callee, 10)
+                    }
+                })()
+            }
+            u(aa, ab, X)
+        }
+    }
+
+    function p(Y) {
+        if (M.ie && M.win && Y.readyState != 4) {
+            var X = C("div");
+            Y.parentNode.insertBefore(X, Y);
+            X.parentNode.replaceChild(g(Y), X);
+            Y.style.display = "none";
+            (function () {
+                if (Y.readyState == 4) {
+                    Y.parentNode.removeChild(Y)
+                } else {
+                    setTimeout(arguments.callee, 10)
+                }
+            })()
+        } else {
+            Y.parentNode.replaceChild(g(Y), Y)
+        }
+    }
+
+    function g(ab) {
+        var aa = C("div");
+        if (M.win && M.ie) {
+            aa.innerHTML = ab.innerHTML
+        } else {
+            var Y = ab.getElementsByTagName(r)[0];
+            if (Y) {
+                var ad = Y.childNodes;
+                if (ad) {
+                    var X = ad.length;
+                    for (var Z = 0; Z < X; Z++) {
+                        if (!(ad[Z].nodeType == 1 && ad[Z].nodeName == "PARAM") && !(ad[Z].nodeType == 8)) {
+                            aa.appendChild(ad[Z].cloneNode(true))
+                        }
+                    }
+                }
+            }
+        }
+        return aa
+    }
+
+    function u(ai, ag, Y) {
+        var X, aa = c(Y);
+        if (M.wk && M.wk < 312) {
+            return X
+        }
+        if (aa) {
+            if (typeof ai.id == D) {
+                ai.id = Y
+            }
+            if (M.ie && M.win) {
+                var ah = "";
+                for (var ae in ai) {
+                    if (ai[ae] != Object.prototype[ae]) {
+                        if (ae.toLowerCase() == "data") {
+                            ag.movie = ai[ae]
+                        } else {
+                            if (ae.toLowerCase() == "styleclass") {
+                                ah += ' class="' + ai[ae] + '"'
+                            } else {
+                                if (ae.toLowerCase() != "classid") {
+                                    ah += " " + ae + '="' + ai[ae] + '"'
+                                }
+                            }
+                        }
+                    }
+                }
+                var af = "";
+                for (var ad in ag) {
+                    if (ag[ad] != Object.prototype[ad]) {
+                        af += '<param name="' + ad + '" value="' + ag[ad] + '" />'
+                    }
+                }
+                aa.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + ah + ">" + af + "</object>";
+                N[N.length] = ai.id;
+                X = c(ai.id)
+            } else {
+                var Z = C(r);
+                Z.setAttribute("type", q);
+                for (var ac in ai) {
+                    if (ai[ac] != Object.prototype[ac]) {
+                        if (ac.toLowerCase() == "styleclass") {
+                            Z.setAttribute("class", ai[ac])
+                        } else {
+                            if (ac.toLowerCase() != "classid") {
+                                Z.setAttribute(ac, ai[ac])
+                            }
+                        }
+                    }
+                }
+                for (var ab in ag) {
+                    if (ag[ab] != Object.prototype[ab] && ab.toLowerCase() != "movie") {
+                        e(Z, ab, ag[ab])
+                    }
+                }
+                aa.parentNode.replaceChild(Z, aa);
+                X = Z
+            }
+        }
+        return X
+    }
+
+    function e(Z, X, Y) {
+        var aa = C("param");
+        aa.setAttribute("name", X);
+        aa.setAttribute("value", Y);
+        Z.appendChild(aa)
+    }
+
+    function y(Y) {
+        var X = c(Y);
+        if (X && X.nodeName == "OBJECT") {
+            if (M.ie && M.win) {
+                X.style.display = "none";
+                (function () {
+                    if (X.readyState == 4) {
+                        b(Y)
+                    } else {
+                        setTimeout(arguments.callee, 10)
+                    }
+                })()
+            } else {
+                X.parentNode.removeChild(X)
+            }
+        }
+    }
+
+    function b(Z) {
+        var Y = c(Z);
+        if (Y) {
+            for (var X in Y) {
+                if (typeof Y[X] == "function") {
+                    Y[X] = null
+                }
+            }
+            Y.parentNode.removeChild(Y)
+        }
+    }
+
+    function c(Z) {
+        var X = null;
+        try {
+            X = j.getElementById(Z)
+        } catch (Y) {}
+        return X
+    }
+
+    function C(X) {
+        return j.createElement(X)
+    }
+
+    function i(Z, X, Y) {
+        Z.attachEvent(X, Y);
+        I[I.length] = [Z, X, Y]
+    }
+
+    function F(Z) {
+        var Y = M.pv,
+            X = Z.split(".");
+        X[0] = parseInt(X[0], 10);
+        X[1] = parseInt(X[1], 10) || 0;
+        X[2] = parseInt(X[2], 10) || 0;
+        return (Y[0] > X[0] || (Y[0] == X[0] && Y[1] > X[1]) || (Y[0] == X[0] && Y[1] == X[1] && Y[2] >= X[2])) ? true : false
+    }
+
+    function v(ac, Y, ad, ab) {
+        if (M.ie && M.mac) {
+            return
+        }
+        var aa = j.getElementsByTagName("head")[0];
+        if (!aa) {
+            return
+        }
+        var X = (ad && typeof ad == "string") ? ad : "screen";
+        if (ab) {
+            n = null;
+            G = null
+        }
+        if (!n || G != X) {
+            var Z = C("style");
+            Z.setAttribute("type", "text/css");
+            Z.setAttribute("media", X);
+            n = aa.appendChild(Z);
+            if (M.ie && M.win && typeof j.styleSheets != D && j.styleSheets.length > 0) {
+                n = j.styleSheets[j.styleSheets.length - 1]
+            }
+            G = X
+        }
+        if (M.ie && M.win) {
+            if (n && typeof n.addRule == r) {
+                n.addRule(ac, Y)
+            }
+        } else {
+            if (n && typeof j.createTextNode != D) {
+                n.appendChild(j.createTextNode(ac + " {" + Y + "}"))
+            }
+        }
+    }
+
+    function w(Z, X) {
+        if (!m) {
+            return
+        }
+        var Y = X ? "visible" : "hidden";
+        if (J && c(Z)) {
+            c(Z).style.visibility = Y
+        } else {
+            v("#" + Z, "visibility:" + Y)
+        }
+    }
+
+    function L(Y) {
+        var Z = /[\\\"<>\.;]/;
+        var X = Z.exec(Y) != null;
+        return X && typeof encodeURIComponent != D ? encodeURIComponent(Y) : Y
+    }
+    var d = function () {
+        if (M.ie && M.win) {
+            window.attachEvent("onunload", function () {
+                var ac = I.length;
+                for (var ab = 0; ab < ac; ab++) {
+                    I[ab][0].detachEvent(I[ab][1], I[ab][2])
+                }
+                var Z = N.length;
+                for (var aa = 0; aa < Z; aa++) {
+                    y(N[aa])
+                }
+                for (var Y in M) {
+                    M[Y] = null
+                }
+                M = null;
+                for (var X in swfobject) {
+                    swfobject[X] = null
+                }
+                swfobject = null
+            })
+        }
+    }();
+    return {
+        registerObject: function (ab, X, aa, Z) {
+            if (M.w3 && ab && X) {
+                var Y = {};
+                Y.id = ab;
+                Y.swfVersion = X;
+                Y.expressInstall = aa;
+                Y.callbackFn = Z;
+                o[o.length] = Y;
+                w(ab, false)
+            } else {
+                if (Z) {
+                    Z({
+                        success: false,
+                        id: ab
+                    })
+                }
+            }
+        },
+        getObjectById: function (X) {
+            if (M.w3) {
+                return z(X)
+            }
+        },
+        embedSWF: function (ab, ah, ae, ag, Y, aa, Z, ad, af, ac) {
+            var X = {
+                success: false,
+                id: ah
+            };
+            if (M.w3 && !(M.wk && M.wk < 312) && ab && ah && ae && ag && Y) {
+                w(ah, false);
+                K(function () {
+                    ae += "";
+                    ag += "";
+                    var aj = {};
+                    if (af && typeof af === r) {
+                        for (var al in af) {
+                            aj[al] = af[al]
+                        }
+                    }
+                    aj.data = ab;
+                    aj.width = ae;
+                    aj.height = ag;
+                    var am = {};
+                    if (ad && typeof ad === r) {
+                        for (var ak in ad) {
+                            am[ak] = ad[ak]
+                        }
+                    }
+                    if (Z && typeof Z === r) {
+                        for (var ai in Z) {
+                            if (typeof am.flashvars != D) {
+                                am.flashvars += "&" + ai + "=" + Z[ai]
+                            } else {
+                                am.flashvars = ai + "=" + Z[ai]
+                            }
+                        }
+                    }
+                    if (F(Y)) {
+                        var an = u(aj, am, ah);
+                        if (aj.id == ah) {
+                            w(ah, true)
+                        }
+                        X.success = true;
+                        X.ref = an
+                    } else {
+                        if (aa && A()) {
+                            aj.data = aa;
+                            P(aj, am, ah, ac);
+                            return
+                        } else {
+                            w(ah, true)
+                        }
+                    } if (ac) {
+                        ac(X)
+                    }
+                })
+            } else {
+                if (ac) {
+                    ac(X)
+                }
+            }
+        },
+        switchOffAutoHideShow: function () {
+            m = false
+        },
+        ua: M,
+        getFlashPlayerVersion: function () {
+            return {
+                major: M.pv[0],
+                minor: M.pv[1],
+                release: M.pv[2]
+            }
+        },
+        hasFlashPlayerVersion: F,
+        createSWF: function (Z, Y, X) {
+            if (M.w3) {
+                return u(Z, Y, X)
+            } else {
+                return undefined
+            }
+        },
+        showExpressInstall: function (Z, aa, X, Y) {
+            if (M.w3 && A()) {
+                P(Z, aa, X, Y)
+            }
+        },
+        removeSWF: function (X) {
+            if (M.w3) {
+                y(X)
+            }
+        },
+        createCSS: function (aa, Z, Y, X) {
+            if (M.w3) {
+                v(aa, Z, Y, X)
+            }
+        },
+        addDomLoadEvent: K,
+        addLoadEvent: s,
+        getQueryParamValue: function (aa) {
+            var Z = j.location.search || j.location.hash;
+            if (Z) {
+                if (/\?/.test(Z)) {
+                    Z = Z.split("?")[1]
+                }
+                if (aa == null) {
+                    return L(Z)
+                }
+                var Y = Z.split("&");
+                for (var X = 0; X < Y.length; X++) {
+                    if (Y[X].substring(0, Y[X].indexOf("=")) == aa) {
+                        return L(Y[X].substring((Y[X].indexOf("=") + 1)))
+                    }
+                }
+            }
+            return ""
+        },
+        expressInstallCallback: function () {
+            if (a) {
+                var X = c(R);
+                if (X && l) {
+                    X.parentNode.replaceChild(l, X);
+                    if (Q) {
+                        w(Q, true);
+                        if (M.ie && M.win) {
+                            l.style.display = "block"
+                        }
+                    }
+                    if (E) {
+                        E(B)
+                    }
+                }
+                a = false
+            }
+        }
+    }
+}();
\ No newline at end of file
diff --git a/lib/cumulus/tagcloud.fla b/lib/cumulus/tagcloud.fla
new file mode 100644
index 0000000..73ad1a2
Binary files /dev/null and b/lib/cumulus/tagcloud.fla differ
diff --git a/lib/cumulus/tagcloud.swf b/lib/cumulus/tagcloud.swf
new file mode 100644
index 0000000..11e208c
Binary files /dev/null and b/lib/cumulus/tagcloud.swf differ
diff --git a/lib/cumulus/tagcloud.xml b/lib/cumulus/tagcloud.xml
new file mode 100644
index 0000000..69a2160
--- /dev/null
+++ b/lib/cumulus/tagcloud.xml
@@ -0,0 +1,133 @@
+<tagcloud>
+     <tag>
+        <text>BrÃ©sil</text>
+        <href>destination.php?dest=brazil</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+    <tag>
+        <text>Argentine</text>
+        <href>destination.php?dest=argentina</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+    <tag>
+        <text>Paraguay</text>
+        <href>destination.php?dest=paraguay</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+    <tag>
+        <text>Bolivie</text>
+        <href>destination.php?dest=bolivia</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+    <tag>
+        <text>Chili</text>
+        <href>destination.php?dest=chile</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+    <tag>
+        <text>PÃ©rou</text>
+        <href>destination.php?dest=peru</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+    <tag>
+        <text>Australie</text>
+        <href>destination.php?dest=australia</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+    <tag>
+        <text>Nouvelle-ZÃ©lande</text>
+        <href>destination.php?dest=newZealand</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+    <tag>
+        <text>Singapour</text>
+        <href>destination.php?dest=singapore</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+    <tag>
+        <text>IndonÃ©sie</text>
+        <href>destination.php?dest=indonesia</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+    <tag>
+        <text>ThaÃ¯lande</text>
+        <href>destination.php?dest=thailand</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+    <tag>
+        <text>Cambodge</text>
+        <href>destination.php?dest=cambodia</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+    <tag>
+        <text>ViÃªt Nam</text>
+        <href>destination.php?dest=vietnam</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+    <tag>
+        <text>Chine</text>
+        <href>destination.php?dest=china</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+    <tag>
+        <text>NÃ©pal</text>
+        <href>destination.php?dest=nepal</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+    <tag>
+        <text>Inde</text>
+        <href>destination.php?dest=india</href>
+        <size>16</size>
+        <target>_top</target>
+        <color>0x000000</color>
+        <hicolor>0x000099</hicolor>
+    </tag> 
+  
+
+
+</tagcloud>
\ No newline at end of file
diff --git a/lib/cursor.txt b/lib/cursor.txt
new file mode 100644
index 0000000..256ec68
--- /dev/null
+++ b/lib/cursor.txt
@@ -0,0 +1 @@
+AAFEDV4gIVFaMNPhuW0nC3IUIWTimPg_Cwfo2Vzh5C53WRJfzZVuYcUyPPokNq54HRI-acjlI6pjUwd4FnaxgB3Auifdom9dZEINf_1y2DLRTiQpB2clJ7KcYByyi0aNIIOmKep7yWay4aJKxFCpXYqewlwHY2vBZ9ytBmkkZ6KlLA
\ No newline at end of file
diff --git a/lib/cursorC.txt b/lib/cursorC.txt
new file mode 100644
index 0000000..43f7ea9
--- /dev/null
+++ b/lib/cursorC.txt
@@ -0,0 +1 @@
+AAHtIxXjA30398YjrRImeK_8lrwC4WgQYvfE2nQszpuUNnKD5phBcsnfhEN3qQ82IuH7wP9eFW2hrBeGTnWa0EgjkvRNdeicO0ddkmpZ0mvhUqNujlvkeaFO9ogVXGJP4PCQldLgu9KxLBnxdvYFSpOPFr1j3BkIysSdDSmwsUjj7Q
\ No newline at end of file
diff --git a/lib/dropbox-sdk/Dropbox/AppInfo.php b/lib/dropbox-sdk/Dropbox/AppInfo.php
new file mode 100644
index 0000000..8281066
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/AppInfo.php
@@ -0,0 +1,238 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Your app's API key and secret.
+ */
+final class AppInfo
+{
+    /**
+     * Your Dropbox <em>app key</em> (OAuth calls this the <em>consumer key</em>).  You can
+     * create an app key and secret on the <a href="http://dropbox.com/developers/apps">Dropbox developer website</a>.
+     *
+     * @return string
+     */
+    function getKey() { return $this->key; }
+
+    /** @var string */
+    private $key;
+
+    /**
+     * Your Dropbox <em>app secret</em> (OAuth calls this the <em>consumer secret</em>).  You can
+     * create an app key and secret on the <a href="http://dropbox.com/developers/apps">Dropbox developer website</a>.
+     *
+     * Make sure that this is kept a secret.  Someone with your app secret can impesonate your
+     * application.  People sometimes ask for help on the Dropbox API forums and
+     * copy/paste code that includes their app secret.  Do not do that.
+     *
+     * @return string
+     */
+    function getSecret() { return $this->secret; }
+
+    /** @var string */
+    private $secret;
+
+    /**
+     * The set of servers your app will use.  This defaults to the standard Dropbox servers
+     * {@link Host::getDefault}.
+     *
+     * @return Host
+     *
+     * @internal
+     */
+    function getHost() { return $this->host; }
+
+    /** @var Host */
+    private $host;
+
+    /**
+     * Constructor.
+     *
+     * @param string $key
+     *    See {@link getKey()}
+     * @param string $secret
+     *    See {@link getSecret()}
+     */
+    function __construct($key, $secret)
+    {
+        self::checkKeyArg($key);
+        self::checkSecretArg($secret);
+
+        $this->key = $key;
+        $this->secret = $secret;
+
+        // The $host parameter is sort of internal.  We don't include it in the param list because
+        // we don't want it to be included in the documentation.  Use PHP arg list hacks to get at
+        // it.
+        $host = null;
+        if (\func_num_args() == 3) {
+            $host = \func_get_arg(2);
+            Host::checkArgOrNull("host", $host);
+        }
+        if ($host === null) {
+            $host = Host::getDefault();
+        }
+        $this->host = $host;
+    }
+
+    /**
+     * Loads a JSON file containing information about your app. At a minimum, the file must include
+     * the "key" and "secret" fields.  Run 'php authorize.php' in the examples directory
+     * for details about what this file should look like.
+     *
+     * @param string $path
+     *    Path to a JSON file
+     *
+     * @return AppInfo
+     *
+     * @throws AppInfoLoadException
+     */
+    static function loadFromJsonFile($path)
+    {
+        list($rawJson, $appInfo) = self::loadFromJsonFileWithRaw($path);
+        return $appInfo;
+    }
+
+    /**
+     * Loads a JSON file containing information about your app. At a minimum, the file must include
+     * the "key" and "secret" fields.  Run 'php authorize.php' in the examples directory
+     * for details about what this file should look like.
+     *
+     * @param string $path
+     *    Path to a JSON file
+     *
+     * @return array
+     *    A list of two items.  The first is a PHP array representation of the raw JSON, the second
+     *    is an AppInfo object that is the parsed version of the JSON.
+     *
+     * @throws AppInfoLoadException
+     *
+     * @internal
+     */
+    static function loadFromJsonFileWithRaw($path)
+    {
+        if (!file_exists($path)) {
+            throw new AppInfoLoadException("File doesn't exist: \"$path\"");
+        }
+
+        $str = file_get_contents($path);
+        $jsonArr = json_decode($str, TRUE);
+
+        if (is_null($jsonArr)) {
+            throw new AppInfoLoadException("JSON parse error: \"$path\"");
+        }
+
+        $appInfo = self::loadFromJson($jsonArr);
+
+        return array($jsonArr, $appInfo);
+    }
+
+    /**
+     * Parses a JSON object to build an AppInfo object.  If you would like to load this from a file,
+     * use the loadFromJsonFile() method.
+     *
+     * @param array $jsonArr Output from json_decode($str, TRUE)
+     *
+     * @return AppInfo
+     *
+     * @throws AppInfoLoadException
+     */
+    static function loadFromJson($jsonArr)
+    {
+        if (!is_array($jsonArr)) {
+            throw new AppInfoLoadException("Expecting JSON object, got something else");
+        }
+
+        $requiredKeys = array("key", "secret");
+        foreach ($requiredKeys as $key) {
+            if (!array_key_exists($key, $jsonArr)) {
+                throw new AppInfoLoadException("Missing field \"$key\"");
+            }
+
+            if (!is_string($jsonArr[$key])) {
+                throw new AppInfoLoadException("Expecting field \"$key\" to be a string");
+            }
+        }
+
+        // Check app_key and app_secret
+        $appKey = $jsonArr["key"];
+        $appSecret = $jsonArr["secret"];
+
+        $tokenErr = self::getTokenPartError($appKey);
+        if (!is_null($tokenErr)) {
+            throw new AppInfoLoadException("Field \"key\" doesn't look like a valid app key: $tokenErr");
+        }
+
+        $tokenErr = self::getTokenPartError($appSecret);
+        if (!is_null($tokenErr)) {
+            throw new AppInfoLoadException("Field \"secret\" doesn't look like a valid app secret: $tokenErr");
+        }
+
+        // Check for the optional 'host' field
+        if (!array_key_exists('host', $jsonArr)) {
+            $host = null;
+        }
+        else {
+            $baseHost = $jsonArr["host"];
+            if (!is_string($baseHost)) {
+                throw new AppInfoLoadException("Optional field \"host\" must be a string");
+            }
+
+            $api = "api-$baseHost";
+            $content = "api-content-$baseHost";
+            $web = "meta-$baseHost";
+
+            $host = new Host($api, $content, $web);
+        }
+
+        return new AppInfo($appKey, $appSecret, $host);
+    }
+
+    /**
+     * Use this to check that a function argument is of type <code>AppInfo</code>
+     *
+     * @internal
+     */
+    static function checkArg($argName, $argValue)
+    {
+        if (!($argValue instanceof self)) Checker::throwError($argName, $argValue, __CLASS__);
+    }
+
+    /**
+     * Use this to check that a function argument is either <code>null</code> or of type
+     * <code>AppInfo</code>.
+     *
+     * @internal
+     */
+    static function checkArgOrNull($argName, $argValue)
+    {
+        if ($argValue === null) return;
+        if (!($argValue instanceof self)) Checker::throwError($argName, $argValue, __CLASS__);
+    }
+
+    /** @internal */
+    static function getTokenPartError($s)
+    {
+        if ($s === null) return "can't be null";
+        if (strlen($s) === 0) return "can't be empty";
+        if (strstr($s, ' ')) return "can't contain a space";
+        return null;  // 'null' means "no error"
+    }
+
+    /** @internal */
+    static function checkKeyArg($key)
+    {
+        $error = self::getTokenPartError($key);
+        if ($error === null) return;
+        throw new \InvalidArgumentException("Bad 'key': \"$key\": $error.");
+    }
+
+    /** @internal */
+    static function checkSecretArg($secret)
+    {
+        $error = self::getTokenPartError($secret);
+        if ($error === null) return;
+        throw new \InvalidArgumentException("Bad 'secret': \"$secret\": $error.");
+    }
+
+}
diff --git a/lib/dropbox-sdk/Dropbox/AppInfoLoadException.php b/lib/dropbox-sdk/Dropbox/AppInfoLoadException.php
new file mode 100644
index 0000000..1c019be
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/AppInfoLoadException.php
@@ -0,0 +1,18 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Thrown by the <code>AppInfo::loadXXX</code> methods if something goes wrong.
+ */
+final class AppInfoLoadException extends \Exception
+{
+    /**
+     * @param string $message
+     *
+     * @internal
+     */
+    function __construct($message)
+    {
+        parent::__construct($message);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/ArrayEntryStore.php b/lib/dropbox-sdk/Dropbox/ArrayEntryStore.php
new file mode 100644
index 0000000..18bdf55
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/ArrayEntryStore.php
@@ -0,0 +1,61 @@
+<?php
+namespace Dropbox;
+
+/**
+ * A class that gives get/put/clear access to a single entry in an array.
+ */
+class ArrayEntryStore implements ValueStore
+{
+    /** @var array */
+    private $array;
+
+    /** @var mixed */
+    private $key;
+
+    /**
+     * Constructor.
+     *
+     * @param array $array
+     *    The array that we'll be accessing.
+     *
+     * @param mixed $key
+     *    The key for the array element we'll be accessing.
+     */
+    function __construct(&$array, $key)
+    {
+        $this->array = &$array;
+        $this->key = $key;
+    }
+
+    /**
+     * Returns the entry's current value or <code>null</code> if nothing is set.
+     *
+     * @return object
+     */
+    function get()
+    {
+        if (isset($this->array[$this->key])) {
+            return $this->array[$this->key];
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * Set the array entry to the given value.
+     *
+     * @param object $value
+     */
+    function set($value)
+    {
+        $this->array[$this->key] = $value;
+    }
+
+    /**
+     * Clear the entry.
+     */
+    function clear()
+    {
+        unset($this->array[$this->key]);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/AuthBase.php b/lib/dropbox-sdk/Dropbox/AuthBase.php
new file mode 100644
index 0000000..15f2d3b
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/AuthBase.php
@@ -0,0 +1,75 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Base class for API authorization-related classes.
+ */
+class AuthBase
+{
+    /**
+     * Whatever AppInfo was passed into the constructor.
+     *
+     * @return AppInfo
+     */
+    function getAppInfo() { return $this->appInfo; }
+
+    /** @var AppInfo */
+    protected $appInfo;
+
+    /**
+     * An identifier for the API client, typically of the form "Name/Version".
+     * This is used to set the HTTP <code>User-Agent</code> header when making API requests.
+     * Example: <code>"PhotoEditServer/1.3"</code>
+     *
+     * If you're the author a higher-level library on top of the basic SDK, and the
+     * "Photo Edit" app's server code is using your library to access Dropbox, you should append
+     * your library's name and version to form the full identifier.  For example,
+     * if your library is called "File Picker", you might set this field to:
+     * <code>"PhotoEditServer/1.3 FilePicker/0.1-beta"</code>
+     *
+     * The exact format of the <code>User-Agent</code> header is described in
+     * <a href="http://tools.ietf.org/html/rfc2616#section-3.8">section 3.8 of the HTTP specification</a>.
+     *
+     * Note that underlying HTTP client may append other things to the <code>User-Agent</code>, such as
+     * the name of the library being used to actually make the HTTP request (such as cURL).
+     *
+     * @return string
+     */
+    function getClientIdentifier() { return $this->clientIdentifier; }
+
+    /** @var string */
+    protected $clientIdentifier;
+
+    /**
+     * The locale of the user of your application.  Some API calls return localized
+     * data and error messages; this "user locale" setting determines which locale
+     * the server should use to localize those strings.
+     *
+     * @return null|string
+     */
+    function getUserLocale() { return $this->userLocale; }
+
+    /** @var string */
+    protected $userLocale;
+
+    /**
+     * Constructor.
+     *
+     * @param AppInfo $appInfo
+     *     See {@link getAppInfo()}
+     * @param string $clientIdentifier
+     *     See {@link getClientIdentifier()}
+     * @param null|string $userLocale
+     *     See {@link getUserLocale()}
+     */
+    function __construct($appInfo, $clientIdentifier, $userLocale = null)
+    {
+        AppInfo::checkArg("appInfo", $appInfo);
+        Client::checkClientIdentifierArg("clientIdentifier", $clientIdentifier);
+        Checker::argStringNonEmptyOrNull("userLocale", $userLocale);
+
+        $this->appInfo = $appInfo;
+        $this->clientIdentifier = $clientIdentifier;
+        $this->userLocale = $userLocale;
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/AuthInfo.php b/lib/dropbox-sdk/Dropbox/AuthInfo.php
new file mode 100644
index 0000000..a4dc264
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/AuthInfo.php
@@ -0,0 +1,85 @@
+<?php
+namespace Dropbox;
+
+/**
+ * This class contains methods to load an AppInfo and AccessToken from a JSON file.
+ * This can help simplify simple scripts (such as the example programs that come with the
+ * SDK) but is probably not useful in typical Dropbox API apps.
+ *
+ */
+final class AuthInfo
+{
+    /**
+     * Loads a JSON file containing authorization information for your app. 'php authorize.php'
+     * in the examples directory for details about what this file should look like.
+     *
+     * @param string $path
+     *    Path to a JSON file
+     * @return array
+     *    A <code>list(string $accessToken, Host $host)</code>.
+     *
+     * @throws AuthInfoLoadException
+     */
+    static function loadFromJsonFile($path)
+    {
+        if (!file_exists($path)) {
+            throw new AuthInfoLoadException("File doesn't exist: \"$path\"");
+        }
+
+        $str = file_get_contents($path);
+        $jsonArr = json_decode($str, TRUE);
+
+        if (is_null($jsonArr)) {
+            throw new AuthInfoLoadException("JSON parse error: \"$path\"");
+        }
+
+        return self::loadFromJson($jsonArr);
+    }
+
+    /**
+     * Parses a JSON object to build an AuthInfo object.  If you would like to load this from a file,
+     * please use the @see loadFromJsonFile method.
+     *
+     * @param array $jsonArr
+     *    A parsed JSON object, typcally the result of json_decode(..., TRUE).
+     * @return array
+     *    A <code>list(string $accessToken, Host $host)</code>.
+     *
+     * @throws AuthInfoLoadException
+     */
+    private static function loadFromJson($jsonArr)
+    {
+        if (!is_array($jsonArr)) {
+            throw new AuthInfoLoadException("Expecting JSON object, found something else");
+        }
+
+        // Check access_token
+        if (!array_key_exists('access_token', $jsonArr)) {
+            throw new AuthInfoLoadException("Missing field \"access_token\"");
+        }
+
+        $accessToken = $jsonArr['access_token'];
+        if (!is_string($accessToken)) {
+            throw new AuthInfoLoadException("Expecting field \"access_token\" to be a string");
+        }
+
+        // Check for the optional 'host' field
+        if (!array_key_exists('host', $jsonArr)) {
+            $host = null;
+        }
+        else {
+            $baseHost = $jsonArr["host"];
+            if (!is_string($baseHost)) {
+                throw new AuthInfoLoadException("Optional field \"host\" must be a string");
+            }
+
+            $api = "api-$baseHost";
+            $content = "api-content-$baseHost";
+            $web = "meta-$baseHost";
+
+            $host = new Host($api, $content, $web);
+        }
+
+        return array($accessToken, $host);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/AuthInfoLoadException.php b/lib/dropbox-sdk/Dropbox/AuthInfoLoadException.php
new file mode 100644
index 0000000..3e1fe06
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/AuthInfoLoadException.php
@@ -0,0 +1,18 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Thrown by the <code>AuthInfo::loadXXX</code> methods if something goes wrong.
+ */
+final class AuthInfoLoadException extends \Exception
+{
+    /**
+     * @param string $message
+     *
+     * @internal
+     */
+    function __construct($message)
+    {
+        parent::__construct($message);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/Checker.php b/lib/dropbox-sdk/Dropbox/Checker.php
new file mode 100644
index 0000000..5cc7d41
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/Checker.php
@@ -0,0 +1,94 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Helper functions to validate arguments.
+ *
+ * @internal
+ */
+class Checker
+{
+    static function throwError($argName, $argValue, $expectedTypeName)
+    {
+        if ($argValue === null) throw new \InvalidArgumentException("'$argName' must not be null");
+
+        if (is_object($argValue)) {
+            // Class type.
+            $argTypeName = get_class($argValue);
+        } else {
+            // Built-in type.
+            $argTypeName = gettype($argValue);
+        }
+        throw new \InvalidArgumentException("'$argName' has bad type; expecting $expectedTypeName, got $argTypeName");
+    }
+
+    static function argResource($argName, $argValue)
+    {
+        if (!is_resource($argValue)) self::throwError($argName, $argValue, "resource");
+    }
+
+    static function argCallable($argName, $argValue)
+    {
+        if (!is_callable($argValue)) self::throwError($argName, $argValue, "callable");
+    }
+
+    static function argBool($argName, $argValue)
+    {
+        if (!is_bool($argValue)) self::throwError($argName, $argValue, "boolean");
+    }
+
+    static function argArray($argName, $argValue)
+    {
+        if (!is_array($argValue)) self::throwError($argName, $argValue, "array");
+    }
+
+    static function argString($argName, $argValue)
+    {
+        if (!is_string($argValue)) self::throwError($argName, $argValue, "string");
+    }
+
+    static function argStringOrNull($argName, $argValue)
+    {
+        if ($argValue === null) return;
+        if (!is_string($argValue)) self::throwError($argName, $argValue, "string");
+    }
+
+    static function argStringNonEmpty($argName, $argValue)
+    {
+        if (!is_string($argValue)) self::throwError($argName, $argValue, "string");
+        if (strlen($argValue) === 0) throw new \InvalidArgumentException("'$argName' must be non-empty");
+    }
+
+    static function argStringNonEmptyOrNull($argName, $argValue)
+    {
+        if ($argValue === null) return;
+        if (!is_string($argValue)) self::throwError($argName, $argValue, "string");
+        if (strlen($argValue) === 0) throw new \InvalidArgumentException("'$argName' must be non-empty");
+    }
+
+    static function argNat($argName, $argValue)
+    {
+        if (!is_int($argValue)) self::throwError($argName, $argValue, "int");
+        if ($argValue < 0) throw new \InvalidArgumentException("'$argName' must be non-negative (you passed in $argValue)");
+    }
+
+    static function argNatOrNull($argName, $argValue)
+    {
+        if ($argValue === null) return;
+        if (!is_int($argValue)) self::throwError($argName, $argValue, "int");
+        if ($argValue < 0) throw new \InvalidArgumentException("'$argName' must be non-negative (you passed in $argValue)");
+    }
+
+    static function argIntPositive($argName, $argValue)
+    {
+        if (!is_int($argValue)) self::throwError($argName, $argValue, "int");
+        if ($argValue < 1) throw new \InvalidArgumentException("'$argName' must be positive (you passed in $argValue)");
+    }
+
+    static function argIntPositiveOrNull($argName, $argValue)
+    {
+        if ($argValue === null) return;
+        if (!is_int($argValue)) self::throwError($argName, $argValue, "int");
+        if ($argValue < 1) throw new \InvalidArgumentException("'$argName' must be positive (you passed in $argValue)");
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/Client.php b/lib/dropbox-sdk/Dropbox/Client.php
new file mode 100644
index 0000000..6a13407
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/Client.php
@@ -0,0 +1,1500 @@
+<?php
+namespace Dropbox;
+
+/**
+ * The class used to make most Dropbox API calls.  You can use this once you've gotten an
+ * {@link AccessToken} via {@link WebAuth}.
+ *
+ * This class is stateless so it can be shared/reused.
+ */
+class Client
+{
+    /**
+     * The access token used by this client to make authenticated API calls.  You can get an
+     * access token via {@link WebAuth}.
+     *
+     * @return AccessToken
+     */
+    function getAccessToken() { return $this->accessToken; }
+
+    /** @var AccessToken */
+    private $accessToken;
+
+    /**
+     * An identifier for the API client, typically of the form "Name/Version".
+     * This is used to set the HTTP <code>User-Agent</code> header when making API requests.
+     * Example: <code>"PhotoEditServer/1.3"</code>
+     *
+     * If you're the author a higher-level library on top of the basic SDK, and the
+     * "Photo Edit" app's server code is using your library to access Dropbox, you should append
+     * your library's name and version to form the full identifier.  For example,
+     * if your library is called "File Picker", you might set this field to:
+     * <code>"PhotoEditServer/1.3 FilePicker/0.1-beta"</code>
+     *
+     * The exact format of the <code>User-Agent</code> header is described in
+     * <a href="http://tools.ietf.org/html/rfc2616#section-3.8">section 3.8 of the HTTP specification</a>.
+     *
+     * Note that underlying HTTP client may append other things to the <code>User-Agent</code>, such as
+     * the name of the library being used to actually make the HTTP request (such as cURL).
+     *
+     * @return string
+     */
+    function getClientIdentifier() { return $this->clientIdentifier; }
+
+    /** @var string */
+    private $clientIdentifier;
+
+    /**
+     * The locale of the user of your application.  Some API calls return localized
+     * data and error messages; this "user locale" setting determines which locale
+     * the server should use to localize those strings.
+     *
+     * @return null|string
+     */
+    function getUserLocale() { return $this->userLocale; }
+
+    /** @var null|string */
+    private $userLocale;
+
+    /**
+     * The {@link Host} object that determines the hostnames we make requests to.
+     *
+     * @return Host
+     */
+    function getHost() { return $this->host; }
+
+    /**
+     * Constructor.
+     *
+     * @param string $accessToken
+     *     See {@link getAccessToken()}
+     * @param string $clientIdentifier
+     *     See {@link getClientIdentifier()}
+     * @param null|string $userLocale
+     *     See {@link getUserLocale()}
+     */
+    function __construct($accessToken, $clientIdentifier, $userLocale = null)
+    {
+        self::checkAccessTokenArg("accessToken", $accessToken);
+        self::checkClientIdentifierArg("clientIdentifier", $clientIdentifier);
+        Checker::argStringNonEmptyOrNull("userLocale", $userLocale);
+
+        $this->accessToken = $accessToken;
+        $this->clientIdentifier = $clientIdentifier;
+        $this->userLocale = $userLocale;
+
+        // The $host parameter is sort of internal.  We don't include it in the param list because
+        // we don't want it to be included in the documentation.  Use PHP arg list hacks to get at
+        // it.
+        $host = null;
+        if (\func_num_args() == 4) {
+            $host = \func_get_arg(3);
+            Host::checkArgOrNull("host", $host);
+        }
+        if ($host === null) {
+            $host = Host::getDefault();
+        }
+        $this->host = $host;
+
+        // These fields are redundant, but it makes these values a little more convenient
+        // to access.
+        $this->apiHost = $host->getApi();
+        $this->contentHost = $host->getContent();
+    }
+
+    /** @var string */
+    private $apiHost;
+    /** @var string */
+    private $contentHost;
+
+    /**
+     * Given a <code>$base</code> path for an API endpoint (for example, "/files"), append
+     * a Dropbox API file path to the end of that URL.  Special characters in the file will
+     * be encoded properly.
+     *
+     * This is for endpoints like "/files" takes the path on the URL and not as a separate
+     * query or POST parameter.
+     *
+     * @param string $base
+     * @param string $path
+     * @return string
+     */
+    function appendFilePath($base, $path)
+    {
+        return $base . "/auto/" . rawurlencode(substr($path, 1));
+    }
+
+    /**
+     * Make an API call to disable the access token that you constructed this <code>Client</code>
+     * with.  After calling this, API calls made with this <code>Client</code> will fail.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#disable-token">/disable_access_token</a>.
+     *
+     * @throws Exception
+     */
+    function disableAccessToken()
+    {
+        $response = $this->doPost($this->apiHost, "1/disable_access_token");
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+    }
+
+    /**
+     * Make an API call to get basic account and quota information.
+     *
+     * <code>
+     * $client = ...
+     * $accountInfo = $client->getAccountInfo();
+     * print_r($accountInfo);
+     * </code>
+     *
+     * @return array
+     *    See <a href="https://www.dropbox.com/developers/core/docs#account-info">/account/info</a>.
+     *
+     * @throws Exception
+     */
+    function getAccountInfo()
+    {
+        $response = $this->doGet($this->apiHost, "1/account/info");
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+        return RequestUtil::parseResponseJson($response->body);
+    }
+
+    /**
+     * Downloads a file from Dropbox.  The file's contents are written to the
+     * given <code>$outStream</code> and the file's metadata is returned.
+     *
+     * <code>
+     * $client = ...;
+     * $fd = fopen("./Frog.jpeg", "wb");
+     * $metadata = $client->getFile("/Photos/Frog.jpeg", $fd);
+     * fclose($fd);
+     * print_r($metadata);
+     * </code>
+     *
+     * @param string $path
+     *   The path to the file on Dropbox (UTF-8).
+     *
+     * @param resource $outStream
+     *   If the file exists, the file contents will be written to this stream.
+     *
+     * @param string|null $rev
+     *   If you want the latest revision of the file at the given path, pass in <code>null</code>.
+     *   If you want a specific version of a file, pass in value of the file metadata's "rev" field.
+     *
+     * @return null|array
+     *   The <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata
+     *   object</a> for the file at the given $path and $rev, or <code>null</code> if the file
+     *   doesn't exist,
+     *
+     * @throws Exception
+     */
+    function getFile($path, $outStream, $rev = null)
+    {
+        Path::checkArgNonRoot("path", $path);
+        Checker::argResource("outStream", $outStream);
+        Checker::argStringNonEmptyOrNull("rev", $rev);
+
+        $url = $this->buildUrlForGetOrPut(
+            $this->contentHost,
+            $this->appendFilePath("1/files", $path),
+            array("rev" => $rev));
+
+        $curl = $this->mkCurl($url);
+        $metadataCatcher = new DropboxMetadataHeaderCatcher($curl->handle);
+        $streamRelay = new CurlStreamRelay($curl->handle, $outStream);
+
+        $response = $curl->exec();
+
+        if ($response->statusCode === 404) return null;
+
+        if ($response->statusCode !== 200) {
+            $response->body = $streamRelay->getErrorBody();
+            throw RequestUtil::unexpectedStatus($response);
+        }
+
+        return $metadataCatcher->getMetadata();
+    }
+
+    /**
+     * Calling 'uploadFile' with <code>$numBytes</code> less than this value, will cause this SDK
+     * to use the standard /files_put endpoint.  When <code>$numBytes</code> is greater than this
+     * value, we'll use the /chunked_upload endpoint.
+     *
+     * @var int
+     */
+    private static $AUTO_CHUNKED_UPLOAD_THRESHOLD = 9863168;  // 8 MB
+
+    /**
+     * @var int
+     */
+    private static $DEFAULT_CHUNK_SIZE = 4194304;  // 4 MB
+
+    /**
+     * Creates a file on Dropbox, using the data from <code>$inStream</code> for the file contents.
+     *
+     * <code>
+     * use \Dropbox as dbx;
+     * $client = ...;
+     * $fd = fopen("./frog.jpeg", "rb");
+     * $md1 = $client->uploadFile("/Photos/Frog.jpeg",
+     *                            dbx\WriteMode::add(), $fd);
+     * fclose($fd);
+     * print_r($md1);
+     * $rev = $md1["rev"];
+     *
+     * // Re-upload with WriteMode::update(...), which will overwrite the
+     * // file if it hasn't been modified from our original upload.
+     * $fd = fopen("./frog-new.jpeg", "rb");
+     * $md2 = $client->uploadFile("/Photos/Frog.jpeg",
+     *                            dbx\WriteMode::update($rev), $fd);
+     * fclose($fd);
+     * print_r($md2);
+     * </code>
+     *
+     * @param string $path
+     *    The Dropbox path to save the file to (UTF-8).
+     *
+     * @param WriteMode $writeMode
+     *    What to do if there's already a file at the given path.
+     *
+     * @param resource $inStream
+     *    The data to use for the file contents.
+     *
+     * @param int|null $numBytes
+     *    You can pass in <code>null</code> if you don't know.  If you do provide the size, we can
+     *    perform a slightly more efficient upload (fewer network round-trips) for files smaller
+     *    than 8 MB.
+     *
+     * @return mixed
+     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details>metadata
+     *    object</a> for the newly-added file.
+     *
+     * @throws Exception
+     */
+    function uploadFile($path, $writeMode, $inStream, $numBytes = null)
+    {
+        Path::checkArgNonRoot("path", $path);
+        WriteMode::checkArg("writeMode", $writeMode);
+        Checker::argResource("inStream", $inStream);
+        Checker::argNatOrNull("numBytes", $numBytes);
+
+        // If we don't know how many bytes are coming, we have to use chunked upload.
+        // If $numBytes is large, we elect to use chunked upload.
+        // In all other cases, use regular upload.
+        if ($numBytes === null || $numBytes > self::$AUTO_CHUNKED_UPLOAD_THRESHOLD) {
+            $metadata = $this->_uploadFileChunked($path, $writeMode, $inStream, $numBytes,
+                                                  self::$DEFAULT_CHUNK_SIZE);
+        } else {
+            $metadata = $this->_uploadFile($path, $writeMode,
+                function(Curl $curl) use ($inStream, $numBytes) {
+                    $curl->set(CURLOPT_PUT, true);
+                    $curl->set(CURLOPT_INFILE, $inStream);
+                    $curl->set(CURLOPT_INFILESIZE, $numBytes);
+                });
+        }
+
+        return $metadata;
+    }
+
+    /**
+     * Creates a file on Dropbox, using the given $data string as the file contents.
+     *
+     * <code>
+     * use \Dropbox as dbx;
+     * $client = ...;
+     * $md = $client->uploadFileFromString("/Grocery List.txt",
+     *                                     dbx\WriteMode::add(),
+     *                                     "1. Coke\n2. Popcorn\n3. Toothpaste\n");
+     * print_r($md);
+     * </code>
+     *
+     * @param string $path
+     *    The Dropbox path to save the file to (UTF-8).
+     *
+     * @param WriteMode $writeMode
+     *    What to do if there's already a file at the given path.
+     *
+     * @param string $data
+     *    The data to use for the contents of the file.
+     *
+     * @return mixed
+     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details>metadata
+     *    object</a> for the newly-added file.
+     *
+     * @throws Exception
+     */
+    function uploadFileFromString($path, $writeMode, $data)
+    {
+        Path::checkArgNonRoot("path", $path);
+        WriteMode::checkArg("writeMode", $writeMode);
+        Checker::argString("data", $data);
+
+        return $this->_uploadFile($path, $writeMode, function(Curl $curl) use ($data) {
+            $curl->set(CURLOPT_CUSTOMREQUEST, "PUT");
+            $curl->set(CURLOPT_POSTFIELDS, $data);
+            $curl->addHeader("Content-Type: application/octet-stream");
+        });
+    }
+
+    /**
+     * Creates a file on Dropbox, using the data from $inStream as the file contents.
+     *
+     * This version of <code>uploadFile</code> splits uploads the file ~4MB chunks at a time and
+     * will retry a few times if one chunk fails to upload.  Uses {@link chunkedUploadStart()},
+     * {@link chunkedUploadContinue()}, and {@link chunkedUploadFinish()}.
+     *
+     * @param string $path
+     *    The Dropbox path to save the file to (UTF-8).
+     *
+     * @param WriteMode $writeMode
+     *    What to do if there's already a file at the given path.
+     *
+     * @param resource $inStream
+     *    The data to use for the file contents.
+     *
+     * @param int|null $numBytes
+     *    The number of bytes available from $inStream.
+     *    You can pass in <code>null</code> if you don't know.
+     *
+     * @param int|null $chunkSize
+     *    The number of bytes to upload in each chunk.  You can omit this (or pass in
+     *    <code>null</code> and the library will use a reasonable default.
+     *
+     * @return mixed
+     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details>metadata
+     *    object</a> for the newly-added file.
+     *
+     * @throws Exception
+     */
+    function uploadFileChunked($path, $writeMode, $inStream, $numBytes = null, $chunkSize = null)
+    {
+        if ($chunkSize === null) {
+            $chunkSize = self::$DEFAULT_CHUNK_SIZE;
+        }
+
+        Path::checkArgNonRoot("path", $path);
+        WriteMode::checkArg("writeMode", $writeMode);
+        Checker::argResource("inStream", $inStream);
+        Checker::argNatOrNull("numBytes", $numBytes);
+        Checker::argIntPositive("chunkSize", $chunkSize);
+
+        return $this->_uploadFileChunked($path, $writeMode, $inStream, $numBytes, $chunkSize);
+    }
+
+    /**
+     * @param string $path
+     *
+     * @param WriteMode $writeMode
+     *    What to do if there's already a file at the given path (UTF-8).
+     *
+     * @param resource $inStream
+     *    The source of data to upload.
+     *
+     * @param int|null $numBytes
+     *    You can pass in <code>null</code>.  But if you know how many bytes you expect, pass in
+     *    that value and this function will do a sanity check at the end to make sure the number of
+     *    bytes read from $inStream matches up.
+     *
+     * @param int $chunkSize
+     *
+     * @return array
+     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details>metadata
+     *    object</a> for the newly-added file.
+     */
+    private function _uploadFileChunked($path, $writeMode, $inStream, $numBytes, $chunkSize)
+    {
+        Path::checkArg("path", $path);
+        WriteMode::checkArg("writeMode", $writeMode);
+        Checker::argResource("inStream", $inStream);
+        Checker::argNatOrNull("numBytes", $numBytes);
+        Checker::argNat("chunkSize", $chunkSize);
+
+        // NOTE: This function performs 3 retries on every call.  This is maybe not the right
+        // layer to make retry decisions.  It's also awkward because none of the other calls
+        // perform retries.
+
+        assert($chunkSize > 0);
+
+        $data = self::readFully($inStream, $chunkSize);
+        $len = strlen($data);
+
+        $client = $this;
+        $uploadId = RequestUtil::runWithRetry(3, function() use ($data, $client) {
+            return $client->chunkedUploadStart($data);
+        });
+
+        $byteOffset = $len;
+
+        while (!feof($inStream)) {
+            $data = self::readFully($inStream, $chunkSize);
+            $len = strlen($data);
+
+            while (true) {
+                $r = RequestUtil::runWithRetry(3,
+                    function() use ($client, $uploadId, $byteOffset, $data) {
+                        return $client->chunkedUploadContinue($uploadId, $byteOffset, $data);
+                    });
+
+                if ($r === true) {  // Chunk got uploaded!
+                    $byteOffset += $len;
+                    break;
+                }
+                if ($r === false) {  // Server didn't recognize our upload ID
+                    // This is very unlikely since we're uploading all the chunks in sequence.
+                    throw new Exception_BadResponse("Server forgot our uploadId");
+                }
+
+                // Otherwise, the server is at a different byte offset from us.
+                $serverByteOffset = $r;
+                assert($serverByteOffset !== $byteOffset);  // chunkedUploadContinue ensures this.
+                // An earlier byte offset means the server has lost data we sent earlier.
+                if ($serverByteOffset < $byteOffset) throw new Exception_BadResponse(
+                    "Server is at an ealier byte offset: us=$byteOffset, server=$serverByteOffset");
+                $diff = $serverByteOffset - $byteOffset;
+                // If the server is past where we think it could possibly be, something went wrong.
+                if ($diff > $len) throw new Exception_BadResponse(
+                    "Server is more than a chunk ahead: us=$byteOffset, server=$serverByteOffset");
+                // The normal case is that the server is a bit further along than us because of a
+                // partially-uploaded chunk.  Finish it off.
+                $byteOffset += $diff;
+                if ($diff === $len) break;  // If the server is at the end, we're done.
+                $data = substr($data, $diff);
+            }
+        }
+
+        if ($numBytes !== null && $byteOffset !== $numBytes) throw new \InvalidArgumentException(
+            "You passed numBytes=$numBytes but the stream had $byteOffset bytes.");
+
+        $metadata = RequestUtil::runWithRetry(3,
+            function() use ($client, $uploadId, $path, $writeMode) {
+                return $client->chunkedUploadFinish($uploadId, $path, $writeMode);
+            });
+
+        return $metadata;
+    }
+
+    /**
+     * Sometimes fread() returns less than the request number of bytes (for example, when reading
+     * from network streams).  This function repeatedly calls fread until the requested number of
+     * bytes have been read or we've reached EOF.
+     *
+     * @param resource $inStream
+     * @param int $numBytes
+     * @throws StreamReadException
+     * @return string
+     */
+    private static function readFully($inStream, $numBytes)
+    {
+        Checker::argNat("numBytes", $numBytes);
+
+        $full = '';
+        $bytesRemaining = $numBytes;
+        while (!feof($inStream) && $bytesRemaining > 0) {
+            $part = fread($inStream, $bytesRemaining);
+            if ($part === false) throw new StreamReadException("Error reading from \$inStream.");
+            $full .= $part;
+            $bytesRemaining -= strlen($part);
+        }
+        return $full;
+    }
+
+    /**
+     * @param string $path
+     * @param WriteMode $writeMode
+     * @param callable $curlConfigClosure
+     * @return array
+     */
+    private function _uploadFile($path, $writeMode, $curlConfigClosure)
+    {
+        Path::checkArg("path", $path);
+        WriteMode::checkArg("writeMode", $writeMode);
+        Checker::argCallable("curlConfigClosure", $curlConfigClosure);
+
+        $url = $this->buildUrlForGetOrPut(
+            $this->contentHost,
+            $this->appendFilePath("1/files_put", $path),
+            $writeMode->getExtraParams());
+
+        $curl = $this->mkCurl($url);
+
+        $curlConfigClosure($curl);
+
+        $curl->set(CURLOPT_RETURNTRANSFER, true);
+        $response = $curl->exec();
+
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        return RequestUtil::parseResponseJson($response->body);
+    }
+
+    /**
+     * Start a new chunked upload session and upload the first chunk of data.
+     *
+     * @param string $data
+     *     The data to start off the chunked upload session.
+     *
+     * @return array
+     *     A pair of <code>(string $uploadId, int $byteOffset)</code>.  <code>$uploadId</code>
+     *     is a unique identifier for this chunked upload session.  You pass this in to
+     *     {@link chunkedUploadContinue} and {@link chuunkedUploadFinish}.  <code>$byteOffset</code>
+     *     is the number of bytes that were successfully uploaded.
+     *
+     * @throws Exception
+     */
+    function chunkedUploadStart($data)
+    {
+        Checker::argString("data", $data);
+
+        $response = $this->_chunkedUpload(array(), $data);
+
+        if ($response->statusCode === 404) {
+            throw new Exception_BadResponse("Got a 404, but we didn't send up an 'upload_id'");
+        }
+
+        $correction = self::_chunkedUploadCheckForOffsetCorrection($response);
+        if ($correction !== null) throw new Exception_BadResponse(
+            "Got an offset-correcting 400 response, but we didn't send an offset");
+
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        list($uploadId, $byteOffset) = self::_chunkedUploadParse200Response($response->body);
+        $len = strlen($data);
+        if ($byteOffset !== $len) throw new Exception_BadResponse(
+            "We sent $len bytes, but server returned an offset of $byteOffset");
+
+        return $uploadId;
+    }
+
+    /**
+     * Append another chunk data to a previously-started chunked upload session.
+     *
+     * @param string $uploadId
+     *     The unique identifier for the chunked upload session.  This is obtained via
+     *     {@link chunkedUploadStart}.
+     *
+     * @param int $byteOffset
+     *     The number of bytes you think you've already uploaded to the given chunked upload
+     *     session.  The server will append the new chunk of data after that point.
+     *
+     * @param string $data
+     *     The data to append to the existing chunked upload session.
+     *
+     * @return int|bool
+     *     If <code>false</code>, it means the server didn't know about the given
+     *     <code>$uploadId</code>.  This may be because the chunked upload session has expired
+     *     (they last around 24 hours).
+     *     If <code>true</code>, the chunk was successfully uploaded.  If an integer, it means
+     *     you and the server don't agree on the current <code>$byteOffset</code>.  The returned
+     *     integer is the server's internal byte offset for the chunked upload session.  You need
+     *     to adjust your input to match.
+     *
+     * @throws Exception
+     */
+    function chunkedUploadContinue($uploadId, $byteOffset, $data)
+    {
+        Checker::argStringNonEmpty("uploadId", $uploadId);
+        Checker::argNat("byteOffset", $byteOffset);
+        Checker::argString("data", $data);
+
+        $response = $this->_chunkedUpload(
+            array("upload_id" => $uploadId, "offset" => $byteOffset), $data);
+
+        if ($response->statusCode === 404) {
+            // The server doesn't know our upload ID.  Maybe it expired?
+            return false;
+        }
+
+        $correction = self::_chunkedUploadCheckForOffsetCorrection($response);
+        if ($correction !== null) {
+            list($correctedUploadId, $correctedByteOffset) = $correction;
+            if ($correctedUploadId !== $uploadId) throw new Exception_BadResponse(
+                "Corrective 400 upload_id mismatch: us=".
+                self::q($uploadId)." server=".self::q($correctedUploadId));
+            if ($correctedByteOffset === $byteOffset) throw new Exception_BadResponse(
+                "Corrective 400 offset is the same as ours: $byteOffset");
+            return $correctedByteOffset;
+        }
+
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+        list($retUploadId, $retByteOffset) = self::_chunkedUploadParse200Response($response->body);
+
+        $nextByteOffset = $byteOffset + strlen($data);
+        if ($uploadId !== $retUploadId) throw new Exception_BadResponse(
+                "upload_id mismatch: us=".self::q($uploadId).", server=".self::q($uploadId));
+        if ($nextByteOffset !== $retByteOffset) throw new Exception_BadResponse(
+                "next-offset mismatch: us=$nextByteOffset, server=$retByteOffset");
+
+        return true;
+    }
+
+    /**
+     * @param string $body
+     * @return array
+     */
+    private static function _chunkedUploadParse200Response($body)
+    {
+        $j = RequestUtil::parseResponseJson($body);
+        $uploadId = self::getField($j, "upload_id");
+        $byteOffset = self::getField($j, "offset");
+        return array($uploadId, $byteOffset);
+    }
+
+    /**
+     * @param HttpResponse $response
+     * @return array|null
+     */
+    private static function _chunkedUploadCheckForOffsetCorrection($response)
+    {
+        if ($response->statusCode !== 400) return null;
+        $j = json_decode($response->body, true);
+        if ($j === null) return null;
+        if (!array_key_exists("upload_id", $j) || !array_key_exists("offset", $j)) return null;
+        $uploadId = $j["upload_id"];
+        $byteOffset = $j["offset"];
+        return array($uploadId, $byteOffset);
+    }
+
+    /**
+     * Creates a file on Dropbox using the accumulated contents of the given chunked upload session.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#commit-chunked-upload">/commit_chunked_upload</a>.
+     *
+     * @param string $uploadId
+     *     The unique identifier for the chunked upload session.  This is obtained via
+     *     {@link chunkedUploadStart}.
+     *
+     * @param string $path
+     *    The Dropbox path to save the file to ($path).
+     *
+     * @param WriteMode $writeMode
+     *    What to do if there's already a file at the given path.
+     *
+     * @return array|null
+     *    If <code>null</code>, it means the Dropbox server wasn't aware of the
+     *    <code>$uploadId</code> you gave it.
+     *    Otherwise, you get back the
+     *    <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata object</a>
+     *    for the newly-created file.
+     *
+     * @throws Exception
+     */
+    function chunkedUploadFinish($uploadId, $path, $writeMode)
+    {
+        Checker::argStringNonEmpty("uploadId", $uploadId);
+        Path::checkArgNonRoot("path", $path);
+        WriteMode::checkArg("writeMode", $writeMode);
+
+        $params = array_merge(array("upload_id" => $uploadId), $writeMode->getExtraParams());
+
+        $response = $this->doPost(
+            $this->contentHost,
+            $this->appendFilePath("1/commit_chunked_upload", $path),
+            $params);
+
+        if ($response->statusCode === 404) return null;
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        return RequestUtil::parseResponseJson($response->body);
+    }
+
+    /**
+     * @param array $params
+     * @param string $data
+     * @return HttpResponse
+     */
+    protected function _chunkedUpload($params, $data)
+        // Marked 'protected' so I can override it in testing.
+    {
+        $url = $this->buildUrlForGetOrPut(
+            $this->contentHost, "1/chunked_upload", $params);
+
+        $curl = $this->mkCurl($url);
+
+        // We can't use CURLOPT_PUT because it wants a stream, but we already have $data in memory.
+        $curl->set(CURLOPT_CUSTOMREQUEST, "PUT");
+        $curl->set(CURLOPT_POSTFIELDS, $data);
+        $curl->addHeader("Content-Type: application/octet-stream");
+
+        $curl->set(CURLOPT_RETURNTRANSFER, true);
+        return $curl->exec();
+    }
+
+    /**
+     * Returns the metadata for whatever file or folder is at the given path.
+     *
+     * <code>
+     * $client = ...;
+     * $md = $client->getMetadata("/Photos/Frog.jpeg");
+     * print_r($md);
+     * </code>
+     *
+     * @param string $path
+     *    The Dropbox path to a file or folder (UTF-8).
+     *
+     * @return array|null
+     *    If there is a file or folder at the given path, you'll get back the
+     *    <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata object</a>
+     *    for that file or folder.  If not, you'll get back <code>null</code>.
+     *
+     * @throws Exception
+     */
+    function getMetadata($path)
+    {
+        Path::checkArg("path", $path);
+
+        return $this->_getMetadata($path, array("list" => "false"));
+    }
+
+    /**
+     * Returns the metadata for whatever file or folder is at the given path and, if it's a folder,
+     * also include the metadata for all the immediate children of that folder.
+     *
+     * <code>
+     * $client = ...;
+     * $md = $client->getMetadataWithChildren("/Photos");
+     * print_r($md);
+     * </code>
+     *
+     * @param string $path
+     *    The Dropbox path to a file or folder (UTF-8).
+     *
+     * @return array|null
+     *    If there is a file or folder at the given path, you'll get back the
+     *    <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata object</a>
+     *    for that file or folder, along with all immediate children if it's a folder.  If not,
+     *    you'll get back <code>null</code>.
+     *
+     * @throws Exception
+     */
+    function getMetadataWithChildren($path)
+    {
+        Path::checkArg("path", $path);
+
+        return $this->_getMetadata($path, array("list" => "true", "file_limit" => "25000"));
+    }
+
+    /**
+     * @param string $path
+     * @param array $params
+     * @return array
+     */
+    private function _getMetadata($path, $params)
+    {
+        $response = $this->doGet(
+            $this->apiHost,
+            $this->appendFilePath("1/metadata", $path),
+            $params);
+
+        if ($response->statusCode === 404) return null;
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        $metadata = RequestUtil::parseResponseJson($response->body);
+        if (array_key_exists("is_deleted", $metadata) && $metadata["is_deleted"]) return null;
+        return $metadata;
+    }
+
+    /**
+     * If you've previously retrieved the metadata for a folder and its children, this method will
+     * retrieve updated metadata only if something has changed.  This is more efficient than
+     * calling {@link getMetadataWithChildren} if you have a cache of previous results.
+     *
+     * <code>
+     * $client = ...;
+     * $md = $client->getMetadataWithChildren("/Photos");
+     * print_r($md);
+     * assert($md["is_dir"], "expecting \"/Photos\" to be a folder");
+     *
+     * sleep(10);
+     *
+     * // Now see if anything changed...
+     * list($changed, $new_md) = $client->getMetadataWithChildrenIfChanged(
+     *                                    "/Photos", $md["hash"]);
+     * if ($changed) {
+     *     echo "Folder changed.\n";
+     *     print_r($new_md);
+     * } else {
+     *     echo "Folder didn't change.\n";
+     * }
+     * </code>
+     *
+     * @param string $path
+     *    The Dropbox path to a folder (UTF-8).
+     *
+     * @param string $previousFolderHash
+     *    The "hash" field from the previously retrieved folder metadata.
+     *
+     * @return array
+     *    A <code>list(boolean $changed, array $metadata)</code>.  If the metadata hasn't changed,
+     *    you'll get <code>list(false, null)</code>.  If the metadata of the folder or any of its
+     *    children has changed, you'll get <code>list(true, $newMetadata)</code>.  $metadata is a
+     *    <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata object</a>.
+     *
+     * @throws Exception
+     */
+    function getMetadataWithChildrenIfChanged($path, $previousFolderHash)
+    {
+        Path::checkArg("path", $path);
+        Checker::argStringNonEmpty("previousFolderHash", $previousFolderHash);
+
+        $params = array("list" => "true", "file_limit" => "25000", "hash" => $previousFolderHash);
+
+        $response = $this->doGet(
+            $this->apiHost,
+            $this->appendFilePath("1/metadata", $path),
+            $params);
+
+        if ($response->statusCode === 304) return array(false, null);
+        if ($response->statusCode === 404) return array(true, null);
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        $metadata = RequestUtil::parseResponseJson($response->body);
+        if (array_key_exists("is_deleted", $metadata) && $metadata["is_deleted"]) {
+            return array(true, null);
+        }
+        return array(true, $metadata);
+    }
+
+    /**
+     * A way of letting you keep up with changes to files and folders in a user's Dropbox.
+     *
+     * @param string|null $cursor
+     *    If this is the first time you're calling this, pass in <code>null</code>.  Otherwise,
+     *    pass in whatever cursor was returned by the previous call.
+     *
+     * @param string|null $pathPrefix
+     *    If <code>null</code>, you'll get results for the entire folder (either the user's
+     *    entire Dropbox or your App Folder).  If you set <code>$path_prefix</code> to
+     *    "/Photos/Vacation", you'll only get results for that path and any files and folders
+     *    under it.
+     *
+     * @return array
+     *    A <a href="https://www.dropbox.com/developers/core/docs#delta">delta page</a>, which
+     *    contains a list of changes to apply along with a new "cursor" that should be passed into
+     *    future <code>getDelta</code> calls.  If the "reset" field is <code>true</code>, you
+     *    should clear your local state before applying the changes.  If the "has_more" field is
+     *    <code>true</code>, call <code>getDelta</code> immediately to get more results, otherwise
+     *    wait a while (at least 5 minutes) before calling <code>getDelta</code> again.
+     *
+     * @throws Exception
+     */
+    function getDelta($cursor = null, $pathPrefix = null)
+    {
+        Checker::argStringNonEmptyOrNull("cursor", $cursor);
+        Path::checkArgOrNull("pathPrefix", $pathPrefix);
+
+        $response = $this->doPost($this->apiHost, "1/delta", array(
+            "cursor" => $cursor,
+            "path_prefix" => $pathPrefix));
+
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        return RequestUtil::parseResponseJson($response->body);
+    }
+
+    /**
+     * Gets the metadata for all the file revisions (up to a limit) for a given path.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#revisions">/revisions</a>.
+     *
+     * @param string path
+     *    The Dropbox path that you want file revision metadata for (UTF-8).
+     *
+     * @param int|null limit
+     *    The maximum number of revisions to return.
+     *
+     * @return array|null
+     *    A list of <a href="https://www.dropbox.com/developers/core/docs#metadata-details>metadata
+     *    objects</a>, one for each file revision.  The later revisions appear first in the list.
+     *    If <code>null</code>, then there were too many revisions at that path.
+     *
+     * @throws Exception
+     */
+    function getRevisions($path, $limit = null)
+    {
+        Path::checkArgNonRoot("path", $path);
+        Checker::argIntPositiveOrNull("limit", $limit);
+
+        $response = $this->doGet(
+            $this->apiHost,
+            $this->appendFilePath("1/revisions", $path),
+            array("rev_limit" => $limit));
+
+        if ($response->statusCode === 406) return null;
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        return RequestUtil::parseResponseJson($response->body);
+    }
+
+    /**
+     * Takes a copy of the file at the given revision and saves it over the current copy.  This
+     * will create a new revision, but the file contents will match the revision you specified.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#restore">/restore</a>.
+     *
+     * @param string $path
+     *    The Dropbox path of the file to restore (UTF-8).
+     *
+     * @param string $rev
+     *    The revision to restore the contents to.
+     *
+     * @return mixed
+     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata
+     *    object</a>
+     *
+     * @throws Exception
+     */
+    function restoreFile($path, $rev)
+    {
+        Path::checkArgNonRoot("path", $path);
+        Checker::argStringNonEmpty("rev", $rev);
+
+        $response = $this->doPost(
+            $this->apiHost,
+            $this->appendFilePath("1/restore", $path),
+            array("rev" => $rev));
+
+        if ($response->statusCode === 404) return null;
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        return RequestUtil::parseResponseJson($response->body);
+    }
+
+    /**
+     * Returns metadata for all files and folders whose filename matches the query string.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#search">/search</a>.
+     *
+     * @param string $basePath
+     *    The path to limit the search to (UTF-8).  Pass in "/" to search everything.
+     *
+     * @param string $query
+     *    A space-separated list of substrings to search for.  A file matches only if it contains
+     *    all the substrings.
+     *
+     * @param int|null $limit
+     *    The maximum number of results to return.
+     *
+     * @param bool $includeDeleted
+     *    Whether to include deleted files in the results.
+     *
+     * @return mixed
+     *    A list of <a href="https://www.dropbox.com/developers/core/docs#metadata-details>metadata
+     *    objects</a> of files that match the search query.
+     *
+     * @throws Exception
+     */
+    function searchFileNames($basePath, $query, $limit = null, $includeDeleted = false)
+    {
+        Path::checkArg("basePath", $basePath);
+        Checker::argStringNonEmpty("query", $query);
+        Checker::argNatOrNull("limit", $limit);
+        Checker::argBool("includeDeleted", $includeDeleted);
+
+        $response = $this->doPost(
+            $this->apiHost,
+            $this->appendFilePath("1/search", $basePath),
+            array(
+                "query" => $query,
+                "file_limit" => $limit,
+                "include_deleted" => $includeDeleted,
+            ));
+
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        return RequestUtil::parseResponseJson($response->body);
+    }
+
+    /**
+     * Creates and returns a public link to a file or folder's "preview page".  This link can be
+     * used without authentication.  The preview page may contain a thumbnail or some other
+     * preview of the file, along with a download link to download the actual file.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#shares">/shares</a>.
+     *
+     * @param string $path
+     *    The Dropbox path to the file or folder you want to create a shareable link to (UTF-8).
+     *
+     * @return string
+     *    The URL of the preview page.
+     *
+     * @throws Exception
+     */
+    function createShareableLink($path)
+    {
+        Path::checkArg("path", $path);
+
+        $response = $this->doPost(
+            $this->apiHost,
+            $this->appendFilePath("1/shares", $path),
+            array(
+                "short_url" => "false",
+            ));
+
+        if ($response->statusCode === 404) return null;
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        $j = RequestUtil::parseResponseJson($response->body);
+        return self::getField($j, "url");
+    }
+
+    /**
+     * Creates and returns a direct link to a file.  This link can be used without authentication.
+     * This link will expire in a few hours.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#media">/media</a>.
+     *
+     * @param string $path
+     *    The Dropbox path to a file or folder (UTF-8).
+     *
+     * @return array
+     *    A <code>list(string $url, \DateTime $expires)</code> where <code>$url</code> is a direct
+     *    link to the requested file and <code>$expires</code> is a standard PHP
+     *    <code>\DateTime</code> representing when <code>$url</code> will stop working.
+     *
+     * @throws Exception
+     */
+    function createTemporaryDirectLink($path)
+    {
+        Path::checkArgNonRoot("path", $path);
+
+        $response = $this->doPost(
+            $this->apiHost,
+            $this->appendFilePath("1/media", $path));
+
+        if ($response->statusCode === 404) return null;
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        $j = RequestUtil::parseResponseJson($response->body);
+        $url = self::getField($j, "url");
+        $expires = self::parseDateTime(self::getField($j, "expires"));
+        return array($url, $expires);
+    }
+
+    /**
+     * Creates and returns a "copy ref" to a file.  A copy ref can be used to copy a file across
+     * different Dropbox accounts without downloading and re-uploading.
+     *
+     * For example: Create a <code>Client</code> using the access token from one account and call
+     * <code>createCopyRef</code>.  Then, create a <code>Client</code> using the access token for
+     * another account and call <code>copyFromCopyRef</code> using the copy ref.  (You need to use
+     * the same app key both times.)
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#copy_ref">/copy_ref</a>.
+     *
+     * @param string path
+     *    The Dropbox path of the file or folder you want to create a copy ref for (UTF-8).
+     *
+     * @return string
+     *    The copy ref (just a string that you keep track of).
+     *
+     * @throws Exception
+     */
+    function createCopyRef($path)
+    {
+        Path::checkArg("path", $path);
+
+        $response = $this->doGet(
+            $this->apiHost,
+            $this->appendFilePath("1/copy_ref", $path));
+
+        if ($response->statusCode === 404) return null;
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        $j = RequestUtil::parseResponseJson($response->body);
+        return self::getField($j, "copy_ref");
+    }
+
+    /**
+     * Gets a thumbnail image representation of the file at the given path.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#thumbnails">/thumbnails</a>.
+     *
+     * @param string $path
+     *    The path to the file you want a thumbnail for (UTF-8).
+     *
+     * @param string $format
+     *    One of the two image formats: "jpeg" or "png".
+     *
+     * @param string $size
+     *    One of the predefined image size names, as a string:
+     *    <ul>
+     *    <li>"xs" - 32x32</li>
+     *    <li>"s" - 64x64</li>
+     *    <li>"m" - 128x128</li>
+     *    <li>"l" - 640x480</li>
+     *    <li>"xl" - 1024x768</li>
+     *    </ul>
+     *
+     * @return array|null
+     *    If the file exists, you'll get <code>list(array $metadata, string $data)</code> where
+     *    <code>$metadata</code> is the file's
+     *    <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata object</a>
+     *    and $data is the raw data for the thumbnail image.  If the file doesn't exist, you'll
+     *    get <code>null</code>.
+     *
+     * @throws Exception
+     */
+    function getThumbnail($path, $format, $size)
+    {
+        Path::checkArgNonRoot("path", $path);
+        Checker::argString("format", $format);
+        Checker::argString("size", $size);
+        if (!in_array($format, array("jpeg", "png"))) {
+            throw new \InvalidArgumentException("Invalid 'format': ".self::q($format));
+        }
+        if (!in_array($size, array("xs", "s", "m", "l", "xl"))) {
+            throw new \InvalidArgumentException("Invalid 'size': ".self::q($format));
+        }
+
+        $url = $this->buildUrlForGetOrPut(
+            $this->contentHost,
+            $this->appendFilePath("1/thumbnails", $path),
+            array("size" => $size, "format" => $format));
+
+        $curl = $this->mkCurl($url);
+        $metadataCatcher = new DropboxMetadataHeaderCatcher($curl->handle);
+
+        $curl->set(CURLOPT_RETURNTRANSFER, true);
+        $response = $curl->exec();
+
+        if ($response->statusCode === 404) return null;
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        $metadata = $metadataCatcher->getMetadata();
+        return array($metadata, $response->body);
+    }
+
+    /**
+     * Copies a file or folder to a new location
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#fileops-copy">/fileops/copy</a>.
+     *
+     * @param string $fromPath
+     *    The Dropbox path of the file or folder you want to copy (UTF-8).
+     *
+     * @param string $toPath
+     *    The destination Dropbox path (UTF-8).
+     *
+     * @return mixed
+     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata
+     *    object</a> for the new file or folder.
+     *
+     * @throws Exception
+     */
+    function copy($fromPath, $toPath)
+    {
+        Path::checkArg("fromPath", $fromPath);
+        Path::checkArgNonRoot("toPath", $toPath);
+
+        $response = $this->doPost(
+            $this->apiHost,
+            "1/fileops/copy",
+            array(
+                "root" => "auto",
+                "from_path" => $fromPath,
+                "to_path" => $toPath,
+            ));
+
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        return RequestUtil::parseResponseJson($response->body);
+    }
+
+    /**
+     * Creates a file or folder based on an existing copy ref (possibly from a different Dropbox
+     * account).
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#fileops-copy">/fileops/copy</a>.
+     *
+     * @param string $copyRef
+     *    A copy ref obtained via the {@link createCopyRef()} call.
+     *
+     * @param string $toPath
+     *    The Dropbox path you want to copy the file or folder to (UTF-8).
+     *
+     * @return mixed
+     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata
+     *    object</a> for the new file or folder.
+     *
+     * @throws Exception
+     */
+    function copyFromCopyRef($copyRef, $toPath)
+    {
+        Checker::argStringNonEmpty("copyRef", $copyRef);
+        Path::checkArgNonRoot("toPath", $toPath);
+
+        $response = $this->doPost(
+            $this->apiHost,
+            "1/fileops/copy",
+            array(
+                "root" => "auto",
+                "from_copy_ref" => $copyRef,
+                "to_path" => $toPath,
+            )
+        );
+
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        return RequestUtil::parseResponseJson($response->body);
+    }
+
+    /**
+     * Creates a folder.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#fileops-create-folder">/fileops/create_folder</a>.
+     *
+     * @param string $path
+     *    The Dropbox path at which to create the folder (UTF-8).
+     *
+     * @return array|null
+     *    If successful, you'll get back the
+     *    <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata object</a>
+     *    for the newly-created folder.  If not successful, you'll get <code>null</code>.
+     *
+     * @throws Exception
+     */
+    function createFolder($path)
+    {
+        Path::checkArgNonRoot("path", $path);
+
+        $response = $this->doPost(
+            $this->apiHost,
+            "1/fileops/create_folder",
+            array(
+                "root" => "auto",
+                "path" => $path,
+            ));
+
+        if ($response->statusCode === 403) return null;
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        return RequestUtil::parseResponseJson($response->body);
+    }
+
+    /**
+     * Deletes a file or folder
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#fileops-delete">/fileops/delete</a>.
+     *
+     * @param string $path
+     *    The Dropbox path of the file or folder to delete (UTF-8).
+     *
+     * @return mixed
+     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata
+     *    object</a> for the deleted file or folder.
+     *
+     * @throws Exception
+     */
+    function delete($path)
+    {
+        Path::checkArgNonRoot("path", $path);
+
+        $response = $this->doPost(
+            $this->apiHost,
+            "1/fileops/delete",
+            array(
+                "root" => "auto",
+                "path" => $path,
+            ));
+
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        return RequestUtil::parseResponseJson($response->body);
+    }
+
+    /**
+     * Moves a file or folder to a new location.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#fileops-move">/fileops/move</a>.
+     *
+     * @param string $fromPath
+     *    The source Dropbox path (UTF-8).
+     *
+     * @param string $toPath
+     *    The destination Dropbox path (UTF-8).
+     *
+     * @return mixed
+     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata
+     *    object</a> for the destination file or folder.
+     *
+     * @throws Exception
+     */
+    function move($fromPath, $toPath)
+    {
+        Path::checkArgNonRoot("fromPath", $fromPath);
+        Path::checkArgNonRoot("toPath", $toPath);
+
+        $response = $this->doPost(
+            $this->apiHost,
+            "1/fileops/move",
+            array(
+                "root" => "auto",
+                "from_path" => $fromPath,
+                "to_path" => $toPath,
+            ));
+
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        return RequestUtil::parseResponseJson($response->body);
+    }
+
+    /**
+     * Build a URL for making a GET or PUT request.  Will add the "locale"
+     * parameter.
+     *
+     * @param string $host
+     *    Either the "API" or "API content" hostname from {@link getHost()}.
+     * @param string $path
+     *    The "path" part of the URL.  For example, "/account/info".
+     * @param array|null $params
+     *    URL parameters.  For POST requests, do not put the parameters here.
+     *    Include them in the request body instead.
+     *
+     * @return string
+     */
+    function buildUrlForGetOrPut($host, $path, $params = null)
+    {
+        return RequestUtil::buildUrlForGetOrPut($this->userLocale, $host, $path, $params);
+    }
+
+    /**
+     * Perform an OAuth-2-authorized GET request to the Dropbox API.  Will automatically
+     * fill in "User-Agent" and "locale" as well.
+     *
+     * @param string $host
+     *    Either the "API" or "API content" hostname from {@link getHost()}.
+     * @param string $path
+     *    The "path" part of the URL.  For example, "/account/info".
+     * @param array|null $params
+     *    GET parameters.
+     * @return HttpResponse
+     *
+     * @throws Exception
+     */
+    function doGet($host, $path, $params = null)
+    {
+        Checker::argString("host", $host);
+        Checker::argString("path", $path);
+        return RequestUtil::doGet($this->clientIdentifier, $this->accessToken, $this->userLocale,
+                                  $host, $path, $params);
+    }
+
+    /**
+     * Perform an OAuth-2-authorized POST request to the Dropbox API.  Will automatically
+     * fill in "User-Agent" and "locale" as well.
+     *
+     * @param string $host
+     *    Either the "API" or "API content" hostname from {@link getHost()}.
+     * @param string $path
+     *    The "path" part of the URL.  For example, "/commit_chunked_upload".
+     * @param array|null $params
+     *    POST parameters.
+     * @return HttpResponse
+     *
+     * @throws Exception
+     */
+    function doPost($host, $path, $params = null)
+    {
+        Checker::argString("host", $host);
+        Checker::argString("path", $path);
+        return RequestUtil::doPost($this->clientIdentifier, $this->accessToken, $this->userLocale,
+                                   $host, $path, $params);
+    }
+
+    /**
+     * Create a {@link Curl} object that is pre-configured with {@link getClientIdentifier()},
+     * and the proper OAuth 2 "Authorization" header.
+     *
+     * @param string $url
+     *    Generate this URL using {@link buildUrl()}.
+     *
+     * @return Curl
+     */
+    function mkCurl($url)
+    {
+        return RequestUtil::mkCurlWithOAuth($this->clientIdentifier, $url, $this->accessToken);
+    }
+
+    /**
+     * Parses date/time strings returned by the Dropbox API.  The Dropbox API returns date/times
+     * formatted like: <code>"Sat, 21 Aug 2010 22:31:20 +0000"</code>.
+     *
+     * @param string $apiDateTimeString
+     *    A date/time string returned by the API.
+     *
+     * @return \DateTime
+     *    A standard PHP <code>\DateTime</code> instance.
+     *
+     * @throws Exception_BadResponse
+     *    Thrown if <code>$apiDateTimeString</code> isn't correctly formatted.
+     */
+    static function parseDateTime($apiDateTimeString)
+    {
+        $dt = \DateTime::createFromFormat(self::$dateTimeFormat, $apiDateTimeString);
+        if ($dt === false) throw new Exception_BadResponse(
+            "Bad date/time from server: ".self::q($apiDateTimeString));
+        return $dt;
+    }
+
+    private static $dateTimeFormat = "D, d M Y H:i:s T";
+
+    /**
+     * @internal
+     */
+    static function q($object) { return var_export($object, true); }
+
+    /**
+     * @internal
+     */
+    static function getField($j, $fieldName)
+    {
+        if (!array_key_exists($fieldName, $j)) throw new Exception_BadResponse(
+            "missing field \"$fieldName\" in ".self::q($j));
+        return $j[$fieldName];
+    }
+
+    /**
+     * Given an OAuth 2 access token, returns <code>null</code> if it is well-formed (though
+     * not necessarily valid).  Otherwise, returns a string describing what's wrong with it.
+     *
+     * @param string $s
+     *
+     * @return string
+     */
+    static function getAccessTokenError($s)
+    {
+        if ($s === null) return "can't be null";
+        if (strlen($s) === 0) return "can't be empty";
+        if (preg_match('@[^-=_~/A-Za-z0-9\.\+]@', $s) === 1) return "contains invalid character";
+        return null;
+    }
+
+    /**
+     * @internal
+     */
+    static function checkAccessTokenArg($argName, $accessToken)
+    {
+        $error = self::getAccessTokenError($accessToken);
+        if ($error !== null) throw new \InvalidArgumentException("'$argName' invalid: $error");
+    }
+
+    /**
+     * @internal
+     */
+    static function getClientIdentifierError($s)
+    {
+        if ($s === null) return "can't be null";
+        if (strlen($s) === 0) return "can't be empty";
+        if (preg_match('@[\x00-\x1f\x7f]@', $s) === 1) return "contains control character";
+        return null;
+    }
+
+    /**
+     * @internal
+     */
+    static function checkClientIdentifierArg($argName, $accessToken)
+    {
+        $error = self::getClientIdentifierError($accessToken);
+        if ($error !== null) throw new \InvalidArgumentException("'$argName' invalid: $error");
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/Curl.php b/lib/dropbox-sdk/Dropbox/Curl.php
new file mode 100644
index 0000000..eaa0131
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/Curl.php
@@ -0,0 +1,122 @@
+<?php
+namespace Dropbox;
+
+/**
+ * A minimal wrapper around a cURL handle.
+ *
+ * @internal
+ */
+final class Curl
+{
+    /** @var resource */
+    public $handle;
+
+    /** @var string[] */
+    private $headers = array();
+
+    /**
+     * @param string $url
+     */
+    function __construct($url)
+    {
+        // Make sure there aren't any spaces in the URL (i.e. the caller forgot to URL-encode).
+        if (strpos($url, ' ') !== false) {
+            throw new \InvalidArgumentException("Found space in \$url; it should be encoded");
+        }
+
+        $this->handle = curl_init($url);
+
+        // NOTE: Though we turn on all the correct SSL settings, many PHP installations
+        // don't respect these settings.  Run "examples/test-ssl.php" to run some basic
+        // SSL tests to see how well your PHP implementation behaves.
+
+        // Force SSL and use our own certificate list.
+        $this->set(CURLOPT_SSL_VERIFYPEER, true);   // Enforce certificate validation
+        $this->set(CURLOPT_SSL_VERIFYHOST, 2);      // Enforce hostname validation
+        $this->set(CURLOPT_SSLVERSION, 1);          // Enforce TLS
+
+        // Limit the set of ciphersuites used.
+        global $sslCiphersuiteList;
+        if ($sslCiphersuiteList !== null) {
+            $this->set(CURLOPT_SSL_CIPHER_LIST, $sslCiphersuiteList);
+        }
+
+        // Certificate file.
+        $this->set(CURLOPT_CAINFO, __DIR__.'/certs/trusted-certs.crt');
+        // Certificate folder.  If not specified, some PHP installations will use
+        // the system default, even when CURLOPT_CAINFO is specified.
+        $this->set(CURLOPT_CAPATH, __DIR__.'/certs/');
+
+        // Limit vulnerability surface area.  Supported in cURL 7.19.4+
+        if (defined('CURLOPT_PROTOCOLS')) $this->set(CURLOPT_PROTOCOLS, CURLPROTO_HTTPS);
+        if (defined('CURLOPT_REDIR_PROTOCOLS')) $this->set(CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTPS);
+    }
+
+    /**
+     * @param string $header
+     */
+    function addHeader($header)
+    {
+        $this->headers[] = $header;
+    }
+
+    function exec()
+    {
+        $this->set(CURLOPT_HTTPHEADER, $this->headers);
+
+        $body = curl_exec($this->handle);
+        if ($body === false) {
+            throw new Exception_NetworkIO("Error executing HTTP request: " . curl_error($this->handle));
+        }
+
+        $statusCode = curl_getinfo($this->handle, CURLINFO_HTTP_CODE);
+
+        return new HttpResponse($statusCode, $body);
+    }
+
+    /**
+     * @param int $option
+     * @param mixed $value
+     */
+    function set($option, $value)
+    {
+        curl_setopt($this->handle, $option, $value);
+    }
+
+    function __destruct()
+    {
+        curl_close($this->handle);
+    }
+}
+
+// Different cURL SSL backends use different names for ciphersuites.
+$curlVersion = \curl_version();
+$curlSslBackend = $curlVersion['ssl_version'];
+if (\substr_compare($curlSslBackend, "NSS/", 0, strlen("NSS/")) === 0) {
+    // Can't figure out how to reliably set ciphersuites for NSS.
+    $sslCiphersuiteList = null;
+}
+else {
+    // Use the OpenSSL names for all other backends.  We may have to
+    // refine this if users report errors.
+    $sslCiphersuiteList =
+        'ECDHE-RSA-AES256-GCM-SHA384:'.
+        'ECDHE-RSA-AES128-GCM-SHA256:'.
+        'ECDHE-RSA-AES256-SHA384:'.
+        'ECDHE-RSA-AES128-SHA256:'.
+        'ECDHE-RSA-AES256-SHA:'.
+        'ECDHE-RSA-AES128-SHA:'.
+        'ECDHE-RSA-RC4-SHA:'.
+        'DHE-RSA-AES256-GCM-SHA384:'.
+        'DHE-RSA-AES128-GCM-SHA256:'.
+        'DHE-RSA-AES256-SHA256:'.
+        'DHE-RSA-AES128-SHA256:'.
+        'DHE-RSA-AES256-SHA:'.
+        'DHE-RSA-AES128-SHA:'.
+        'AES256-GCM-SHA384:'.
+        'AES128-GCM-SHA256:'.
+        'AES256-SHA256:'.
+        'AES128-SHA256:'.
+        'AES256-SHA:'.
+        'AES128-SHA';
+}
diff --git a/lib/dropbox-sdk/Dropbox/CurlStreamRelay.php b/lib/dropbox-sdk/Dropbox/CurlStreamRelay.php
new file mode 100644
index 0000000..6b3e351
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/CurlStreamRelay.php
@@ -0,0 +1,46 @@
+<?php
+namespace Dropbox;
+
+/**
+ * A CURLOPT_WRITEFUNCTION that will write HTTP response data to $outStream if
+ * it's an HTTP 200 response.  For all other HTTP status codes, it'll save the
+ * output in a string, which you can retrieve it via {@link getErrorBody}.
+ *
+ * @internal
+ */
+class CurlStreamRelay
+{
+    var $outStream;
+    var $errorData;
+    var $isError;
+
+    function __construct($ch, $outStream)
+    {
+        $this->outStream = $outStream;
+        $this->errorData = array();
+        $isError = null;
+        curl_setopt($ch, CURLOPT_WRITEFUNCTION, array($this, 'writeData'));
+    }
+
+    function writeData($ch, $data)
+    {
+        if ($this->isError === null) {
+            $statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
+            $this->isError = ($statusCode !== 200);
+        }
+
+        if ($this->isError) {
+            $this->errorData[] = $data;
+        } else {
+            fwrite($this->outStream, $data);
+        }
+
+        return strlen($data);
+    }
+
+    function getErrorBody()
+    {
+        return implode($this->errorData);
+    }
+}
+
diff --git a/lib/dropbox-sdk/Dropbox/DeserializeException.php b/lib/dropbox-sdk/Dropbox/DeserializeException.php
new file mode 100644
index 0000000..bb2fa23
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/DeserializeException.php
@@ -0,0 +1,19 @@
+<?php
+namespace Dropbox;
+
+/**
+ * If, when loading a serialized {@link RequestToken} or {@link AccessToken}, the input string is
+ * malformed, this exception will be thrown.
+ */
+final class DeserializeException extends \Exception
+{
+    /**
+     * @param string $message
+     *
+     * @internal
+     */
+    function __construct($message)
+    {
+        parent::__construct($message);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/DropboxMetadataHeaderCatcher.php b/lib/dropbox-sdk/Dropbox/DropboxMetadataHeaderCatcher.php
new file mode 100644
index 0000000..722ac79
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/DropboxMetadataHeaderCatcher.php
@@ -0,0 +1,83 @@
+<?php
+namespace Dropbox;
+
+/**
+ * @internal
+ */
+final class DropboxMetadataHeaderCatcher
+{
+    /**
+     * @var mixed
+     */
+    var $metadata = null;
+
+    /**
+     * @var string
+     */
+    var $error = null;
+
+    /**
+     * @var bool
+     */
+    var $skippedFirstLine = false;
+
+    /**
+     * @param resource $ch
+     */
+    function __construct($ch)
+    {
+        curl_setopt($ch, CURLOPT_HEADERFUNCTION, array($this, 'headerFunction'));
+    }
+
+    /**
+     * @param resource $ch
+     * @param string $header
+     * @return int
+     * @throws Exception_BadResponse
+     */
+    function headerFunction($ch, $header)
+    {
+        // The first line is the HTTP status line (Ex: "HTTP/1.1 200 OK").
+        if (!$this->skippedFirstLine) {
+            $this->skippedFirstLine = true;
+            return strlen($header);
+        }
+
+        // If we've encountered an error on a previous callback, then there's nothing left to do.
+        if ($this->error !== null) {
+            return strlen($header);
+        }
+
+        // case-insensitive starts-with check.
+        if (\substr_compare($header, "x-dropbox-metadata:", 0, 19, true) !== 0) {
+            return strlen($header);
+        }
+
+        if ($this->metadata !== null) {
+            $this->error = "Duplicate X-Dropbox-Metadata header";
+            return strlen($header);
+        }
+
+        $headerValue = substr($header, 19);
+        $parsed = json_decode($headerValue, true, 10);
+
+        if ($parsed === null) {
+            $this->error = "Bad JSON in X-Dropbox-Metadata header";
+            return strlen($header);
+        }
+
+        $this->metadata = $parsed;
+        return strlen($header);
+    }
+
+    function getMetadata()
+    {
+        if ($this->error !== null) {
+            throw new Exception_BadResponse($this->error);
+        }
+        if ($this->metadata === null) {
+            throw new Exception_BadResponse("Missing X-Dropbox-Metadata header");
+        }
+        return $this->metadata;
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/Exception.php b/lib/dropbox-sdk/Dropbox/Exception.php
new file mode 100644
index 0000000..fcd0b61
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/Exception.php
@@ -0,0 +1,16 @@
+<?php
+namespace Dropbox;
+
+/**
+ * The base class for all API call exceptions.
+ */
+class Exception extends \Exception
+{
+    /**
+     * @internal
+     */
+    function __construct($message, $cause = null)
+    {
+        parent::__construct($message, 0, $cause);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/Exception/BadRequest.php b/lib/dropbox-sdk/Dropbox/Exception/BadRequest.php
new file mode 100644
index 0000000..3539d4a
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/Exception/BadRequest.php
@@ -0,0 +1,17 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Thrown when the server tells us that our request was invalid.  This is typically due to an
+ * HTTP 400 response from the server.
+ */
+final class Exception_BadRequest extends Exception_ProtocolError
+{
+    /**
+     * @internal
+     */
+    function __construct($message = "")
+    {
+        parent::__construct($message);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/Exception/BadResponse.php b/lib/dropbox-sdk/Dropbox/Exception/BadResponse.php
new file mode 100644
index 0000000..406abba
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/Exception/BadResponse.php
@@ -0,0 +1,17 @@
+<?php
+namespace Dropbox;
+
+/**
+ * When this SDK can't understand the response from the server.  This could be due to a bug in this
+ * SDK or a buggy response from the Dropbox server.
+ */
+class Exception_BadResponse extends Exception_ProtocolError
+{
+    /**
+     * @internal
+     */
+    function __construct($message)
+    {
+        parent::__construct($message);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/Exception/BadResponseCode.php b/lib/dropbox-sdk/Dropbox/Exception/BadResponseCode.php
new file mode 100644
index 0000000..62f507b
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/Exception/BadResponseCode.php
@@ -0,0 +1,33 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Thrown when the the Dropbox server responds with an HTTP status code we didn't expect.
+ */
+final class Exception_BadResponseCode extends Exception_BadResponse
+{
+    /** @var int */
+    private $statusCode;
+
+    /**
+     * @param string $message
+     * @param int $statusCode
+     *
+     * @internal
+     */
+    function __construct($message, $statusCode)
+    {
+        parent::__construct($message);
+        $this->statusCode = $statusCode;
+    }
+
+    /**
+     * The HTTP status code returned by the Dropbox server.
+     *
+     * @return int
+     */
+    public function getStatusCode()
+    {
+        return $this->statusCode;
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/Exception/InvalidAccessToken.php b/lib/dropbox-sdk/Dropbox/Exception/InvalidAccessToken.php
new file mode 100644
index 0000000..bd9ac9b
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/Exception/InvalidAccessToken.php
@@ -0,0 +1,18 @@
+<?php
+namespace Dropbox;
+
+/**
+ * The Dropbox server said that the access token you used is invalid or expired.  You should
+ * probably ask the user to go through the OAuth authorization flow again to get a new access
+ * token.
+ */
+final class Exception_InvalidAccessToken extends Exception
+{
+    /**
+     * @internal
+     */
+    function __construct($message = "")
+    {
+        parent::__construct($message);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/Exception/NetworkIO.php b/lib/dropbox-sdk/Dropbox/Exception/NetworkIO.php
new file mode 100644
index 0000000..f3670ba
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/Exception/NetworkIO.php
@@ -0,0 +1,16 @@
+<?php
+namespace Dropbox;
+
+/**
+ * There was a network I/O error when making the request.
+ */
+final class Exception_NetworkIO extends Exception
+{
+    /**
+     * @internal
+     */
+    function __construct($message, $cause = null)
+    {
+        parent::__construct($message, $cause);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/Exception/ProtocolError.php b/lib/dropbox-sdk/Dropbox/Exception/ProtocolError.php
new file mode 100644
index 0000000..21072fb
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/Exception/ProtocolError.php
@@ -0,0 +1,17 @@
+<?php
+namespace Dropbox;
+
+/**
+ * There was an protocol misunderstanding between this SDK and the server.  One of us didn't
+ * understand what the other one was saying.
+ */
+class Exception_ProtocolError extends Exception
+{
+    /**
+     * @internal
+     */
+    function __construct($message)
+    {
+        parent::__construct($message);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/Exception/RetryLater.php b/lib/dropbox-sdk/Dropbox/Exception/RetryLater.php
new file mode 100644
index 0000000..3c7f5fc
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/Exception/RetryLater.php
@@ -0,0 +1,17 @@
+<?php
+namespace Dropbox;
+
+/**
+ * The Dropbox server said it couldn't fulfil our request right now, but that we should try
+ * again later.
+ */
+final class Exception_RetryLater extends Exception
+{
+    /**
+     * @internal
+     */
+    function __construct($message)
+    {
+        parent::__construct($message);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/Exception/ServerError.php b/lib/dropbox-sdk/Dropbox/Exception/ServerError.php
new file mode 100644
index 0000000..1dbfe4f
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/Exception/ServerError.php
@@ -0,0 +1,15 @@
+<?php
+namespace Dropbox;
+
+/**
+ * The Dropbox server said that there was an internal error when trying to fulfil our request.
+ * This usually corresponds to an HTTP 500 response.
+ */
+final class Exception_ServerError extends Exception
+{
+    /** @internal */
+    function __construct($message = "")
+    {
+        parent::__construct($message);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/Host.php b/lib/dropbox-sdk/Dropbox/Host.php
new file mode 100644
index 0000000..980ffb6
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/Host.php
@@ -0,0 +1,99 @@
+<?php
+namespace Dropbox;
+
+/**
+ * The Dropbox web API accesses three hosts; this structure holds the
+ * names of those three hosts.  This is primarily for mocking things out
+ * during testing.  Most of the time you won't have to deal with this class
+ * directly, and even when you do, you'll just use the default
+ * value: {@link Host::getDefault()}.
+ *
+ * @internal
+ */
+final class Host
+{
+    /**
+     * Returns a Host object configured with the three standard Dropbox host: "api.dropbox.com",
+     * "api-content.dropbox.com", and "www.dropbox.com"
+     *
+     * @return Host
+     */
+    static function getDefault()
+    {
+        if (!self::$defaultValue) {
+            self::$defaultValue = new Host("api.dropbox.com", "api-content.dropbox.com", "www.dropbox.com");
+        }
+        return self::$defaultValue;
+    }
+    private static $defaultValue;
+
+    /** @var string */
+    private $api;
+    /** @var string */
+    private $content;
+    /** @var string */
+    private $web;
+
+    /**
+     * Constructor.
+     *
+     * @param string $api
+     *     See {@link getApi()}
+     * @param string $content
+     *     See {@link getContent()}
+     * @param string $web
+     *     See {@link getWeb()}
+     */
+    function __construct($api, $content, $web)
+    {
+        $this->api = $api;
+        $this->content = $content;
+        $this->web = $web;
+    }
+
+    /**
+     * Returns the host name of the main Dropbox API server.
+     * The default is "api.dropbox.com".
+     *
+     * @return string
+     */
+    function getApi() { return $this->api; }
+
+    /**
+     * Returns the host name of the Dropbox API content server.
+     * The default is "api-content.dropbox.com".
+     *
+     * @return string
+     */
+    function getContent() { return $this->content; }
+
+    /**
+     * Returns the host name of the Dropbox web server.  Used during user authorization.
+     * The default is "www.dropbox.com".
+     *
+     * @return string
+     */
+    function getWeb() { return $this->web; }
+
+    /**
+     * Check that a function argument is of type <code>Host</code>.
+     *
+     * @internal
+     */
+    static function checkArg($argName, $argValue)
+    {
+        if (!($argValue instanceof self)) Checker::throwError($argName, $argValue, __CLASS__);
+    }
+
+    /**
+     * Check that a function argument is either <code>null</code> or of type
+     * <code>Host</code>.
+     *
+     * @internal
+     */
+    static function checkArgOrNull($argName, $argValue)
+    {
+        if ($argValue === null) return;
+        if (!($argValue instanceof self)) Checker::throwError($argName, $argValue, __CLASS__);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/HttpResponse.php b/lib/dropbox-sdk/Dropbox/HttpResponse.php
new file mode 100644
index 0000000..88bd3b3
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/HttpResponse.php
@@ -0,0 +1,17 @@
+<?php
+namespace Dropbox;
+
+/**
+ * @internal
+ */
+final class HttpResponse
+{
+    public $statusCode;
+    public $body;
+
+    function __construct($statusCode, $body)
+    {
+        $this->statusCode = $statusCode;
+        $this->body = $body;
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/OAuth1AccessToken.php b/lib/dropbox-sdk/Dropbox/OAuth1AccessToken.php
new file mode 100644
index 0000000..ac726c9
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/OAuth1AccessToken.php
@@ -0,0 +1,61 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Use with {@link OAuth1Upgrader} to convert old OAuth 1 access tokens
+ * to OAuth 2 access tokens.  This SDK doesn't support using OAuth 1
+ * access tokens for regular API calls.
+ */
+class OAuth1AccessToken
+{
+    /**
+     * The OAuth 1 access token key.
+     *
+     * @return string
+     */
+    function getKey() { return $this->key; }
+
+    /** @var string */
+    private $key;
+
+    /**
+     * The OAuth 1 access token secret.
+     *
+     * Make sure that this is kept a secret.  Someone with your app secret can impesonate your
+     * application.  People sometimes ask for help on the Dropbox API forums and
+     * copy/paste code that includes their app secret.  Do not do that.
+     *
+     * @return string
+     */
+    function getSecret() { return $this->secret; }
+
+    /** @var secret */
+    private $secret;
+
+    /**
+     * Constructor.
+     *
+     * @param string $key
+     *     {@link getKey()}
+     * @param string $secret
+     *     {@link getSecret()}
+     */
+    function __construct($key, $secret)
+    {
+        AppInfo::checkKeyArg($key);
+        AppInfo::checkSecretArg($secret);
+
+        $this->key = $key;
+        $this->secret = $secret;
+    }
+
+    /**
+     * Use this to check that a function argument is of type <code>AppInfo</code>
+     *
+     * @internal
+     */
+    static function checkArg($argName, $argValue)
+    {
+        if (!($argValue instanceof self)) Checker::throwError($argName, $argValue, __CLASS__);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/OAuth1Upgrader.php b/lib/dropbox-sdk/Dropbox/OAuth1Upgrader.php
new file mode 100644
index 0000000..9dbbd16
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/OAuth1Upgrader.php
@@ -0,0 +1,103 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Lets you convert OAuth 1 access tokens to OAuth 2 access tokens.  First call {@link
+ * OAuth1AccessTokenUpgrader::createOAuth2AccessToken()} to get an OAuth 2 access token.
+ * If that succeeds, call {@link OAuth1AccessTokenUpgrader::disableOAuth1AccessToken()}
+ * to disable the OAuth 1 access token.
+ *
+ * <code>
+ * use \Dropbox as dbx;
+ * $appInfo = dbx\AppInfo::loadFromJsonFile(...);
+ * $clientIdentifier = "my-app/1.0";
+ * $oauth1AccessToken = dbx\OAuth1AccessToken(...);
+ *
+ * $upgrader = new dbx\OAuth1AccessTokenUpgrader($appInfo, $clientIdentifier, ...);
+ * $oauth2AccessToken = $upgrader->getOAuth2AccessToken($oauth1AccessToken);
+ * $upgrader->disableOAuth1AccessToken($oauth1AccessToken);
+ * </code>
+ */
+class OAuth1Upgrader extends AuthBase
+{
+    /**
+     * Given an existing active OAuth 1 access token, make a Dropbox API call to get a new OAuth 2
+     * access token that represents the same user and app.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#oa1-from-oa1">/oauth2/token_from_oauth1</a>.
+     *
+     * @param OAuth1AccessToken $oauth1AccessToken
+     *
+     * @return string
+     *    The OAuth 2 access token.
+     *
+     * @throws Exception
+     */
+    function createOAuth2AccessToken($oauth1AccessToken)
+    {
+        OAuth1AccessToken::checkArg("oauth1AccessToken", $oauth1AccessToken);
+
+        $response = self::doPost($oauth1AccessToken, "1/oauth2/token_from_oauth1");
+
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        $parts = RequestUtil::parseResponseJson($response->body);
+
+        if (!array_key_exists('token_type', $parts) or !is_string($parts['token_type'])) {
+            throw new Exception_BadResponse("Missing \"token_type\" field.");
+        }
+        $tokenType = $parts['token_type'];
+        if (!array_key_exists('access_token', $parts) or !is_string($parts['access_token'])) {
+            throw new Exception_BadResponse("Missing \"access_token\" field.");
+        }
+        $accessToken = $parts['access_token'];
+
+        if ($tokenType !== "Bearer" && $tokenType !== "bearer") {
+            throw new Exception_BadResponse("Unknown \"token_type\"; expecting \"Bearer\", got  "
+                .Client::q($tokenType));
+        }
+
+        return $accessToken;
+    }
+
+    /**
+     * Make a Dropbox API call to disable the given OAuth 1 access token.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#disable-token">/disable_access_token</a>.
+     *
+     * @param OAuth1AccessToken $oauth1AccessToken
+     *
+     * @throws Exception
+     */
+    function disableOAuth1AccessToken($oauth1AccessToken)
+    {
+        OAuth1AccessToken::checkArg("oauth1AccessToken", $oauth1AccessToken);
+
+        $response = self::doPost($oauth1AccessToken, "1/disable_access_token");
+
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+    }
+
+    /**
+     * @param OAuth1AccessToken $oauth1AccessToken
+     * @param string $path
+     *
+     * @return HttpResponse
+     *
+     * @throws Exception
+     */
+    private function doPost($oauth1AccessToken, $path)
+    {
+        // Construct the OAuth 1 header.
+        $authHeaderValue = "OAuth oauth_signature_method=\"PLAINTEXT\""
+             . ", oauth_consumer_key=\"" . rawurlencode($this->appInfo->getKey()) . "\""
+             . ", oauth_token=\"" . rawurlencode($oauth1AccessToken->getKey()) . "\""
+             . ", oauth_signature=\"" . rawurlencode($this->appInfo->getSecret()) . "&" . rawurlencode($oauth1AccessToken->getSecret()) . "\"";
+
+        return RequestUtil::doPostWithSpecificAuth(
+            $this->clientIdentifier, $authHeaderValue, $this->userLocale,
+            $this->appInfo->getHost()->getApi(),
+            $path,
+            null);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/Path.php b/lib/dropbox-sdk/Dropbox/Path.php
new file mode 100644
index 0000000..b7797f6
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/Path.php
@@ -0,0 +1,171 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Path validation functions.
+ */
+final class Path
+{
+    /**
+     * Return whether the given path is a valid Dropbox path.
+     *
+     * @param string $path
+     *    The path you want to check for validity.
+     *
+     * @return bool
+     *    Whether the path was valid or not.
+     */
+    static function isValid($path)
+    {
+        $error = self::findError($path);
+        return ($error === null);
+    }
+
+    /**
+     * Return whether the given path is a valid non-root Dropbox path.
+     * This is the same as {@link isValid} except <code>"/"</code> is not allowed.
+     *
+     * @param string $path
+     *    The path you want to check for validity.
+     *
+     * @return bool
+     *    Whether the path was valid or not.
+     */
+    static function isValidNonRoot($path)
+    {
+        $error = self::findErrorNonRoot($path);
+        return ($error === null);
+    }
+
+    /**
+     * If the given path is a valid Dropbox path, return <code>null</code>,
+     * otherwise return an English string error message describing what is wrong with the path.
+     *
+     * @param string $path
+     *    The path you want to check for validity.
+     *
+     * @return string|null
+     *    If the path was valid, return <code>null</code>.  Otherwise, returns
+     *    an English string describing the problem.
+     */
+    static function findError($path)
+    {
+        Checker::argString("path", $path);
+
+        $matchResult = preg_match('%^(?:
+                  [\x09\x0A\x0D\x20-\x7E]            # ASCII
+                | [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte
+                | \xE0[\xA0-\xBF][\x80-\xBD]         # excluding overlongs, FFFE, and FFFF
+                | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
+                | \xED[\x80-\x9F][\x80-\xBF]         # excluding surrogates
+                )*$%xs', $path);
+
+        if ($matchResult !== 1) {
+            return "must be valid UTF-8; BMP only, no surrogates, no U+FFFE or U+FFFF";
+        }
+
+        if (\substr_compare($path, "/", 0, 1) !== 0) return "must start with \"/\"";
+        $l = strlen($path);
+        if ($l === 1) return null;  // Special case for "/"
+
+        if ($path[$l-1] === "/") return "must not end with \"/\"";
+
+        // TODO: More checks.
+
+        return null;
+    }
+
+    /**
+     * If the given path is a valid non-root Dropbox path, return <code>null</code>,
+     * otherwise return an English string error message describing what is wrong with the path.
+     * This is the same as {@link findError} except <code>"/"</code> will yield an error message.
+     *
+     * @param string $path
+     *    The path you want to check for validity.
+     *
+     * @return string|null
+     *    If the path was valid, return <code>null</code>.  Otherwise, returns
+     *    an English string describing the problem.
+     */
+    static function findErrorNonRoot($path)
+    {
+        if ($path == "/") return "root path not allowed";
+        return self::findError($path);
+    }
+
+    /**
+     * Return the last component of a path (the file or folder name).
+     *
+     * <code>
+     * Path::getName("/Misc/Notes.txt") // "Notes.txt"
+     * Path::getName("/Misc")           // "Misc"
+     * Path::getName("/")               // null
+     * </code>
+     *
+     * @param string $path
+     *    The full path you want to get the last component of.
+     *
+     * @return null|string
+     *    The last component of <code>$path</code> or <code>null</code> if the given
+     *    <code>$path</code> was <code>"/"<code>.
+     */
+    static function getName($path)
+    {
+        Checker::argString("path", $path);
+
+        if (\substr_compare($path, "/", 0, 1) !== 0) {
+            throw new \InvalidArgumentException("'path' must start with \"/\"");
+        }
+        $l = strlen($path);
+        if ($l === 1) return null;
+        if ($path[$l-1] === "/") {
+            throw new \InvalidArgumentException("'path' must not end with \"/\"");
+        }
+
+        $lastSlash = strrpos($path, "/");
+        return substr($path, $lastSlash+1);
+    }
+
+    /**
+     * @internal
+     *
+     * @param string $argName
+     * @param mixed $value
+     * @throws \InvalidArgumentException
+     */
+    static function checkArg($argName, $value)
+    {
+        if ($value === null) throw new \InvalidArgumentException("'$argName' must not be null");
+        if (!is_string($value)) throw new \InvalidArgumentException("'$argName' must be a string");
+        $error = self::findError($value);
+        if ($error !== null) throw new \InvalidArgumentException("'$argName'': bad path: $error: ".var_export($value, true));
+    }
+
+    /**
+     * @internal
+     *
+     * @param string $argName
+     * @param mixed $value
+     * @throws \InvalidArgumentException
+     */
+    static function checkArgOrNull($argName, $value)
+    {
+        if ($value === null) return;
+        self::checkArg($argName, $value);
+    }
+
+    /**
+     * @internal
+     *
+     * @param string $argName
+     * @param mixed $value
+     * @throws \InvalidArgumentException
+     */
+    static function checkArgNonRoot($argName, $value)
+    {
+        if ($value === null) throw new \InvalidArgumentException("'$argName' must not be null");
+        if (!is_string($value)) throw new \InvalidArgumentException("'$argName' must be a string");
+        $error = self::findErrorNonRoot($value);
+        if ($error !== null) throw new \InvalidArgumentException("'$argName'': bad path: $error: ".var_export($value, true));
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/RequestUtil.php b/lib/dropbox-sdk/Dropbox/RequestUtil.php
new file mode 100644
index 0000000..37443e0
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/RequestUtil.php
@@ -0,0 +1,302 @@
+<?php
+namespace Dropbox;
+
+if (!function_exists('curl_init')) {
+    throw new \Exception("The Dropbox SDK requires the cURL PHP extension, but it looks like you don't have it (couldn't find function \"curl_init\").  Library: \"" . __FILE__ . "\".");
+}
+
+if (!function_exists('json_decode')) {
+    throw new \Exception("The Dropbox SDK requires the JSON PHP extension, but it looks like you don't have it (couldn't find function \"json_decode\").  Library: \"" . __FILE__ . "\".");
+}
+
+// If mbstring.func_overload is set, it changes the behavior of the standard string functions in
+// ways that makes this library break.
+$mbstring_func_overload = ini_get("mbstring.func_overload");
+if ($mbstring_func_overload & 2 == 2) {
+    throw new \Exception("The Dropbox SDK doesn't work when mbstring.func_overload is set to overload the standard string functions (value = ".var_export($mbstring_func_overload, true).").  Library: \"" . __FILE__ . "\".");
+}
+
+/*
+if (strlen((string) PHP_INT_MAX) < 19) {
+    // Looks like we're running on a 32-bit build of PHP.  This could cause problems because some of the numbers
+    // we use (file sizes, quota, etc) can be larger than 32-bit ints can handle.
+    throw new \Exception("The Dropbox SDK uses 64-bit integers, but it looks like we're running on a version of PHP that doesn't support 64-bit integers (PHP_INT_MAX=" . ((string) PHP_INT_MAX) . ").  Library: \"" . __FILE__ . "\"");
+}
+
+/**
+ * @internal
+ */
+final class RequestUtil
+{
+    /**
+     * @param string $userLocale
+     * @param string $host
+     * @param string $path
+     * @param array $params
+     * @return string
+     */
+    static function buildUrlForGetOrPut($userLocale, $host, $path, $params = null)
+    {
+        $url = self::buildUri($host, $path);
+        $url .= "?locale=" . rawurlencode($userLocale);
+
+        if ($params !== null) {
+            foreach ($params as $key => $value) {
+                Checker::argStringNonEmpty("key in 'params'", $key);
+                if ($value !== null) {
+                    if (is_bool($value)) {
+                        $value = $value ? "true" : "false";
+                    }
+                    else if (is_int($value)) {
+                        $value = (string) $value;
+                    }
+                    else if (!is_string($value)) {
+                        throw new \InvalidArgumentException("params['$key'] is not a string, int, or bool");
+                    }
+                    $url .= "&" . rawurlencode($key) . "=" . rawurlencode($value);
+                }
+            }
+        }
+        return $url;
+    }
+
+    /**
+     * @param string $host
+     * @param string $path
+     * @return string
+     */
+    static function buildUri($host, $path)
+    {
+        Checker::argStringNonEmpty("host", $host);
+        Checker::argStringNonEmpty("path", $path);
+        return "https://" . $host . "/" . $path;
+    }
+
+    /**
+     * @param string $clientIdentifier
+     * @param string $url
+     * @return Curl
+     */
+    static function mkCurl($clientIdentifier, $url)
+    {
+        $curl = new Curl($url);
+
+        $curl->set(CURLOPT_CONNECTTIMEOUT, 10);
+
+        // If the transfer speed is below 1kB/sec for 10 sec, abort.
+        $curl->set(CURLOPT_LOW_SPEED_LIMIT, 1024);
+        $curl->set(CURLOPT_LOW_SPEED_TIME, 10);
+
+        //$curl->set(CURLOPT_VERBOSE, true);  // For debugging.
+        // TODO: Figure out how to encode clientIdentifier (urlencode?)
+        $curl->addHeader("User-Agent: ".$clientIdentifier." Dropbox-PHP-SDK");
+
+        return $curl;
+    }
+
+    /**
+     * @param string $clientIdentifier
+     * @param string $url
+     * @param string $authHeaderValue
+     * @return Curl
+     */
+    static function mkCurlWithAuth($clientIdentifier, $url, $authHeaderValue)
+    {
+        $curl = self::mkCurl($clientIdentifier, $url);
+        $curl->addHeader("Authorization: $authHeaderValue");
+        return $curl;
+    }
+
+    /**
+     * @param string $clientIdentifier
+     * @param string $url
+     * @param string $accessToken
+     * @return Curl
+     */
+    static function mkCurlWithOAuth($clientIdentifier, $url, $accessToken)
+    {
+        return self::mkCurlWithAuth($clientIdentifier, $url, "Bearer $accessToken");
+    }
+
+    static function buildPostBody($params)
+    {
+        if ($params === null) return "";
+
+        $pairs = array();
+        foreach ($params as $key => $value) {
+            Checker::argStringNonEmpty("key in 'params'", $key);
+            if ($value !== null) {
+                if (is_bool($value)) {
+                    $value = $value ? "true" : "false";
+                }
+                else if (is_int($value)) {
+                    $value = (string) $value;
+                }
+                else if (!is_string($value)) {
+                    throw new \InvalidArgumentException("params['$key'] is not a string, int, or bool");
+                }
+                $pairs[] = rawurlencode($key) . "=" . rawurlencode((string) $value);
+            }
+        }
+        return implode("&", $pairs);
+    }
+
+    /**
+     * @param string $clientIdentifier
+     * @param string $accessToken
+     * @param string $userLocale
+     * @param string $host
+     * @param string $path
+     * @param array|null $params
+     *
+     * @return HttpResponse
+     *
+     * @throws Exception
+     */
+    static function doPost($clientIdentifier, $accessToken, $userLocale, $host, $path, $params = null)
+    {
+        Checker::argStringNonEmpty("accessToken", $accessToken);
+
+        $url = self::buildUri($host, $path);
+
+        if ($params === null) $params = array();
+        $params['locale'] = $userLocale;
+
+        $curl = self::mkCurlWithOAuth($clientIdentifier, $url, $accessToken);
+        $curl->set(CURLOPT_POST, true);
+        $curl->set(CURLOPT_POSTFIELDS, self::buildPostBody($params));
+
+        $curl->set(CURLOPT_RETURNTRANSFER, true);
+        return $curl->exec();
+    }
+
+    /**
+     * @param string $clientIdentifier
+     * @param string $authHeaderValue
+     * @param string $userLocale
+     * @param string $host
+     * @param string $path
+     * @param array|null $params
+     *
+     * @return HttpResponse
+     *
+     * @throws Exception
+     */
+    static function doPostWithSpecificAuth($clientIdentifier, $authHeaderValue, $userLocale, $host, $path, $params = null)
+    {
+        Checker::argStringNonEmpty("authHeaderValue", $authHeaderValue);
+
+        $url = self::buildUri($host, $path);
+
+        if ($params === null) $params = array();
+        $params['locale'] = $userLocale;
+
+        $curl = self::mkCurlWithAuth($clientIdentifier, $url, $authHeaderValue);
+        $curl->set(CURLOPT_POST, true);
+        $curl->set(CURLOPT_POSTFIELDS, self::buildPostBody($params));
+
+        $curl->set(CURLOPT_RETURNTRANSFER, true);
+        return $curl->exec();
+    }
+
+    /**
+     * @param string $clientIdentifier
+     * @param string $accessToken
+     * @param string $userLocale
+     * @param string $host
+     * @param string $path
+     * @param array|null $params
+     *
+     * @return HttpResponse
+     *
+     * @throws Exception
+     */
+    static function doGet($clientIdentifier, $accessToken, $userLocale, $host, $path, $params = null)
+    {
+        Checker::argStringNonEmpty("accessToken", $accessToken);
+
+        $url = self::buildUrlForGetOrPut($userLocale, $host, $path, $params);
+
+        $curl = self::mkCurlWithOAuth($clientIdentifier, $url, $accessToken);
+        $curl->set(CURLOPT_HTTPGET, true);
+        $curl->set(CURLOPT_RETURNTRANSFER, true);
+
+        return $curl->exec();
+    }
+
+    /**
+     * @param string $responseBody
+     * @return mixed
+     * @throws Exception_BadResponse
+     */
+    static function parseResponseJson($responseBody)
+    {
+        $obj = json_decode($responseBody, TRUE, 10);
+        if ($obj === null) {
+            throw new Exception_BadResponse("Got bad JSON from server: $responseBody");
+        }
+        return $obj;
+    }
+
+    static function unexpectedStatus($httpResponse)
+    {
+        $sc = $httpResponse->statusCode;
+
+        $message = "HTTP status $sc";
+        if (is_string($httpResponse->body)) {
+            // TODO: Maybe only include the first ~200 chars of the body?
+            $message .= "\n".$httpResponse->body;
+        }
+
+        if ($sc === 400) return new Exception_BadRequest($message);
+        if ($sc === 401) return new Exception_InvalidAccessToken($message);
+        if ($sc === 500 || $sc === 502) return new Exception_ServerError($message);
+        if ($sc === 503) return new Exception_RetryLater($message);
+
+        return new Exception_BadResponseCode("Unexpected $message", $sc);
+    }
+
+    /**
+     * @param int $maxRetries
+     *    The number of times to retry it the action if it fails with one of the transient
+     *    API errors.  A value of 1 means we'll try the action once and if it fails, we
+     *    will retry once.
+     *
+     * @param callable $action
+     *    The the action you want to retry.
+     *
+     * @return mixed
+     *    Whatever is returned by the $action callable.
+     */
+    static function runWithRetry($maxRetries, $action)
+    {
+        Checker::argNat("maxRetries", $maxRetries);
+
+        $retryDelay = 1;
+        $numRetries = 0;
+        while (true) {
+            try {
+                return $action();
+            }
+            // These exception types are the ones we think are possibly transient errors.
+            catch (Exception_NetworkIO $ex) {
+                $savedEx = $ex;
+            }
+            catch (Exception_ServerError $ex) {
+                $savedEx = $ex;
+            }
+            catch (Exception_RetryLater $ex) {
+                $savedEx = $ex;
+            }
+
+            // We maxed out our retries.  Propagate the last exception we got.
+            if ($numRetries >= $maxRetries) throw $savedEx;
+
+            $numRetries++;
+            sleep($retryDelay);
+            $retryDelay *= 2;  // Exponential back-off.
+        }
+        throw new \RuntimeException("unreachable");
+    }
+
+}
diff --git a/lib/dropbox-sdk/Dropbox/SSLTester.php b/lib/dropbox-sdk/Dropbox/SSLTester.php
new file mode 100644
index 0000000..1312d7b
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/SSLTester.php
@@ -0,0 +1,130 @@
+<?php
+
+namespace Dropbox;
+
+/**
+ * Call the <code>test()</code> method.
+ */
+class SSLTester
+{
+    /**
+     * Peforms a few basic tests of your PHP installation's SSL implementation to see
+     * if it insecure in an obvious way.  Results are written with "echo" and the output
+     * is HTML-safe.
+     *
+     * @return bool
+     *    Returns <code>true</code> if all the tests passed.
+     */
+    static function test()
+    {
+        $hostOs = php_uname('s').' '.php_uname('r');
+        $phpVersion = phpversion();
+        $curlVersionInfo = \curl_version();
+        $curlVersion = $curlVersionInfo['version'];
+        $curlSslBackend = $curlVersionInfo['ssl_version'];
+
+        echo "-----------------------------------------------------------------------------\n";
+        echo "Testing your PHP installation's SSL implementation for a few obvious problems...\n";
+        echo "-----------------------------------------------------------------------------\n";
+        echo "- Host OS: $hostOs\n";
+        echo "- PHP version: $phpVersion\n";
+        echo "- cURL version: $curlVersion\n";
+        echo "- cURL SSL backend: $curlSslBackend\n";
+
+        echo "Basic SSL tests\n";
+        $basicFailures = self::testMulti(array(
+            array("www.dropbox.com", 'testAllowed'),
+            array("www.digicert.com", 'testAllowed'),
+            array("www.v.dropbox.com", 'testHostnameMismatch'),
+            array("testssl-expire.disig.sk", 'testUntrustedCert'),
+        ));
+
+        echo "Pinned certificate tests\n";
+        $pinnedCertFailures = self::testMulti(array(
+            array("www.verisign.com", 'testUntrustedCert'),
+            array("www.globalsign.fr", 'testUntrustedCert'),
+        ));
+
+        if ($basicFailures) {
+            echo "-----------------------------------------------------------------------------\n";
+            echo "WARNING: Your PHP installation's SSL support is COMPLETELY INSECURE.\n";
+            echo "Your app's communication with the Dropbox API servers can be viewed and\n";
+            echo "manipulated by others.  Try upgrading your version of PHP.\n";
+            echo "-----------------------------------------------------------------------------\n";
+            return false;
+        }
+        else if ($pinnedCertFailures) {
+            echo "-----------------------------------------------------------------------------\n";
+            echo "WARNING: Your PHP installation's SSL implementation doesn't support\n";
+            echo "certificate pinning, which is an important security feature of the Dropbox\n";
+            echo "SDK.  The root certificates embedded in the SDK are being silently ignored,\n";
+            echo "which reduces the security of the communication with the Dropbox API servers.\n";
+            echo "\n";
+            echo "More information:\n";
+            echo "https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning#What_Is_Pinning.3F\n";
+            echo "-----------------------------------------------------------------------------\n";
+            return false;
+        }
+        else {
+            return true;
+        }
+    }
+
+    private static function testMulti($tests)
+    {
+        $anyFailed = false;
+        foreach ($tests as $test) {
+            list($host, $testType) = $test;
+
+            echo " - ".str_pad("$testType ($host) ", 50, ".");
+            $url = "https://$host/";
+            $passed = self::$testType($url);
+            if ($passed) {
+                echo " ok\n";
+            } else {
+                echo " FAILED\n";
+                $anyFailed = true;
+            }
+        }
+        return $anyFailed;
+    }
+
+    private static function testPinnedCert()
+    {
+    }
+
+    private static function testAllowed($url)
+    {
+        $curl = RequestUtil::mkCurl("test-ssl", $url);
+        $curl->set(CURLOPT_RETURNTRANSFER, true);
+        $curl->exec();
+        return true;
+    }
+
+    private static function testUntrustedCert($url)
+    {
+        return self::testDisallowed($url, 'Error executing HTTP request: SSL certificate problem, verify that the CA cert is OK');
+    }
+
+    private static function testHostnameMismatch($url)
+    {
+        return self::testDisallowed($url, 'Error executing HTTP request: SSL certificate problem: Invalid certificate chain');
+    }
+
+    private static function testDisallowed($url, $expectedExceptionMessage)
+    {
+        $curl = RequestUtil::mkCurl("test-ssl", $url);
+        $curl->set(CURLOPT_RETURNTRANSFER, true);
+        try {
+            $curl->exec();
+        }
+        catch (Exception_NetworkIO $ex) {
+            if (strpos($ex->getMessage(), $expectedExceptionMessage) == 0) {
+                return true;
+            } else {
+                throw $ex;
+            }
+        }
+        return false;
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/Security.php b/lib/dropbox-sdk/Dropbox/Security.php
new file mode 100644
index 0000000..390ccc8
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/Security.php
@@ -0,0 +1,65 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Helper functions for security-related things.
+ */
+class Security
+{
+    /**
+     * A string equality function that compares strings in a way that isn't suceptible to timing
+     * attacks.  An attacker can figure out the length of the string, but not the string's value.
+     *
+     * Use this when comparing two strings where:
+     * - one string could be influenced by an attacker
+     * - the other string contains data an attacker shouldn't know
+     *
+     * @param string $a
+     * @param string $b
+     * @return bool
+     */
+    static function stringEquals($a, $b)
+    {
+        // Be strict with arguments.  PHP's liberal types could get us pwned.
+        if (func_num_args() !== 2) {
+            throw new \InvalidArgumentException("Expecting 2 args, got ".func_num_args().".");
+        }
+        Checker::argString("a", $a);
+        Checker::argString("b", $b);
+
+        if (strlen($a) !== strlen($b)) return false;
+        $result = 0;
+        for ($i = 0; $i < strlen($a); $i++) {
+            $result |= ord($a[$i]) ^ ord($b[$i]);
+        }
+        return $result === 0;
+    }
+
+    /**
+     * Returns cryptographically strong secure random bytes (as a PHP string).
+     *
+     * @param int $numBytes
+     *    The number of bytes of random data to return.
+     *
+     * @return string
+     */
+    static function getRandomBytes($numBytes)
+    {
+        Checker::argIntPositive("numBytes", $numBytes);
+
+        // openssl_random_pseudo_bytes had some issues prior to PHP 5.3.4
+        if (function_exists('openssl_random_pseudo_bytes')
+                && version_compare(PHP_VERSION, '5.3.4') >= 0) {
+            $s = openssl_random_pseudo_bytes($numBytes, $isCryptoStrong);
+            if ($isCryptoStrong) return $s;
+        }
+
+        if (function_exists('mcrypt_create_iv')) {
+            return mcrypt_create_iv($numBytes);
+        }
+
+        // Hopefully the above two options cover all our users.  But if not, there are
+        // other platform-specific options we could add.
+        throw new \Exception("no suitable random number source available");
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/StreamReadException.php b/lib/dropbox-sdk/Dropbox/StreamReadException.php
new file mode 100644
index 0000000..fdc3cb7
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/StreamReadException.php
@@ -0,0 +1,16 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Thrown when there's an error reading from a stream that was passed in by the caller.
+ */
+class StreamReadException extends \Exception
+{
+    /**
+     * @internal
+     */
+    function __construct($message, $cause = null)
+    {
+        parent::__construct($message, 0, $cause);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/ValueStore.php b/lib/dropbox-sdk/Dropbox/ValueStore.php
new file mode 100644
index 0000000..56bf1e0
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/ValueStore.php
@@ -0,0 +1,61 @@
+<?php
+namespace Dropbox;
+
+/**
+ * A contract for a class which provides simple get/set/clear access to a single string
+ * value.  {@link ArrayEntryStore} provides an implementation of this for storing a value
+ * in a single array element.
+ *
+ * Example implementation for a Memcache-based backing store:
+ *
+ * <code>
+ * class MemcacheValueStore implements ValueStore
+ * {
+ *     private $key;
+ *     private $memcache;
+ *
+ *     function __construct($memcache, $key)
+ *     {
+ *         $this->memcache = $memcache;
+ *         $this->key = $key;
+ *     }
+ *
+ *     function get()
+ *     {
+ *         $value = $this->memcache->get($this->getKey());
+ *         return $value === false ? null : base64_decode($value);
+ *     }
+ *
+ *     function set($value)
+ *     {
+ *         $this->memcache->set($this->key, base64_encode($value));
+ *     }
+ *
+ *     function clear()
+ *     {
+ *         $this->memcache->delete($this->key);
+ *     }
+ * }
+ * </code>
+ */
+interface ValueStore
+{
+    /**
+     * Returns the entry's current value or <code>null</code> if nothing is set.
+     *
+     * @return string
+     */
+    function get();
+
+    /**
+     * Set the entry to the given value.
+     *
+     * @param string $value
+     */
+    function set($value);
+
+    /**
+     * Remove the value.
+     */
+    function clear();
+}
diff --git a/lib/dropbox-sdk/Dropbox/WebAuth.php b/lib/dropbox-sdk/Dropbox/WebAuth.php
new file mode 100644
index 0000000..faaec58
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/WebAuth.php
@@ -0,0 +1,273 @@
+<?php
+namespace Dropbox;
+
+/**
+ * OAuth 2 "authorization code" flow.  (This SDK does not support the "token" flow.)
+ *
+ * Use {@link WebAuth::start()} and {@link WebAuth::finish()} to guide your
+ * user through the process of giving your app access to their Dropbox account.
+ * At the end, you will have an access token, which you can pass to {@link Client}
+ * and start making API calls.
+ *
+ * Example:
+ *
+ * <code>
+ * use \Dropbox as dbx;
+ *
+ * function getWebAuth()
+ * {
+ *    $appInfo = dbx\AppInfo::loadFromJsonFile(...);
+ *    $clientIdentifier = "my-app/1.0";
+ *    $redirectUri = "https://example.org/dropbox-auth-finish";
+ *    $csrfTokenStore = new dbx\ArrayEntryStore($_SESSION, 'dropbox-auth-csrf-token');
+ *    return new dbx\WebAuth($appInfo, $clientIdentifier, $redirectUri, $csrfTokenStore, ...);
+ * }
+ *
+ * // ----------------------------------------------------------
+ * // In the URL handler for "/dropbox-auth-start"
+ *
+ * $authorizeUrl = getWebAuth()->start();
+ * header("Location: $authorizeUrl");
+ *
+ * // ----------------------------------------------------------
+ * // In the URL handler for "/dropbox-auth-finish"
+ *
+ * try {
+ *    list($accessToken, $userId, $urlState) = getWebAuth()->finish($_GET);
+ *    assert($urlState === null);  // Since we didn't pass anything in start()
+ * }
+ * catch (dbx\WebAuthException_BadRequest $ex) {
+ *    error_log("/dropbox-auth-finish: bad request: " . $ex->getMessage());
+ *    // Respond with an HTTP 400 and display error page...
+ * }
+ * catch (dbx\WebAuthException_BadState $ex) {
+ *    // Auth session expired.  Restart the auth process.
+ *    header('Location: /dropbox-auth-start');
+ * }
+ * catch (dbx\WebAuthException_Csrf $ex) {
+ *    error_log("/dropbox-auth-finish: CSRF mismatch: " . $ex->getMessage());
+ *    // Respond with HTTP 403 and display error page...
+ * }
+ * catch (dbx\WebAuthException_NotApproved $ex) {
+ *    error_log("/dropbox-auth-finish: not approved: " . $ex->getMessage());
+ * }
+ * catch (dbx\WebAuthException_Provider $ex) {
+ *    error_log("/dropbox-auth-finish: error redirect from Dropbox: " . $ex->getMessage());
+ * }
+ * catch (dbx\Exception $ex) {
+ *    error_log("/dropbox-auth-finish: error communicating with Dropbox API: " . $ex->getMessage());
+ * }
+ *
+ * // We can now use $accessToken to make API requests.
+ * $client = dbx\Client($accessToken, ...);
+ * </code>
+ *
+ */
+class WebAuth extends WebAuthBase
+{
+    /**
+     * The URI that the Dropbox server will redirect the user to after the user finishes
+     * authorizing your app.  This URI must be HTTPS-based and
+     * <a href="https://www.dropbox.com/developers/apps">pre-registered with Dropbox</a>,
+     * though "localhost"-based and "127.0.0.1"-based URIs are allowed without pre-registration
+     * and can be either HTTP or HTTPS.
+     *
+     * @return string
+     */
+    function getRedirectUri() { return $this->redirectUri; }
+
+    /** @var string */
+    private $redirectUri;
+
+    /**
+     * A object that lets us save CSRF token string to the user's session.  If you're using the
+     * standard PHP <code>$_SESSION</code>, you can pass in something like
+     * <code>new ArrayEntryStore($_SESSION, 'dropbox-auth-csrf-token')</code>.
+     *
+     * If you're not using $_SESSION, you might have to create your own class that provides
+     * the same <code>get()</code>/<code>set()</code>/<code>clear()</code> methods as
+     * {@link ArrayEntryStore}.
+     *
+     * @return ValueStore
+     */
+    function getCsrfTokenStore() { return $this->csrfTokenStore; }
+
+    /** @var object */
+    private $csrfTokenStore;
+
+    /**
+     * Constructor.
+     *
+     * @param AppInfo $appInfo
+     *     See {@link getAppInfo()}
+     * @param string $clientIdentifier
+     *     See {@link getClientIdentifier()}
+     * @param null|string $redirectUri
+     *     See {@link getRedirectUri()}
+     * @param null|ValueStore $csrfTokenStore
+     *     See {@link getCsrfTokenStore()}
+     * @param null|string $userLocale
+     *     See {@link getUserLocale()}
+     */
+    function __construct($appInfo, $clientIdentifier, $redirectUri, $csrfTokenStore, $userLocale = null)
+    {
+        parent::__construct($appInfo, $clientIdentifier, $userLocale);
+
+        Checker::argStringNonEmpty("redirectUri", $redirectUri);
+
+        $this->csrfTokenStore = $csrfTokenStore;
+        $this->redirectUri = $redirectUri;
+    }
+
+    /**
+     * Starts the OAuth 2 authorization process, which involves redirecting the user to the
+     * returned authorization URL (a URL on the Dropbox website).  When the user then
+     * either approves or denies your app access, Dropbox will redirect them to the
+     * <code>$redirectUri</code> given to constructor, at which point you should
+     * call {@link finish()} to complete the authorization process.
+     *
+     * This function will also save a CSRF token using the <code>$csrfTokenStore</code> given to
+     * the constructor.  This CSRF token will be checked on {@link finish()} to prevent
+     * request forgery.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#oa2-authorize">/oauth2/authorize</a>.
+     *
+     * @param string|null $urlState
+     *    Any data you would like to keep in the URL through the authorization process.
+     *    This exact state will be returned to you by {@link finish()}.
+     *
+     * @return array
+     *    The URL to redirect the user to.
+     *
+     * @throws Exception
+     */
+    function start($urlState = null)
+    {
+        Checker::argStringOrNull("urlState", $urlState);
+
+        $csrfToken = self::encodeCsrfToken(Security::getRandomBytes(16));
+        $state = $csrfToken;
+        if ($urlState !== null) {
+            $state .= "|";
+            $state .= $urlState;
+        }
+        $this->csrfTokenStore->set($csrfToken);
+
+        return $this->_getAuthorizeUrl($this->redirectUri, $state);
+    }
+
+    private static function encodeCsrfToken($string)
+    {
+        return strtr(base64_encode($string), '+/', '-_');
+    }
+
+    /**
+     * Call this after the user has visited the authorize URL ({@link start()}), approved your app,
+     * and was redirected to your redirect URI.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#oa2-token">/oauth2/token</a>.
+     *
+     * @param array $queryParams
+     *    The query parameters on the GET request to your redirect URI.
+     *
+     * @return array
+     *    A <code>list(string $accessToken, string $userId, string $urlState)</code>, where
+     *    <code>$accessToken</code> can be used to construct a {@link Client}, <code>$userId</code>
+     *    is the user ID of the user's Dropbox account, and <code>$urlState</code> is the
+     *    value you originally passed in to {@link start()}.
+     *
+     * @throws Exception
+     *    Thrown if there's an error getting the access token from Dropbox.
+     * @throws WebAuthException_BadRequest
+     * @throws WebAuthException_BadState
+     * @throws WebAuthException_Csrf
+     * @throws WebAuthException_NotApproved
+     * @throws WebAuthException_Provider
+     */
+    function finish($queryParams)
+    {
+        Checker::argArray("queryParams", $queryParams);
+
+        $csrfTokenFromSession = $this->csrfTokenStore->get();
+        Checker::argStringOrNull("this->csrfTokenStore->get()", $csrfTokenFromSession);
+
+        // Check well-formedness of request.
+
+        if (!isset($queryParams['state'])) {
+            throw new WebAuthException_BadRequest("Missing query parameter 'state'.");
+        }
+        $state = $queryParams['state'];
+        Checker::argString("queryParams['state']", $state);
+
+        $error = null;
+        $errorDescription = null;
+        if (isset($queryParams['error'])) {
+            $error = $queryParams['error'];
+            Checker::argString("queryParams['error']", $error);
+            if (isset($queryParams['error_description'])) {
+                $errorDescription = $queryParams['error_description'];
+                Checker::argString("queryParams['error_description']", $errorDescription);
+            }
+        }
+
+        $code = null;
+        if (isset($queryParams['code'])) {
+            $code = $queryParams['code'];
+            Checker::argString("queryParams['code']", $code);
+        }
+
+        if ($code !== null && $error !== null) {
+            throw new WebAuthException_BadRequest("Query parameters 'code' and 'error' are both set;".
+                                                 " only one must be set.");
+        }
+        if ($code === null && $error === null) {
+            throw new WebAuthException_BadRequest("Neither query parameter 'code' or 'error' is set.");
+        }
+
+        // Check CSRF token
+
+        if ($csrfTokenFromSession === null) {
+            throw new WebAuthException_BadState();
+        }
+
+        $splitPos = strpos($state, "|");
+        if ($splitPos === false) {
+            $givenCsrfToken = $state;
+            $urlState = null;
+        } else {
+            $givenCsrfToken = substr($state, 0, $splitPos);
+            $urlState = substr($state, $splitPos + 1);
+        }
+        if (!Security::stringEquals($csrfTokenFromSession, $givenCsrfToken)) {
+            throw new WebAuthException_Csrf("Expected ".Client::q($csrfTokenFromSession).
+                                           ", got ".Client::q($givenCsrfToken).".");
+        }
+        $this->csrfTokenStore->clear();
+
+        // Check for error identifier
+
+        if ($error !== null) {
+            if ($error === 'access_denied') {
+                // When the user clicks "Deny".
+                if ($errorDescription === null) {
+                    throw new WebAuthException_NotApproved("No additional description from Dropbox.");
+                } else {
+                    throw new WebAuthException_NotApproved("Additional description from Dropbox: $errorDescription");
+                }
+            } else {
+                // All other errors.
+                $fullMessage = $error;
+                if ($errorDescription !== null) {
+                    $fullMessage .= ": ";
+                    $fullMessage .= $errorDescription;
+                }
+                throw new WebAuthException_Provider($fullMessage);
+            }
+        }
+
+        // If everything went ok, make the network call to get an access token.
+
+        list($accessToken, $userId) = $this->_finish($code, $this->redirectUri);
+        return array($accessToken, $userId, $urlState);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/WebAuthBase.php b/lib/dropbox-sdk/Dropbox/WebAuthBase.php
new file mode 100644
index 0000000..4c702ca
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/WebAuthBase.php
@@ -0,0 +1,63 @@
+<?php
+namespace Dropbox;
+
+/**
+ * The base class for the two auth options.
+ */
+class WebAuthBase extends AuthBase
+{
+    protected function _getAuthorizeUrl($redirectUri, $state)
+    {
+        return RequestUtil::buildUrlForGetOrPut(
+            $this->userLocale,
+            $this->appInfo->getHost()->getWeb(),
+            "1/oauth2/authorize",
+            array(
+                "client_id" => $this->appInfo->getKey(),
+                "response_type" => "code",
+                "redirect_uri" => $redirectUri,
+                "state" => $state,
+            ));
+    }
+
+    protected function _finish($code, $originalRedirectUri)
+    {
+        // This endpoint requires "Basic" auth.
+        $clientCredentials = $this->appInfo->getKey().":".$this->appInfo->getSecret();
+        $authHeaderValue = "Basic ".base64_encode($clientCredentials);
+
+        $response = RequestUtil::doPostWithSpecificAuth(
+            $this->clientIdentifier, $authHeaderValue, $this->userLocale,
+            $this->appInfo->getHost()->getApi(),
+            "1/oauth2/token",
+            array(
+                "grant_type" => "authorization_code",
+                "code" => $code,
+                "redirect_uri" => $originalRedirectUri,
+            ));
+
+        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
+
+        $parts = RequestUtil::parseResponseJson($response->body);
+
+        if (!array_key_exists('token_type', $parts) or !is_string($parts['token_type'])) {
+            throw new Exception_BadResponse("Missing \"token_type\" field.");
+        }
+        $tokenType = $parts['token_type'];
+        if (!array_key_exists('access_token', $parts) or !is_string($parts['access_token'])) {
+            throw new Exception_BadResponse("Missing \"access_token\" field.");
+        }
+        $accessToken = $parts['access_token'];
+        if (!array_key_exists('uid', $parts) or !is_string($parts['uid'])) {
+            throw new Exception_BadResponse("Missing \"uid\" string field.");
+        }
+        $userId = $parts['uid'];
+
+        if ($tokenType !== "Bearer" && $tokenType !== "bearer") {
+            throw new Exception_BadResponse("Unknown \"token_type\"; expecting \"Bearer\", got  "
+                                            .Client::q($tokenType));
+        }
+
+        return array($accessToken, $userId);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/WebAuthException/BadRequest.php b/lib/dropbox-sdk/Dropbox/WebAuthException/BadRequest.php
new file mode 100644
index 0000000..d77986f
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/WebAuthException/BadRequest.php
@@ -0,0 +1,20 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Thrown if the redirect URL was missing parameters or if the given parameters were not valid.
+ *
+ * The recommended action is to show an HTTP 400 error page.
+ */
+class WebAuthException_BadRequest extends \Exception
+{
+    /**
+     * @param string $message
+     *
+     * @internal
+     */
+    function __construct($message)
+    {
+        parent::__construct($message);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/WebAuthException/BadState.php b/lib/dropbox-sdk/Dropbox/WebAuthException/BadState.php
new file mode 100644
index 0000000..cdb0ff9
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/WebAuthException/BadState.php
@@ -0,0 +1,19 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Thrown if all the parameters are correct, but there's no CSRF token in the session.  This
+ * probably means that the session expired.
+ *
+ * The recommended action is to redirect the user's browser to try the approval process again.
+ */
+class WebAuthException_BadState extends \Exception
+{
+    /**
+     * @internal
+     */
+    function __construct()
+    {
+        parent::__construct("Missing CSRF token in session.");
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/WebAuthException/Csrf.php b/lib/dropbox-sdk/Dropbox/WebAuthException/Csrf.php
new file mode 100644
index 0000000..fa778b3
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/WebAuthException/Csrf.php
@@ -0,0 +1,21 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Thrown if the given 'state' parameter doesn't contain the CSRF token from the user's session.
+ * This is blocked to prevent CSRF attacks.
+ *
+ * The recommended action is to respond with an HTTP 403 error page.
+ */
+class WebAuthException_Csrf extends \Exception
+{
+    /**
+     * @param string $message
+     *
+     * @internal
+     */
+    function __construct($message)
+    {
+        parent::__construct($message);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/WebAuthException/NotApproved.php b/lib/dropbox-sdk/Dropbox/WebAuthException/NotApproved.php
new file mode 100644
index 0000000..4d0ae9d
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/WebAuthException/NotApproved.php
@@ -0,0 +1,18 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Thrown if the user chose not to grant your app access to their Dropbox account.
+ */
+class WebAuthException_NotApproved extends \Exception
+{
+    /**
+     * @param string $message
+     *
+     * @internal
+     */
+    function __construct($message)
+    {
+        parent::__construct($message);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/WebAuthException/Provider.php b/lib/dropbox-sdk/Dropbox/WebAuthException/Provider.php
new file mode 100644
index 0000000..67049c5
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/WebAuthException/Provider.php
@@ -0,0 +1,18 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Thrown if Dropbox returns some other error about the authorization request.
+ */
+class WebAuthException_Provider extends \Exception
+{
+    /**
+     * @param string $message
+     *
+     * @internal
+     */
+    function __construct($message)
+    {
+        parent::__construct($message);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/WebAuthNoRedirect.php b/lib/dropbox-sdk/Dropbox/WebAuthNoRedirect.php
new file mode 100644
index 0000000..db7efce
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/WebAuthNoRedirect.php
@@ -0,0 +1,83 @@
+<?php
+namespace Dropbox;
+
+/**
+ * OAuth 2 code-based authorization for apps that can't provide a redirect URI, typically
+ * command-line example apps.
+ *
+ * Use {@link WebAuth::start()} and {@link WebAuth::getToken()} to guide your
+ * user through the process of giving your app access to their Dropbox account.  At the end, you
+ * will have an {@link AccessToken}, which you can pass to {@link Client} and start making
+ * API calls.
+ *
+ * Example:
+ *
+ * <code>
+ * use \Dropbox as dbx;
+ * $appInfo = dbx\AppInfo::loadFromJsonFile(...);
+ * $clientIdentifier = "my-app/1.0";
+ * $webAuth = new dbx\WebAuthNoRedirect($appInfo, $clientIdentifier, ...);
+ *
+ * $authorizeUrl = $webAuth->start();
+ *
+ * print("1. Go to: $authorizeUrl\n");
+ * print("2. Click "Allow" (you might have to log in first).\n");
+ * print("3. Copy the authorization code.\n");
+ * print("Enter the authorization code here: ");
+ * $code = \trim(\fgets(STDIN));
+ *
+ * try {
+ *    list($accessToken, $userId) = $webAuth->finish($code);
+ * }
+ * catch (dbx\Exception $ex) {
+ *    print("Error communicating with Dropbox API: " . $ex->getMessage() . "\n");
+ * }
+ *
+ * $client = dbx\Client($accessToken, $clientIdentifier, ...);
+ * </code>
+ */
+class WebAuthNoRedirect extends WebAuthBase
+{
+    /**
+     * Returns the URL of the authorization page the user must visit.  If the user approves
+     * your app, they will be shown the authorization code on the web page.  They will need to
+     * copy/paste that code into your application so your app can pass it to
+     * {@link finish}.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#oa2-authorize">/oauth2/authorize</a>.
+     *
+     * @return string
+     *    An authorization URL.  Direct the user's browser to this URL.  After the user decides
+     *    whether to authorize your app or not, Dropbox will show the user an authorization code,
+     *    which the user will need to give to your application (e.g. via copy/paste).
+     */
+    function start()
+    {
+        return $this->_getAuthorizeUrl(null, null);
+    }
+
+    /**
+     * Call this after the user has visited the authorize URL returned by {@link start()},
+     * approved your app, was presented with an authorization code by Dropbox, and has copy/paste'd
+     * that authorization code into your app.
+     *
+     * See <a href="https://www.dropbox.com/developers/core/docs#oa2-token">/oauth2/token</a>.
+     *
+     * @param string $code
+     *    The authorization code provided to the user by Dropbox.
+     *
+     * @return array
+     *    A <code>list(string $accessToken, string $userId)</code>, where
+     *    <code>$accessToken</code> can be used to construct a {@link Client} and
+     *    <code>$userId</code> is the user ID of the user's Dropbox account.
+     *
+     * @throws Exception
+     *    Thrown if there's an error getting the access token from Dropbox.
+     */
+    function finish($code)
+    {
+        Checker::argStringNonEmpty("code", $code);
+        return $this->_finish($code, null);
+    }
+}
+
diff --git a/lib/dropbox-sdk/Dropbox/WriteMode.php b/lib/dropbox-sdk/Dropbox/WriteMode.php
new file mode 100644
index 0000000..9ea645b
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/WriteMode.php
@@ -0,0 +1,116 @@
+<?php
+namespace Dropbox;
+
+/**
+ * Describes how a file should be saved when it is written to Dropbox.
+ */
+final class WriteMode
+{
+    /**
+     * The URL parameters to pass to the file uploading endpoint to achieve the
+     * desired write mode.
+     *
+     * @var array
+     */
+    private $extraParams;
+
+    /**
+     * @internal
+     */
+    private function __construct($extraParams)
+    {
+        $this->extraParams = $extraParams;
+    }
+
+    /**
+     * @internal
+     */
+    function getExtraParams()
+    {
+        return $this->extraParams;
+    }
+
+    /**
+     * Returns a {@link WriteMode} for adding a new file.  If a file at the specified path already
+     * exists, the new file will be renamed automatically.
+     *
+     * For example, if you're trying to upload a file to "/Notes/Groceries.txt", but there's
+     * already a file there, your file will be written to "/Notes/Groceries (1).txt".
+     *
+     * You can determine whether your file was renamed by checking the "path" field of the
+     * metadata object returned by the API call.
+     *
+     * @return WriteMode
+     */
+    static function add()
+    {
+        if (self::$addInstance === null) {
+            self::$addInstance = new WriteMode(array("overwrite" => "false"));
+        }
+        return self::$addInstance;
+    }
+    private static $addInstance = null;
+
+    /**
+     * Returns a {@link WriteMode} for forcing a file to be at a certain path.  If there's already
+     * a file at that path, the existing file will be overwritten.  If there's a folder at that
+     * path, however, it will not be overwritten and the API call will fail.
+     *
+     * @return WriteMode
+     */
+    static function force()
+    {
+        if (self::$forceInstance === null) {
+            self::$forceInstance = new WriteMode(array("overwrite" => "true"));
+        }
+        return self::$forceInstance;
+    }
+    private static $forceInstance = null;
+
+    /**
+     * Returns a {@link WriteMode} for updating an existing file.  This is useful for when you
+     * have downloaded a file, made modifications, and want to save your modifications back to
+     * Dropbox.  You need to specify the revision of the copy of the file you downloaded (it's
+     * the "rev" parameter of the file's metadata object).
+     *
+     * If, when you attempt to save, the revision of the file currently on Dropbox matches
+     * $revToReplace, the file on Dropbox will be overwritten with the new contents you provide.
+     *
+     * If the revision of the file currently on Dropbox doesn't match $revToReplace, Dropbox will
+     * create a new file and save your contents to that file.  For example, if the original file
+     * path is "/Notes/Groceries.txt", the new file's path might be
+     * "/Notes/Groceries (conflicted copy).txt".
+     *
+     * You can determine whether your file was renamed by checking the "path" field of the
+     * metadata object returned by the API call.
+     *
+     * @param string $revToReplace
+     * @return WriteMode
+     */
+    static function update($revToReplace)
+    {
+        return new WriteMode(array("parent_rev" => $revToReplace));
+    }
+
+    /**
+     * Check that a function argument is of type <code>WriteMode</code>.
+     *
+     * @internal
+     */
+    static function checkArg($argName, $argValue)
+    {
+        if (!($argValue instanceof self)) Checker::throwError($argName, $argValue, __CLASS__);
+    }
+
+    /**
+     * Check that a function argument is either <code>null</code> or of type
+     * <code>WriteMode</code>.
+     *
+     * @internal
+     */
+    static function checkArgOrNull($argName, $argValue)
+    {
+        if ($argValue === null) return;
+        if (!($argValue instanceof self)) Checker::throwError($argName, $argValue, __CLASS__);
+    }
+}
diff --git a/lib/dropbox-sdk/Dropbox/autoload.php b/lib/dropbox-sdk/Dropbox/autoload.php
new file mode 100644
index 0000000..abb3cd8
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/autoload.php
@@ -0,0 +1,31 @@
+<?php
+namespace Dropbox;
+
+// The Dropbox SDK autoloader.  You probably shouldn't be using this.  Instead,
+// use a global autoloader, like the Composer autoloader.
+//
+// But if you really don't want to use a global autoloader, do this:
+//
+//     require_once "<path-to-here>/Dropbox/autoload.php"
+
+/**
+ * @internal
+ */
+function autoload($name)
+{
+    // If the name doesn't start with "Dropbox\", then its not once of our classes.
+    if (\substr_compare($name, "Dropbox\\", 0, 8) !== 0) return;
+
+    // Take the "Dropbox\" prefix off.
+    $stem = \substr($name, 8);
+
+    // Convert "\" and "_" to path separators.
+    $pathified_stem = \str_replace(array("\\", "_"), '/', $stem);
+
+    $path = __DIR__ . "/" . $pathified_stem . ".php";
+    if (\is_file($path)) {
+        require_once $path;
+    }
+}
+
+\spl_autoload_register('Dropbox\autoload');
diff --git a/lib/dropbox-sdk/Dropbox/certs/trusted-certs.crt b/lib/dropbox-sdk/Dropbox/certs/trusted-certs.crt
new file mode 100644
index 0000000..d0b8ebe
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/certs/trusted-certs.crt
@@ -0,0 +1,1396 @@
+# DigiCert Assured ID Root CA.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number:
+#             0c:e7:e0:e5:17:d8:46:fe:8f:e5:60:fc:1b:f0:30:39
+#     Signature Algorithm: sha1WithRSAEncryption
+#         Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Assured ID Root CA
+#         Validity
+#             Not Before: Nov 10 00:00:00 2006 GMT
+#             Not After : Nov 10 00:00:00 2031 GMT
+#         Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Assured ID Root CA
+#         Subject Public Key Info:
+#             Public Key Algorithm: rsaEncryption
+#                 Public-Key: (2048 bit)
+#                 Modulus:
+#                     00:ad:0e:15:ce:e4:43:80:5c:b1:87:f3:b7:60:f9:
+#                     71:12:a5:ae:dc:26:94:88:aa:f4:ce:f5:20:39:28:
+#                     58:60:0c:f8:80:da:a9:15:95:32:61:3c:b5:b1:28:
+#                     84:8a:8a:dc:9f:0a:0c:83:17:7a:8f:90:ac:8a:e7:
+#                     79:53:5c:31:84:2a:f6:0f:98:32:36:76:cc:de:dd:
+#                     3c:a8:a2:ef:6a:fb:21:f2:52:61:df:9f:20:d7:1f:
+#                     e2:b1:d9:fe:18:64:d2:12:5b:5f:f9:58:18:35:bc:
+#                     47:cd:a1:36:f9:6b:7f:d4:b0:38:3e:c1:1b:c3:8c:
+#                     33:d9:d8:2f:18:fe:28:0f:b3:a7:83:d6:c3:6e:44:
+#                     c0:61:35:96:16:fe:59:9c:8b:76:6d:d7:f1:a2:4b:
+#                     0d:2b:ff:0b:72:da:9e:60:d0:8e:90:35:c6:78:55:
+#                     87:20:a1:cf:e5:6d:0a:c8:49:7c:31:98:33:6c:22:
+#                     e9:87:d0:32:5a:a2:ba:13:82:11:ed:39:17:9d:99:
+#                     3a:72:a1:e6:fa:a4:d9:d5:17:31:75:ae:85:7d:22:
+#                     ae:3f:01:46:86:f6:28:79:c8:b1:da:e4:57:17:c4:
+#                     7e:1c:0e:b0:b4:92:a6:56:b3:bd:b2:97:ed:aa:a7:
+#                     f0:b7:c5:a8:3f:95:16:d0:ff:a1:96:eb:08:5f:18:
+#                     77:4f
+#                 Exponent: 65537 (0x10001)
+#         X509v3 extensions:
+#             X509v3 Key Usage: critical
+#                 Digital Signature, Certificate Sign, CRL Sign
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#             X509v3 Subject Key Identifier:
+#                 45:EB:A2:AF:F4:92:CB:82:31:2D:51:8B:A7:A7:21:9D:F3:6D:C8:0F
+#             X509v3 Authority Key Identifier:
+#                 keyid:45:EB:A2:AF:F4:92:CB:82:31:2D:51:8B:A7:A7:21:9D:F3:6D:C8:0F
+#
+#     Signature Algorithm: sha1WithRSAEncryption
+#          a2:0e:bc:df:e2:ed:f0:e3:72:73:7a:64:94:bf:f7:72:66:d8:
+#          32:e4:42:75:62:ae:87:eb:f2:d5:d9:de:56:b3:9f:cc:ce:14:
+#          28:b9:0d:97:60:5c:12:4c:58:e4:d3:3d:83:49:45:58:97:35:
+#          69:1a:a8:47:ea:56:c6:79:ab:12:d8:67:81:84:df:7f:09:3c:
+#          94:e6:b8:26:2c:20:bd:3d:b3:28:89:f7:5f:ff:22:e2:97:84:
+#          1f:e9:65:ef:87:e0:df:c1:67:49:b3:5d:eb:b2:09:2a:eb:26:
+#          ed:78:be:7d:3f:2b:f3:b7:26:35:6d:5f:89:01:b6:49:5b:9f:
+#          01:05:9b:ab:3d:25:c1:cc:b6:7f:c2:f1:6f:86:c6:fa:64:68:
+#          eb:81:2d:94:eb:42:b7:fa:8c:1e:dd:62:f1:be:50:67:b7:6c:
+#          bd:f3:f1:1f:6b:0c:36:07:16:7f:37:7c:a9:5b:6d:7a:f1:12:
+#          46:60:83:d7:27:04:be:4b:ce:97:be:c3:67:2a:68:11:df:80:
+#          e7:0c:33:66:bf:13:0d:14:6e:f3:7f:1f:63:10:1e:fa:8d:1b:
+#          25:6d:6c:8f:a5:b7:61:01:b1:d2:a3:26:a1:10:71:9d:ad:e2:
+#          c3:f9:c3:99:51:b7:2b:07:08:ce:2e:e6:50:b2:a7:fa:0a:45:
+#          2f:a2:f0:f2
+-----BEGIN CERTIFICATE-----
+MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
+MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
+b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
+cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
+MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
+JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
+mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
+VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
+AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
+AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
+BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
+pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
+dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
+fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
+NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
+H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
+-----END CERTIFICATE-----
+# DigiCert Global Root CA.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number:
+#             08:3b:e0:56:90:42:46:b1:a1:75:6a:c9:59:91:c7:4a
+#     Signature Algorithm: sha1WithRSAEncryption
+#         Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA
+#         Validity
+#             Not Before: Nov 10 00:00:00 2006 GMT
+#             Not After : Nov 10 00:00:00 2031 GMT
+#         Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA
+#         Subject Public Key Info:
+#             Public Key Algorithm: rsaEncryption
+#                 Public-Key: (2048 bit)
+#                 Modulus:
+#                     00:e2:3b:e1:11:72:de:a8:a4:d3:a3:57:aa:50:a2:
+#                     8f:0b:77:90:c9:a2:a5:ee:12:ce:96:5b:01:09:20:
+#                     cc:01:93:a7:4e:30:b7:53:f7:43:c4:69:00:57:9d:
+#                     e2:8d:22:dd:87:06:40:00:81:09:ce:ce:1b:83:bf:
+#                     df:cd:3b:71:46:e2:d6:66:c7:05:b3:76:27:16:8f:
+#                     7b:9e:1e:95:7d:ee:b7:48:a3:08:da:d6:af:7a:0c:
+#                     39:06:65:7f:4a:5d:1f:bc:17:f8:ab:be:ee:28:d7:
+#                     74:7f:7a:78:99:59:85:68:6e:5c:23:32:4b:bf:4e:
+#                     c0:e8:5a:6d:e3:70:bf:77:10:bf:fc:01:f6:85:d9:
+#                     a8:44:10:58:32:a9:75:18:d5:d1:a2:be:47:e2:27:
+#                     6a:f4:9a:33:f8:49:08:60:8b:d4:5f:b4:3a:84:bf:
+#                     a1:aa:4a:4c:7d:3e:cf:4f:5f:6c:76:5e:a0:4b:37:
+#                     91:9e:dc:22:e6:6d:ce:14:1a:8e:6a:cb:fe:cd:b3:
+#                     14:64:17:c7:5b:29:9e:32:bf:f2:ee:fa:d3:0b:42:
+#                     d4:ab:b7:41:32:da:0c:d4:ef:f8:81:d5:bb:8d:58:
+#                     3f:b5:1b:e8:49:28:a2:70:da:31:04:dd:f7:b2:16:
+#                     f2:4c:0a:4e:07:a8:ed:4a:3d:5e:b5:7f:a3:90:c3:
+#                     af:27
+#                 Exponent: 65537 (0x10001)
+#         X509v3 extensions:
+#             X509v3 Key Usage: critical
+#                 Digital Signature, Certificate Sign, CRL Sign
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#             X509v3 Subject Key Identifier:
+#                 03:DE:50:35:56:D1:4C:BB:66:F0:A3:E2:1B:1B:C3:97:B2:3D:D1:55
+#             X509v3 Authority Key Identifier:
+#                 keyid:03:DE:50:35:56:D1:4C:BB:66:F0:A3:E2:1B:1B:C3:97:B2:3D:D1:55
+#
+#     Signature Algorithm: sha1WithRSAEncryption
+#          cb:9c:37:aa:48:13:12:0a:fa:dd:44:9c:4f:52:b0:f4:df:ae:
+#          04:f5:79:79:08:a3:24:18:fc:4b:2b:84:c0:2d:b9:d5:c7:fe:
+#          f4:c1:1f:58:cb:b8:6d:9c:7a:74:e7:98:29:ab:11:b5:e3:70:
+#          a0:a1:cd:4c:88:99:93:8c:91:70:e2:ab:0f:1c:be:93:a9:ff:
+#          63:d5:e4:07:60:d3:a3:bf:9d:5b:09:f1:d5:8e:e3:53:f4:8e:
+#          63:fa:3f:a7:db:b4:66:df:62:66:d6:d1:6e:41:8d:f2:2d:b5:
+#          ea:77:4a:9f:9d:58:e2:2b:59:c0:40:23:ed:2d:28:82:45:3e:
+#          79:54:92:26:98:e0:80:48:a8:37:ef:f0:d6:79:60:16:de:ac:
+#          e8:0e:cd:6e:ac:44:17:38:2f:49:da:e1:45:3e:2a:b9:36:53:
+#          cf:3a:50:06:f7:2e:e8:c4:57:49:6c:61:21:18:d5:04:ad:78:
+#          3c:2c:3a:80:6b:a7:eb:af:15:14:e9:d8:89:c1:b9:38:6c:e2:
+#          91:6c:8a:ff:64:b9:77:25:57:30:c0:1b:24:a3:e1:dc:e9:df:
+#          47:7c:b5:b4:24:08:05:30:ec:2d:bd:0b:bf:45:bf:50:b9:a9:
+#          f3:eb:98:01:12:ad:c8:88:c6:98:34:5f:8d:0a:3c:c6:e9:d5:
+#          95:95:6d:de
+-----BEGIN CERTIFICATE-----
+MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
+MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
+QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
+MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
+b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
+9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
+CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
+nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
+43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
+T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
+gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
+BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
+TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
+DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
+hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
+06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
+PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
+YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
+CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
+-----END CERTIFICATE-----
+# DigiCert High Assurance EV Root CA.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number:
+#             02:ac:5c:26:6a:0b:40:9b:8f:0b:79:f2:ae:46:25:77
+#     Signature Algorithm: sha1WithRSAEncryption
+#         Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
+#         Validity
+#             Not Before: Nov 10 00:00:00 2006 GMT
+#             Not After : Nov 10 00:00:00 2031 GMT
+#         Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
+#         Subject Public Key Info:
+#             Public Key Algorithm: rsaEncryption
+#                 Public-Key: (2048 bit)
+#                 Modulus:
+#                     00:c6:cc:e5:73:e6:fb:d4:bb:e5:2d:2d:32:a6:df:
+#                     e5:81:3f:c9:cd:25:49:b6:71:2a:c3:d5:94:34:67:
+#                     a2:0a:1c:b0:5f:69:a6:40:b1:c4:b7:b2:8f:d0:98:
+#                     a4:a9:41:59:3a:d3:dc:94:d6:3c:db:74:38:a4:4a:
+#                     cc:4d:25:82:f7:4a:a5:53:12:38:ee:f3:49:6d:71:
+#                     91:7e:63:b6:ab:a6:5f:c3:a4:84:f8:4f:62:51:be:
+#                     f8:c5:ec:db:38:92:e3:06:e5:08:91:0c:c4:28:41:
+#                     55:fb:cb:5a:89:15:7e:71:e8:35:bf:4d:72:09:3d:
+#                     be:3a:38:50:5b:77:31:1b:8d:b3:c7:24:45:9a:a7:
+#                     ac:6d:00:14:5a:04:b7:ba:13:eb:51:0a:98:41:41:
+#                     22:4e:65:61:87:81:41:50:a6:79:5c:89:de:19:4a:
+#                     57:d5:2e:e6:5d:1c:53:2c:7e:98:cd:1a:06:16:a4:
+#                     68:73:d0:34:04:13:5c:a1:71:d3:5a:7c:55:db:5e:
+#                     64:e1:37:87:30:56:04:e5:11:b4:29:80:12:f1:79:
+#                     39:88:a2:02:11:7c:27:66:b7:88:b7:78:f2:ca:0a:
+#                     a8:38:ab:0a:64:c2:bf:66:5d:95:84:c1:a1:25:1e:
+#                     87:5d:1a:50:0b:20:12:cc:41:bb:6e:0b:51:38:b8:
+#                     4b:cb
+#                 Exponent: 65537 (0x10001)
+#         X509v3 extensions:
+#             X509v3 Key Usage: critical
+#                 Digital Signature, Certificate Sign, CRL Sign
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#             X509v3 Subject Key Identifier:
+#                 B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
+#             X509v3 Authority Key Identifier:
+#                 keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
+#
+#     Signature Algorithm: sha1WithRSAEncryption
+#          1c:1a:06:97:dc:d7:9c:9f:3c:88:66:06:08:57:21:db:21:47:
+#          f8:2a:67:aa:bf:18:32:76:40:10:57:c1:8a:f3:7a:d9:11:65:
+#          8e:35:fa:9e:fc:45:b5:9e:d9:4c:31:4b:b8:91:e8:43:2c:8e:
+#          b3:78:ce:db:e3:53:79:71:d6:e5:21:94:01:da:55:87:9a:24:
+#          64:f6:8a:66:cc:de:9c:37:cd:a8:34:b1:69:9b:23:c8:9e:78:
+#          22:2b:70:43:e3:55:47:31:61:19:ef:58:c5:85:2f:4e:30:f6:
+#          a0:31:16:23:c8:e7:e2:65:16:33:cb:bf:1a:1b:a0:3d:f8:ca:
+#          5e:8b:31:8b:60:08:89:2d:0c:06:5c:52:b7:c4:f9:0a:98:d1:
+#          15:5f:9f:12:be:7c:36:63:38:bd:44:a4:7f:e4:26:2b:0a:c4:
+#          97:69:0d:e9:8c:e2:c0:10:57:b8:c8:76:12:91:55:f2:48:69:
+#          d8:bc:2a:02:5b:0f:44:d4:20:31:db:f4:ba:70:26:5d:90:60:
+#          9e:bc:4b:17:09:2f:b4:cb:1e:43:68:c9:07:27:c1:d2:5c:f7:
+#          ea:21:b9:68:12:9c:3c:9c:bf:9e:fc:80:5c:9b:63:cd:ec:47:
+#          aa:25:27:67:a0:37:f3:00:82:7d:54:d7:a9:f8:e9:2e:13:a3:
+#          77:e8:1f:4a
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
+MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
+ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
+MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
+LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
+RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
++9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
+PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
+xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
+Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
+hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
+EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
+MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
+FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
+nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
+eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
+hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
+Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
+vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
++OkuE6N36B9K
+-----END CERTIFICATE-----
+# Entrust Root Certification Authority - EC1.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number:
+#             a6:8b:79:29:00:00:00:00:50:d0:91:f9
+#     Signature Algorithm: ecdsa-with-SHA384
+#         Issuer: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2012 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - EC1
+#         Validity
+#             Not Before: Dec 18 15:25:36 2012 GMT
+#             Not After : Dec 18 15:55:36 2037 GMT
+#         Subject: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2012 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - EC1
+#         Subject Public Key Info:
+#             Public Key Algorithm: id-ecPublicKey
+#                 Public-Key: (384 bit)
+#                 pub:
+#                     04:84:13:c9:d0:ba:6d:41:7b:e2:6c:d0:eb:55:5f:
+#                     66:02:1a:24:f4:5b:89:69:47:e3:b8:c2:7d:f1:f2:
+#                     02:c5:9f:a0:f6:5b:d5:8b:06:19:86:4f:53:10:6d:
+#                     07:24:27:a1:a0:f8:d5:47:19:61:4c:7d:ca:93:27:
+#                     ea:74:0c:ef:6f:96:09:fe:63:ec:70:5d:36:ad:67:
+#                     77:ae:c9:9d:7c:55:44:3a:a2:63:51:1f:f5:e3:62:
+#                     d4:a9:47:07:3e:cc:20
+#                 ASN1 OID: secp384r1
+#         X509v3 extensions:
+#             X509v3 Key Usage: critical
+#                 Certificate Sign, CRL Sign
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#             X509v3 Subject Key Identifier:
+#                 B7:63:E7:1A:DD:8D:E9:08:A6:55:83:A4:E0:6A:50:41:65:11:42:49
+#     Signature Algorithm: ecdsa-with-SHA384
+#          30:64:02:30:61:79:d8:e5:42:47:df:1c:ae:53:99:17:b6:6f:
+#          1c:7d:e1:bf:11:94:d1:03:88:75:e4:8d:89:a4:8a:77:46:de:
+#          6d:61:ef:02:f5:fb:b5:df:cc:fe:4e:ff:fe:a9:e6:a7:02:30:
+#          5b:99:d7:85:37:06:b5:7b:08:fd:eb:27:8b:4a:94:f9:e1:fa:
+#          a7:8e:26:08:e8:7c:92:68:6d:73:d8:6f:26:ac:21:02:b8:99:
+#          b7:26:41:5b:25:60:ae:d0:48:1a:ee:06
+-----BEGIN CERTIFICATE-----
+MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG
+A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3
+d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu
+dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq
+RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy
+MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD
+VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0
+L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g
+Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD
+ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi
+A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt
+ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH
+Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
+BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC
+R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX
+hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G
+-----END CERTIFICATE-----
+# Entrust Root Certification Authority - G2.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number: 1246989352 (0x4a538c28)
+#     Signature Algorithm: sha256WithRSAEncryption
+#         Issuer: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2009 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G2
+#         Validity
+#             Not Before: Jul  7 17:25:54 2009 GMT
+#             Not After : Dec  7 17:55:54 2030 GMT
+#         Subject: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2009 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G2
+#         Subject Public Key Info:
+#             Public Key Algorithm: rsaEncryption
+#                 Public-Key: (2048 bit)
+#                 Modulus:
+#                     00:ba:84:b6:72:db:9e:0c:6b:e2:99:e9:30:01:a7:
+#                     76:ea:32:b8:95:41:1a:c9:da:61:4e:58:72:cf:fe:
+#                     f6:82:79:bf:73:61:06:0a:a5:27:d8:b3:5f:d3:45:
+#                     4e:1c:72:d6:4e:32:f2:72:8a:0f:f7:83:19:d0:6a:
+#                     80:80:00:45:1e:b0:c7:e7:9a:bf:12:57:27:1c:a3:
+#                     68:2f:0a:87:bd:6a:6b:0e:5e:65:f3:1c:77:d5:d4:
+#                     85:8d:70:21:b4:b3:32:e7:8b:a2:d5:86:39:02:b1:
+#                     b8:d2:47:ce:e4:c9:49:c4:3b:a7:de:fb:54:7d:57:
+#                     be:f0:e8:6e:c2:79:b2:3a:0b:55:e2:50:98:16:32:
+#                     13:5c:2f:78:56:c1:c2:94:b3:f2:5a:e4:27:9a:9f:
+#                     24:d7:c6:ec:d0:9b:25:82:e3:cc:c2:c4:45:c5:8c:
+#                     97:7a:06:6b:2a:11:9f:a9:0a:6e:48:3b:6f:db:d4:
+#                     11:19:42:f7:8f:07:bf:f5:53:5f:9c:3e:f4:17:2c:
+#                     e6:69:ac:4e:32:4c:62:77:ea:b7:e8:e5:bb:34:bc:
+#                     19:8b:ae:9c:51:e7:b7:7e:b5:53:b1:33:22:e5:6d:
+#                     cf:70:3c:1a:fa:e2:9b:67:b6:83:f4:8d:a5:af:62:
+#                     4c:4d:e0:58:ac:64:34:12:03:f8:b6:8d:94:63:24:
+#                     a4:71
+#                 Exponent: 65537 (0x10001)
+#         X509v3 extensions:
+#             X509v3 Key Usage: critical
+#                 Certificate Sign, CRL Sign
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#             X509v3 Subject Key Identifier:
+#                 6A:72:26:7A:D0:1E:EF:7D:E7:3B:69:51:D4:6C:8D:9F:90:12:66:AB
+#     Signature Algorithm: sha256WithRSAEncryption
+#          79:9f:1d:96:c6:b6:79:3f:22:8d:87:d3:87:03:04:60:6a:6b:
+#          9a:2e:59:89:73:11:ac:43:d1:f5:13:ff:8d:39:2b:c0:f2:bd:
+#          4f:70:8c:a9:2f:ea:17:c4:0b:54:9e:d4:1b:96:98:33:3c:a8:
+#          ad:62:a2:00:76:ab:59:69:6e:06:1d:7e:c4:b9:44:8d:98:af:
+#          12:d4:61:db:0a:19:46:47:f3:eb:f7:63:c1:40:05:40:a5:d2:
+#          b7:f4:b5:9a:36:bf:a9:88:76:88:04:55:04:2b:9c:87:7f:1a:
+#          37:3c:7e:2d:a5:1a:d8:d4:89:5e:ca:bd:ac:3d:6c:d8:6d:af:
+#          d5:f3:76:0f:cd:3b:88:38:22:9d:6c:93:9a:c4:3d:bf:82:1b:
+#          65:3f:a6:0f:5d:aa:fc:e5:b2:15:ca:b5:ad:c6:bc:3d:d0:84:
+#          e8:ea:06:72:b0:4d:39:32:78:bf:3e:11:9c:0b:a4:9d:9a:21:
+#          f3:f0:9b:0b:30:78:db:c1:dc:87:43:fe:bc:63:9a:ca:c5:c2:
+#          1c:c9:c7:8d:ff:3b:12:58:08:e6:b6:3d:ec:7a:2c:4e:fb:83:
+#          96:ce:0c:3c:69:87:54:73:a4:73:c2:93:ff:51:10:ac:15:54:
+#          01:d8:fc:05:b1:89:a1:7f:74:83:9a:49:d7:dc:4e:7b:8a:48:
+#          6f:8b:45:f6
+-----BEGIN CERTIFICATE-----
+MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC
+VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50
+cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs
+IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz
+dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy
+NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu
+dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt
+dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0
+aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj
+YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
+AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T
+RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN
+cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW
+wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1
+U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0
+jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN
+BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/
+jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ
+Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v
+1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R
+nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH
+VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g==
+-----END CERTIFICATE-----
+# Entrust Root Certification Authority.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number: 1164660820 (0x456b5054)
+#     Signature Algorithm: sha1WithRSAEncryption
+#         Issuer: C=US, O=Entrust, Inc., OU=www.entrust.net/CPS is incorporated by reference, OU=(c) 2006 Entrust, Inc., CN=Entrust Root Certification Authority
+#         Validity
+#             Not Before: Nov 27 20:23:42 2006 GMT
+#             Not After : Nov 27 20:53:42 2026 GMT
+#         Subject: C=US, O=Entrust, Inc., OU=www.entrust.net/CPS is incorporated by reference, OU=(c) 2006 Entrust, Inc., CN=Entrust Root Certification Authority
+#         Subject Public Key Info:
+#             Public Key Algorithm: rsaEncryption
+#                 Public-Key: (2048 bit)
+#                 Modulus:
+#                     00:b6:95:b6:43:42:fa:c6:6d:2a:6f:48:df:94:4c:
+#                     39:57:05:ee:c3:79:11:41:68:36:ed:ec:fe:9a:01:
+#                     8f:a1:38:28:fc:f7:10:46:66:2e:4d:1e:1a:b1:1a:
+#                     4e:c6:d1:c0:95:88:b0:c9:ff:31:8b:33:03:db:b7:
+#                     83:7b:3e:20:84:5e:ed:b2:56:28:a7:f8:e0:b9:40:
+#                     71:37:c5:cb:47:0e:97:2a:68:c0:22:95:62:15:db:
+#                     47:d9:f5:d0:2b:ff:82:4b:c9:ad:3e:de:4c:db:90:
+#                     80:50:3f:09:8a:84:00:ec:30:0a:3d:18:cd:fb:fd:
+#                     2a:59:9a:23:95:17:2c:45:9e:1f:6e:43:79:6d:0c:
+#                     5c:98:fe:48:a7:c5:23:47:5c:5e:fd:6e:e7:1e:b4:
+#                     f6:68:45:d1:86:83:5b:a2:8a:8d:b1:e3:29:80:fe:
+#                     25:71:88:ad:be:bc:8f:ac:52:96:4b:aa:51:8d:e4:
+#                     13:31:19:e8:4e:4d:9f:db:ac:b3:6a:d5:bc:39:54:
+#                     71:ca:7a:7a:7f:90:dd:7d:1d:80:d9:81:bb:59:26:
+#                     c2:11:fe:e6:93:e2:f7:80:e4:65:fb:34:37:0e:29:
+#                     80:70:4d:af:38:86:2e:9e:7f:57:af:9e:17:ae:eb:
+#                     1c:cb:28:21:5f:b6:1c:d8:e7:a2:04:22:f9:d3:da:
+#                     d8:cb
+#                 Exponent: 65537 (0x10001)
+#         X509v3 extensions:
+#             X509v3 Key Usage: critical
+#                 Certificate Sign, CRL Sign
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#             X509v3 Private Key Usage Period:
+#                 Not Before: Nov 27 20:23:42 2006 GMT, Not After: Nov 27 20:53:42 2026 GMT
+#             X509v3 Authority Key Identifier:
+#                 keyid:68:90:E4:67:A4:A6:53:80:C7:86:66:A4:F1:F7:4B:43:FB:84:BD:6D
+#
+#             X509v3 Subject Key Identifier:
+#                 68:90:E4:67:A4:A6:53:80:C7:86:66:A4:F1:F7:4B:43:FB:84:BD:6D
+#             1.2.840.113533.7.65.0:
+#                 0...V7.1:4.0....
+#     Signature Algorithm: sha1WithRSAEncryption
+#          93:d4:30:b0:d7:03:20:2a:d0:f9:63:e8:91:0c:05:20:a9:5f:
+#          19:ca:7b:72:4e:d4:b1:db:d0:96:fb:54:5a:19:2c:0c:08:f7:
+#          b2:bc:85:a8:9d:7f:6d:3b:52:b3:2a:db:e7:d4:84:8c:63:f6:
+#          0f:cb:26:01:91:50:6c:f4:5f:14:e2:93:74:c0:13:9e:30:3a:
+#          50:e3:b4:60:c5:1c:f0:22:44:8d:71:47:ac:c8:1a:c9:e9:9b:
+#          9a:00:60:13:ff:70:7e:5f:11:4d:49:1b:b3:15:52:7b:c9:54:
+#          da:bf:9d:95:af:6b:9a:d8:9e:e9:f1:e4:43:8d:e2:11:44:3a:
+#          bf:af:bd:83:42:73:52:8b:aa:bb:a7:29:cf:f5:64:1c:0a:4d:
+#          d1:bc:aa:ac:9f:2a:d0:ff:7f:7f:da:7d:ea:b1:ed:30:25:c1:
+#          84:da:34:d2:5b:78:83:56:ec:9c:36:c3:26:e2:11:f6:67:49:
+#          1d:92:ab:8c:fb:eb:ff:7a:ee:85:4a:a7:50:80:f0:a7:5c:4a:
+#          94:2e:5f:05:99:3c:52:41:e0:cd:b4:63:cf:01:43:ba:9c:83:
+#          dc:8f:60:3b:f3:5a:b4:b4:7b:ae:da:0b:90:38:75:ef:81:1d:
+#          66:d2:f7:57:70:36:b3:bf:fc:28:af:71:25:85:5b:13:fe:1e:
+#          7f:5a:b4:3c
+-----BEGIN CERTIFICATE-----
+MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC
+VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0
+Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW
+KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl
+cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw
+NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw
+NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy
+ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV
+BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo
+Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4
+4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9
+KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI
+rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi
+94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB
+sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi
+gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo
+kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE
+vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
+A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t
+O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua
+AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP
+9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/
+eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m
+0vdXcDazv/wor3ElhVsT/h5/WrQ8
+-----END CERTIFICATE-----
+# Entrust.net Certification Authority (2048).pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number: 946069240 (0x3863def8)
+#     Signature Algorithm: sha1WithRSAEncryption
+#         Issuer: O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048)
+#         Validity
+#             Not Before: Dec 24 17:50:51 1999 GMT
+#             Not After : Jul 24 14:15:12 2029 GMT
+#         Subject: O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048)
+#         Subject Public Key Info:
+#             Public Key Algorithm: rsaEncryption
+#                 Public-Key: (2048 bit)
+#                 Modulus:
+#                     00:ad:4d:4b:a9:12:86:b2:ea:a3:20:07:15:16:64:
+#                     2a:2b:4b:d1:bf:0b:4a:4d:8e:ed:80:76:a5:67:b7:
+#                     78:40:c0:73:42:c8:68:c0:db:53:2b:dd:5e:b8:76:
+#                     98:35:93:8b:1a:9d:7c:13:3a:0e:1f:5b:b7:1e:cf:
+#                     e5:24:14:1e:b1:81:a9:8d:7d:b8:cc:6b:4b:03:f1:
+#                     02:0c:dc:ab:a5:40:24:00:7f:74:94:a1:9d:08:29:
+#                     b3:88:0b:f5:87:77:9d:55:cd:e4:c3:7e:d7:6a:64:
+#                     ab:85:14:86:95:5b:97:32:50:6f:3d:c8:ba:66:0c:
+#                     e3:fc:bd:b8:49:c1:76:89:49:19:fd:c0:a8:bd:89:
+#                     a3:67:2f:c6:9f:bc:71:19:60:b8:2d:e9:2c:c9:90:
+#                     76:66:7b:94:e2:af:78:d6:65:53:5d:3c:d6:9c:b2:
+#                     cf:29:03:f9:2f:a4:50:b2:d4:48:ce:05:32:55:8a:
+#                     fd:b2:64:4c:0e:e4:98:07:75:db:7f:df:b9:08:55:
+#                     60:85:30:29:f9:7b:48:a4:69:86:e3:35:3f:1e:86:
+#                     5d:7a:7a:15:bd:ef:00:8e:15:22:54:17:00:90:26:
+#                     93:bc:0e:49:68:91:bf:f8:47:d3:9d:95:42:c1:0e:
+#                     4d:df:6f:26:cf:c3:18:21:62:66:43:70:d6:d5:c0:
+#                     07:e1
+#                 Exponent: 65537 (0x10001)
+#         X509v3 extensions:
+#             X509v3 Key Usage: critical
+#                 Certificate Sign, CRL Sign
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#             X509v3 Subject Key Identifier:
+#                 55:E4:81:D1:11:80:BE:D8:89:B9:08:A3:31:F9:A1:24:09:16:B9:70
+#     Signature Algorithm: sha1WithRSAEncryption
+#          3b:9b:8f:56:9b:30:e7:53:99:7c:7a:79:a7:4d:97:d7:19:95:
+#          90:fb:06:1f:ca:33:7c:46:63:8f:96:66:24:fa:40:1b:21:27:
+#          ca:e6:72:73:f2:4f:fe:31:99:fd:c8:0c:4c:68:53:c6:80:82:
+#          13:98:fa:b6:ad:da:5d:3d:f1:ce:6e:f6:15:11:94:82:0c:ee:
+#          3f:95:af:11:ab:0f:d7:2f:de:1f:03:8f:57:2c:1e:c9:bb:9a:
+#          1a:44:95:eb:18:4f:a6:1f:cd:7d:57:10:2f:9b:04:09:5a:84:
+#          b5:6e:d8:1d:3a:e1:d6:9e:d1:6c:79:5e:79:1c:14:c5:e3:d0:
+#          4c:93:3b:65:3c:ed:df:3d:be:a6:e5:95:1a:c3:b5:19:c3:bd:
+#          5e:5b:bb:ff:23:ef:68:19:cb:12:93:27:5c:03:2d:6f:30:d0:
+#          1e:b6:1a:ac:de:5a:f7:d1:aa:a8:27:a6:fe:79:81:c4:79:99:
+#          33:57:ba:12:b0:a9:e0:42:6c:93:ca:56:de:fe:6d:84:0b:08:
+#          8b:7e:8d:ea:d7:98:21:c6:f3:e7:3c:79:2f:5e:9c:d1:4c:15:
+#          8d:e1:ec:22:37:cc:9a:43:0b:97:dc:80:90:8d:b3:67:9b:6f:
+#          48:08:15:56:cf:bf:f1:2b:7c:5e:9a:76:e9:59:90:c5:7c:83:
+#          35:11:65:51
+-----BEGIN CERTIFICATE-----
+MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML
+RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp
+bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5
+IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp
+ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3
+MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3
+LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp
+YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG
+A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq
+K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe
+sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX
+MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT
+XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/
+HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH
+4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
+HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub
+j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo
+U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
+zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b
+u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+
+bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er
+fF6adulZkMV8gzURZVE=
+-----END CERTIFICATE-----
+# GeoTrust Global CA.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number: 144470 (0x23456)
+#     Signature Algorithm: sha1WithRSAEncryption
+#         Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
+#         Validity
+#             Not Before: May 21 04:00:00 2002 GMT
+#             Not After : May 21 04:00:00 2022 GMT
+#         Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
+#         Subject Public Key Info:
+#             Public Key Algorithm: rsaEncryption
+#                 Public-Key: (2048 bit)
+#                 Modulus:
+#                     00:da:cc:18:63:30:fd:f4:17:23:1a:56:7e:5b:df:
+#                     3c:6c:38:e4:71:b7:78:91:d4:bc:a1:d8:4c:f8:a8:
+#                     43:b6:03:e9:4d:21:07:08:88:da:58:2f:66:39:29:
+#                     bd:05:78:8b:9d:38:e8:05:b7:6a:7e:71:a4:e6:c4:
+#                     60:a6:b0:ef:80:e4:89:28:0f:9e:25:d6:ed:83:f3:
+#                     ad:a6:91:c7:98:c9:42:18:35:14:9d:ad:98:46:92:
+#                     2e:4f:ca:f1:87:43:c1:16:95:57:2d:50:ef:89:2d:
+#                     80:7a:57:ad:f2:ee:5f:6b:d2:00:8d:b9:14:f8:14:
+#                     15:35:d9:c0:46:a3:7b:72:c8:91:bf:c9:55:2b:cd:
+#                     d0:97:3e:9c:26:64:cc:df:ce:83:19:71:ca:4e:e6:
+#                     d4:d5:7b:a9:19:cd:55:de:c8:ec:d2:5e:38:53:e5:
+#                     5c:4f:8c:2d:fe:50:23:36:fc:66:e6:cb:8e:a4:39:
+#                     19:00:b7:95:02:39:91:0b:0e:fe:38:2e:d1:1d:05:
+#                     9a:f6:4d:3e:6f:0f:07:1d:af:2c:1e:8f:60:39:e2:
+#                     fa:36:53:13:39:d4:5e:26:2b:db:3d:a8:14:bd:32:
+#                     eb:18:03:28:52:04:71:e5:ab:33:3d:e1:38:bb:07:
+#                     36:84:62:9c:79:ea:16:30:f4:5f:c0:2b:e8:71:6b:
+#                     e4:f9
+#                 Exponent: 65537 (0x10001)
+#         X509v3 extensions:
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#             X509v3 Subject Key Identifier:
+#                 C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E
+#             X509v3 Authority Key Identifier:
+#                 keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E
+#
+#     Signature Algorithm: sha1WithRSAEncryption
+#          35:e3:29:6a:e5:2f:5d:54:8e:29:50:94:9f:99:1a:14:e4:8f:
+#          78:2a:62:94:a2:27:67:9e:d0:cf:1a:5e:47:e9:c1:b2:a4:cf:
+#          dd:41:1a:05:4e:9b:4b:ee:4a:6f:55:52:b3:24:a1:37:0a:eb:
+#          64:76:2a:2e:2c:f3:fd:3b:75:90:bf:fa:71:d8:c7:3d:37:d2:
+#          b5:05:95:62:b9:a6:de:89:3d:36:7b:38:77:48:97:ac:a6:20:
+#          8f:2e:a6:c9:0c:c2:b2:99:45:00:c7:ce:11:51:22:22:e0:a5:
+#          ea:b6:15:48:09:64:ea:5e:4f:74:f7:05:3e:c7:8a:52:0c:db:
+#          15:b4:bd:6d:9b:e5:c6:b1:54:68:a9:e3:69:90:b6:9a:a5:0f:
+#          b8:b9:3f:20:7d:ae:4a:b5:b8:9c:e4:1d:b6:ab:e6:94:a5:c1:
+#          c7:83:ad:db:f5:27:87:0e:04:6c:d5:ff:dd:a0:5d:ed:87:52:
+#          b7:2b:15:02:ae:39:a6:6a:74:e9:da:c4:e7:bc:4d:34:1e:a9:
+#          5c:4d:33:5f:92:09:2f:88:66:5d:77:97:c7:1d:76:13:a9:d5:
+#          e5:f1:16:09:11:35:d5:ac:db:24:71:70:2c:98:56:0b:d9:17:
+#          b4:d1:e3:51:2b:5e:75:e8:d5:d0:dc:4f:34:ed:c2:05:66:80:
+#          a1:cb:e6:33
+-----BEGIN CERTIFICATE-----
+MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
+MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
+YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
+EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
+R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
+9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
+fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
+iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
+1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
+bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
+MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
+ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
+uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
+Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
+tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
+PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
+hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
+5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
+-----END CERTIFICATE-----
+# GeoTrust Primary Certification Authority - G2.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number:
+#             3c:b2:f4:48:0a:00:e2:fe:eb:24:3b:5e:60:3e:c3:6b
+#     Signature Algorithm: ecdsa-with-SHA384
+#         Issuer: C=US, O=GeoTrust Inc., OU=(c) 2007 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G2
+#         Validity
+#             Not Before: Nov  5 00:00:00 2007 GMT
+#             Not After : Jan 18 23:59:59 2038 GMT
+#         Subject: C=US, O=GeoTrust Inc., OU=(c) 2007 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G2
+#         Subject Public Key Info:
+#             Public Key Algorithm: id-ecPublicKey
+#                 Public-Key: (384 bit)
+#                 pub:
+#                     04:15:b1:e8:fd:03:15:43:e5:ac:eb:87:37:11:62:
+#                     ef:d2:83:36:52:7d:45:57:0b:4a:8d:7b:54:3b:3a:
+#                     6e:5f:15:02:c0:50:a6:cf:25:2f:7d:ca:48:b8:c7:
+#                     50:63:1c:2a:21:08:7c:9a:36:d8:0b:fe:d1:26:c5:
+#                     58:31:30:28:25:f3:5d:5d:a3:b8:b6:a5:b4:92:ed:
+#                     6c:2c:9f:eb:dd:43:89:a2:3c:4b:48:91:1d:50:ec:
+#                     26:df:d6:60:2e:bd:21
+#                 ASN1 OID: secp384r1
+#         X509v3 extensions:
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#             X509v3 Key Usage: critical
+#                 Certificate Sign, CRL Sign
+#             X509v3 Subject Key Identifier:
+#                 15:5F:35:57:51:55:FB:25:B2:AD:03:69:FC:01:A3:FA:BE:11:55:D5
+#     Signature Algorithm: ecdsa-with-SHA384
+#          30:64:02:30:64:96:59:a6:e8:09:de:8b:ba:fa:5a:88:88:f0:
+#          1f:91:d3:46:a8:f2:4a:4c:02:63:fb:6c:5f:38:db:2e:41:93:
+#          a9:0e:e6:9d:dc:31:1c:b2:a0:a7:18:1c:79:e1:c7:36:02:30:
+#          3a:56:af:9a:74:6c:f6:fb:83:e0:33:d3:08:5f:a1:9c:c2:5b:
+#          9f:46:d6:b6:cb:91:06:63:a2:06:e7:33:ac:3e:a8:81:12:d0:
+#          cb:ba:d0:92:0b:b6:9e:96:aa:04:0f:8a
+-----BEGIN CERTIFICATE-----
+MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL
+MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj
+KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2
+MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
+eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV
+BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw
+NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV
+BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH
+MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL
+So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal
+tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO
+BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG
+CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT
+qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz
+rD6ogRLQy7rQkgu2npaqBA+K
+-----END CERTIFICATE-----
+# GeoTrust Primary Certification Authority - G3.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number:
+#             15:ac:6e:94:19:b2:79:4b:41:f6:27:a9:c3:18:0f:1f
+#     Signature Algorithm: sha256WithRSAEncryption
+#         Issuer: C=US, O=GeoTrust Inc., OU=(c) 2008 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G3
+#         Validity
+#             Not Before: Apr  2 00:00:00 2008 GMT
+#             Not After : Dec  1 23:59:59 2037 GMT
+#         Subject: C=US, O=GeoTrust Inc., OU=(c) 2008 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G3
+#         Subject Public Key Info:
+#             Public Key Algorithm: rsaEncryption
+#                 Public-Key: (2048 bit)
+#                 Modulus:
+#                     00:dc:e2:5e:62:58:1d:33:57:39:32:33:fa:eb:cb:
+#                     87:8c:a7:d4:4a:dd:06:88:ea:64:8e:31:98:a5:38:
+#                     90:1e:98:cf:2e:63:2b:f0:46:bc:44:b2:89:a1:c0:
+#                     28:0c:49:70:21:95:9f:64:c0:a6:93:12:02:65:26:
+#                     86:c6:a5:89:f0:fa:d7:84:a0:70:af:4f:1a:97:3f:
+#                     06:44:d5:c9:eb:72:10:7d:e4:31:28:fb:1c:61:e6:
+#                     28:07:44:73:92:22:69:a7:03:88:6c:9d:63:c8:52:
+#                     da:98:27:e7:08:4c:70:3e:b4:c9:12:c1:c5:67:83:
+#                     5d:33:f3:03:11:ec:6a:d0:53:e2:d1:ba:36:60:94:
+#                     80:bb:61:63:6c:5b:17:7e:df:40:94:1e:ab:0d:c2:
+#                     21:28:70:88:ff:d6:26:6c:6c:60:04:25:4e:55:7e:
+#                     7d:ef:bf:94:48:de:b7:1d:dd:70:8d:05:5f:88:a5:
+#                     9b:f2:c2:ee:ea:d1:40:41:6d:62:38:1d:56:06:c5:
+#                     03:47:51:20:19:fc:7b:10:0b:0e:62:ae:76:55:bf:
+#                     5f:77:be:3e:49:01:53:3d:98:25:03:76:24:5a:1d:
+#                     b4:db:89:ea:79:e5:b6:b3:3b:3f:ba:4c:28:41:7f:
+#                     06:ac:6a:8e:c1:d0:f6:05:1d:7d:e6:42:86:e3:a5:
+#                     d5:47
+#                 Exponent: 65537 (0x10001)
+#         X509v3 extensions:
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#             X509v3 Key Usage: critical
+#                 Certificate Sign, CRL Sign
+#             X509v3 Subject Key Identifier:
+#                 C4:79:CA:8E:A1:4E:03:1D:1C:DC:6B:DB:31:5B:94:3E:3F:30:7F:2D
+#     Signature Algorithm: sha256WithRSAEncryption
+#          2d:c5:13:cf:56:80:7b:7a:78:bd:9f:ae:2c:99:e7:ef:da:df:
+#          94:5e:09:69:a7:e7:6e:68:8c:bd:72:be:47:a9:0e:97:12:b8:
+#          4a:f1:64:d3:39:df:25:34:d4:c1:cd:4e:81:f0:0f:04:c4:24:
+#          b3:34:96:c6:a6:aa:30:df:68:61:73:d7:f9:8e:85:89:ef:0e:
+#          5e:95:28:4a:2a:27:8f:10:8e:2e:7c:86:c4:02:9e:da:0c:77:
+#          65:0e:44:0d:92:fd:fd:b3:16:36:fa:11:0d:1d:8c:0e:07:89:
+#          6a:29:56:f7:72:f4:dd:15:9c:77:35:66:57:ab:13:53:d8:8e:
+#          c1:40:c5:d7:13:16:5a:72:c7:b7:69:01:c4:7a:b1:83:01:68:
+#          7d:8d:41:a1:94:18:c1:25:5c:fc:f0:fe:83:02:87:7c:0d:0d:
+#          cf:2e:08:5c:4a:40:0d:3e:ec:81:61:e6:24:db:ca:e0:0e:2d:
+#          07:b2:3e:56:dc:8d:f5:41:85:07:48:9b:0c:0b:cb:49:3f:7d:
+#          ec:b7:fd:cb:8d:67:89:1a:ab:ed:bb:1e:a3:00:08:08:17:2a:
+#          82:5c:31:5d:46:8a:2d:0f:86:9b:74:d9:45:fb:d4:40:b1:7a:
+#          aa:68:2d:86:b2:99:22:e1:c1:2b:c7:9c:f8:f3:5f:a8:82:12:
+#          eb:19:11:2d
+-----BEGIN CERTIFICATE-----
+MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB
+mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT
+MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s
+eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv
+cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ
+BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
+MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0
+BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
+LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz
++uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm
+hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn
+5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W
+JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL
+DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC
+huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw
+HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB
+AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB
+zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN
+kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
+AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH
+SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G
+spki4cErx5z481+oghLrGREt
+-----END CERTIFICATE-----
+# GeoTrust Primary Certification Authority.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number:
+#             18:ac:b5:6a:fd:69:b6:15:3a:63:6c:af:da:fa:c4:a1
+#     Signature Algorithm: sha1WithRSAEncryption
+#         Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Primary Certification Authority
+#         Validity
+#             Not Before: Nov 27 00:00:00 2006 GMT
+#             Not After : Jul 16 23:59:59 2036 GMT
+#         Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Primary Certification Authority
+#         Subject Public Key Info:
+#             Public Key Algorithm: rsaEncryption
+#                 Public-Key: (2048 bit)
+#                 Modulus:
+#                     00:be:b8:15:7b:ff:d4:7c:7d:67:ad:83:64:7b:c8:
+#                     42:53:2d:df:f6:84:08:20:61:d6:01:59:6a:9c:44:
+#                     11:af:ef:76:fd:95:7e:ce:61:30:bb:7a:83:5f:02:
+#                     bd:01:66:ca:ee:15:8d:6f:a1:30:9c:bd:a1:85:9e:
+#                     94:3a:f3:56:88:00:31:cf:d8:ee:6a:96:02:d9:ed:
+#                     03:8c:fb:75:6d:e7:ea:b8:55:16:05:16:9a:f4:e0:
+#                     5e:b1:88:c0:64:85:5c:15:4d:88:c7:b7:ba:e0:75:
+#                     e9:ad:05:3d:9d:c7:89:48:e0:bb:28:c8:03:e1:30:
+#                     93:64:5e:52:c0:59:70:22:35:57:88:8a:f1:95:0a:
+#                     83:d7:bc:31:73:01:34:ed:ef:46:71:e0:6b:02:a8:
+#                     35:72:6b:97:9b:66:e0:cb:1c:79:5f:d8:1a:04:68:
+#                     1e:47:02:e6:9d:60:e2:36:97:01:df:ce:35:92:df:
+#                     be:67:c7:6d:77:59:3b:8f:9d:d6:90:15:94:bc:42:
+#                     34:10:c1:39:f9:b1:27:3e:7e:d6:8a:75:c5:b2:af:
+#                     96:d3:a2:de:9b:e4:98:be:7d:e1:e9:81:ad:b6:6f:
+#                     fc:d7:0e:da:e0:34:b0:0d:1a:77:e7:e3:08:98:ef:
+#                     58:fa:9c:84:b7:36:af:c2:df:ac:d2:f4:10:06:70:
+#                     71:35
+#                 Exponent: 65537 (0x10001)
+#         X509v3 extensions:
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#             X509v3 Key Usage: critical
+#                 Certificate Sign, CRL Sign
+#             X509v3 Subject Key Identifier:
+#                 2C:D5:50:41:97:15:8B:F0:8F:36:61:5B:4A:FB:6B:D9:99:C9:33:92
+#     Signature Algorithm: sha1WithRSAEncryption
+#          5a:70:7f:2c:dd:b7:34:4f:f5:86:51:a9:26:be:4b:b8:aa:f1:
+#          71:0d:dc:61:c7:a0:ea:34:1e:7a:77:0f:04:35:e8:27:8f:6c:
+#          90:bf:91:16:24:46:3e:4a:4e:ce:2b:16:d5:0b:52:1d:fc:1f:
+#          67:a2:02:45:31:4f:ce:f3:fa:03:a7:79:9d:53:6a:d9:da:63:
+#          3a:f8:80:d7:d3:99:e1:a5:e1:be:d4:55:71:98:35:3a:be:93:
+#          ea:ae:ad:42:b2:90:6f:e0:fc:21:4d:35:63:33:89:49:d6:9b:
+#          4e:ca:c7:e7:4e:09:00:f7:da:c7:ef:99:62:99:77:b6:95:22:
+#          5e:8a:a0:ab:f4:b8:78:98:ca:38:19:99:c9:72:9e:78:cd:4b:
+#          ac:af:19:a0:73:12:2d:fc:c2:41:ba:81:91:da:16:5a:31:b7:
+#          f9:b4:71:80:12:48:99:72:73:5a:59:53:c1:63:52:33:ed:a7:
+#          c9:d2:39:02:70:fa:e0:b1:42:66:29:aa:9b:51:ed:30:54:22:
+#          14:5f:d9:ab:1d:c1:e4:94:f0:f8:f5:2b:f7:ea:ca:78:46:d6:
+#          b8:91:fd:a6:0d:2b:1a:14:01:3e:80:f0:42:a0:95:07:5e:6d:
+#          cd:cc:4b:a4:45:8d:ab:12:e8:b3:de:5a:e5:a0:7c:e8:0f:22:
+#          1d:5a:e9:59
+-----BEGIN CERTIFICATE-----
+MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY
+MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo
+R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx
+MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
+Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp
+ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
+AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9
+AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA
+ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0
+7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W
+kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI
+mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G
+A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ
+KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1
+6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl
+4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K
+oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj
+UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU
+AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
+-----END CERTIFICATE-----
+# Go Daddy Class 2 Certification Authority.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number: 0 (0x0)
+#     Signature Algorithm: sha1WithRSAEncryption
+#         Issuer: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority
+#         Validity
+#             Not Before: Jun 29 17:06:20 2004 GMT
+#             Not After : Jun 29 17:06:20 2034 GMT
+#         Subject: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority
+#         Subject Public Key Info:
+#             Public Key Algorithm: rsaEncryption
+#                 Public-Key: (2048 bit)
+#                 Modulus:
+#                     00:de:9d:d7:ea:57:18:49:a1:5b:eb:d7:5f:48:86:
+#                     ea:be:dd:ff:e4:ef:67:1c:f4:65:68:b3:57:71:a0:
+#                     5e:77:bb:ed:9b:49:e9:70:80:3d:56:18:63:08:6f:
+#                     da:f2:cc:d0:3f:7f:02:54:22:54:10:d8:b2:81:d4:
+#                     c0:75:3d:4b:7f:c7:77:c3:3e:78:ab:1a:03:b5:20:
+#                     6b:2f:6a:2b:b1:c5:88:7e:c4:bb:1e:b0:c1:d8:45:
+#                     27:6f:aa:37:58:f7:87:26:d7:d8:2d:f6:a9:17:b7:
+#                     1f:72:36:4e:a6:17:3f:65:98:92:db:2a:6e:5d:a2:
+#                     fe:88:e0:0b:de:7f:e5:8d:15:e1:eb:cb:3a:d5:e2:
+#                     12:a2:13:2d:d8:8e:af:5f:12:3d:a0:08:05:08:b6:
+#                     5c:a5:65:38:04:45:99:1e:a3:60:60:74:c5:41:a5:
+#                     72:62:1b:62:c5:1f:6f:5f:1a:42:be:02:51:65:a8:
+#                     ae:23:18:6a:fc:78:03:a9:4d:7f:80:c3:fa:ab:5a:
+#                     fc:a1:40:a4:ca:19:16:fe:b2:c8:ef:5e:73:0d:ee:
+#                     77:bd:9a:f6:79:98:bc:b1:07:67:a2:15:0d:dd:a0:
+#                     58:c6:44:7b:0a:3e:62:28:5f:ba:41:07:53:58:cf:
+#                     11:7e:38:74:c5:f8:ff:b5:69:90:8f:84:74:ea:97:
+#                     1b:af
+#                 Exponent: 3 (0x3)
+#         X509v3 extensions:
+#             X509v3 Subject Key Identifier:
+#                 D2:C4:B0:D2:91:D4:4C:11:71:B3:61:CB:3D:A1:FE:DD:A8:6A:D4:E3
+#             X509v3 Authority Key Identifier:
+#                 keyid:D2:C4:B0:D2:91:D4:4C:11:71:B3:61:CB:3D:A1:FE:DD:A8:6A:D4:E3
+#                 DirName:/C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority
+#                 serial:00
+#
+#             X509v3 Basic Constraints:
+#                 CA:TRUE
+#     Signature Algorithm: sha1WithRSAEncryption
+#          32:4b:f3:b2:ca:3e:91:fc:12:c6:a1:07:8c:8e:77:a0:33:06:
+#          14:5c:90:1e:18:f7:08:a6:3d:0a:19:f9:87:80:11:6e:69:e4:
+#          96:17:30:ff:34:91:63:72:38:ee:cc:1c:01:a3:1d:94:28:a4:
+#          31:f6:7a:c4:54:d7:f6:e5:31:58:03:a2:cc:ce:62:db:94:45:
+#          73:b5:bf:45:c9:24:b5:d5:82:02:ad:23:79:69:8d:b8:b6:4d:
+#          ce:cf:4c:ca:33:23:e8:1c:88:aa:9d:8b:41:6e:16:c9:20:e5:
+#          89:9e:cd:3b:da:70:f7:7e:99:26:20:14:54:25:ab:6e:73:85:
+#          e6:9b:21:9d:0a:6c:82:0e:a8:f8:c2:0c:fa:10:1e:6c:96:ef:
+#          87:0d:c4:0f:61:8b:ad:ee:83:2b:95:f8:8e:92:84:72:39:eb:
+#          20:ea:83:ed:83:cd:97:6e:08:bc:eb:4e:26:b6:73:2b:e4:d3:
+#          f6:4c:fe:26:71:e2:61:11:74:4a:ff:57:1a:87:0f:75:48:2e:
+#          cf:51:69:17:a0:02:12:61:95:d5:d1:40:b2:10:4c:ee:c4:ac:
+#          10:43:a6:a5:9e:0a:d5:95:62:9a:0d:cf:88:82:c5:32:0c:e4:
+#          2b:9f:45:e6:0d:9f:28:9c:b1:b9:2a:5a:57:ad:37:0f:af:1d:
+#          7f:db:bd:9f
+-----BEGIN CERTIFICATE-----
+MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
+MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
+YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
+MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
+ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
+MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
+ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
+PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
+wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
+EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
+avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
+sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
+/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
+IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
+YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
+ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
+OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
+TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
+HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
+dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
+ReYNnyicsbkqWletNw+vHX/bvZ8=
+-----END CERTIFICATE-----
+# Go Daddy Root Certificate Authority - G2.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number: 0 (0x0)
+#     Signature Algorithm: sha256WithRSAEncryption
+#         Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2
+#         Validity
+#             Not Before: Sep  1 00:00:00 2009 GMT
+#             Not After : Dec 31 23:59:59 2037 GMT
+#         Subject: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2
+#         Subject Public Key Info:
+#             Public Key Algorithm: rsaEncryption
+#                 Public-Key: (2048 bit)
+#                 Modulus:
+#                     00:bf:71:62:08:f1:fa:59:34:f7:1b:c9:18:a3:f7:
+#                     80:49:58:e9:22:83:13:a6:c5:20:43:01:3b:84:f1:
+#                     e6:85:49:9f:27:ea:f6:84:1b:4e:a0:b4:db:70:98:
+#                     c7:32:01:b1:05:3e:07:4e:ee:f4:fa:4f:2f:59:30:
+#                     22:e7:ab:19:56:6b:e2:80:07:fc:f3:16:75:80:39:
+#                     51:7b:e5:f9:35:b6:74:4e:a9:8d:82:13:e4:b6:3f:
+#                     a9:03:83:fa:a2:be:8a:15:6a:7f:de:0b:c3:b6:19:
+#                     14:05:ca:ea:c3:a8:04:94:3b:46:7c:32:0d:f3:00:
+#                     66:22:c8:8d:69:6d:36:8c:11:18:b7:d3:b2:1c:60:
+#                     b4:38:fa:02:8c:ce:d3:dd:46:07:de:0a:3e:eb:5d:
+#                     7c:c8:7c:fb:b0:2b:53:a4:92:62:69:51:25:05:61:
+#                     1a:44:81:8c:2c:a9:43:96:23:df:ac:3a:81:9a:0e:
+#                     29:c5:1c:a9:e9:5d:1e:b6:9e:9e:30:0a:39:ce:f1:
+#                     88:80:fb:4b:5d:cc:32:ec:85:62:43:25:34:02:56:
+#                     27:01:91:b4:3b:70:2a:3f:6e:b1:e8:9c:88:01:7d:
+#                     9f:d4:f9:db:53:6d:60:9d:bf:2c:e7:58:ab:b8:5f:
+#                     46:fc:ce:c4:1b:03:3c:09:eb:49:31:5c:69:46:b3:
+#                     e0:47
+#                 Exponent: 65537 (0x10001)
+#         X509v3 extensions:
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#             X509v3 Key Usage: critical
+#                 Certificate Sign, CRL Sign
+#             X509v3 Subject Key Identifier:
+#                 3A:9A:85:07:10:67:28:B6:EF:F6:BD:05:41:6E:20:C1:94:DA:0F:DE
+#     Signature Algorithm: sha256WithRSAEncryption
+#          99:db:5d:79:d5:f9:97:59:67:03:61:f1:7e:3b:06:31:75:2d:
+#          a1:20:8e:4f:65:87:b4:f7:a6:9c:bc:d8:e9:2f:d0:db:5a:ee:
+#          cf:74:8c:73:b4:38:42:da:05:7b:f8:02:75:b8:fd:a5:b1:d7:
+#          ae:f6:d7:de:13:cb:53:10:7e:8a:46:d1:97:fa:b7:2e:2b:11:
+#          ab:90:b0:27:80:f9:e8:9f:5a:e9:37:9f:ab:e4:df:6c:b3:85:
+#          17:9d:3d:d9:24:4f:79:91:35:d6:5f:04:eb:80:83:ab:9a:02:
+#          2d:b5:10:f4:d8:90:c7:04:73:40:ed:72:25:a0:a9:9f:ec:9e:
+#          ab:68:12:99:57:c6:8f:12:3a:09:a4:bd:44:fd:06:15:37:c1:
+#          9b:e4:32:a3:ed:38:e8:d8:64:f3:2c:7e:14:fc:02:ea:9f:cd:
+#          ff:07:68:17:db:22:90:38:2d:7a:8d:d1:54:f1:69:e3:5f:33:
+#          ca:7a:3d:7b:0a:e3:ca:7f:5f:39:e5:e2:75:ba:c5:76:18:33:
+#          ce:2c:f0:2f:4c:ad:f7:b1:e7:ce:4f:a8:c4:9b:4a:54:06:c5:
+#          7f:7d:d5:08:0f:e2:1c:fe:7e:17:b8:ac:5e:f6:d4:16:b2:43:
+#          09:0c:4d:f6:a7:6b:b4:99:84:65:ca:7a:88:e2:e2:44:be:5c:
+#          f7:ea:1c:f5
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx
+EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT
+EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp
+ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz
+NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH
+EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE
+AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD
+E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH
+/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy
+DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh
+GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR
+tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA
+AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
+FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX
+WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu
+9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr
+gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo
+2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
+LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI
+4uJEvlz36hz1
+-----END CERTIFICATE-----
+# Go Daddy Secure Certification Authority serialNumber=07969287.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number: 769 (0x301)
+#     Signature Algorithm: sha1WithRSAEncryption
+#         Issuer: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority
+#         Validity
+#             Not Before: Nov 16 01:54:37 2006 GMT
+#             Not After : Nov 16 01:54:37 2026 GMT
+#         Subject: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certificates.godaddy.com/repository, CN=Go Daddy Secure Certification Authority/serialNumber=07969287
+#         Subject Public Key Info:
+#             Public Key Algorithm: rsaEncryption
+#                 Public-Key: (2048 bit)
+#                 Modulus:
+#                     00:c4:2d:d5:15:8c:9c:26:4c:ec:32:35:eb:5f:b8:
+#                     59:01:5a:a6:61:81:59:3b:70:63:ab:e3:dc:3d:c7:
+#                     2a:b8:c9:33:d3:79:e4:3a:ed:3c:30:23:84:8e:b3:
+#                     30:14:b6:b2:87:c3:3d:95:54:04:9e:df:99:dd:0b:
+#                     25:1e:21:de:65:29:7e:35:a8:a9:54:eb:f6:f7:32:
+#                     39:d4:26:55:95:ad:ef:fb:fe:58:86:d7:9e:f4:00:
+#                     8d:8c:2a:0c:bd:42:04:ce:a7:3f:04:f6:ee:80:f2:
+#                     aa:ef:52:a1:69:66:da:be:1a:ad:5d:da:2c:66:ea:
+#                     1a:6b:bb:e5:1a:51:4a:00:2f:48:c7:98:75:d8:b9:
+#                     29:c8:ee:f8:66:6d:0a:9c:b3:f3:fc:78:7c:a2:f8:
+#                     a3:f2:b5:c3:f3:b9:7a:91:c1:a7:e6:25:2e:9c:a8:
+#                     ed:12:65:6e:6a:f6:12:44:53:70:30:95:c3:9c:2b:
+#                     58:2b:3d:08:74:4a:f2:be:51:b0:bf:87:d0:4c:27:
+#                     58:6b:b5:35:c5:9d:af:17:31:f8:0b:8f:ee:ad:81:
+#                     36:05:89:08:98:cf:3a:af:25:87:c0:49:ea:a7:fd:
+#                     67:f7:45:8e:97:cc:14:39:e2:36:85:b5:7e:1a:37:
+#                     fd:16:f6:71:11:9a:74:30:16:fe:13:94:a3:3f:84:
+#                     0d:4f
+#                 Exponent: 65537 (0x10001)
+#         X509v3 extensions:
+#             X509v3 Subject Key Identifier:
+#                 FD:AC:61:32:93:6C:45:D6:E2:EE:85:5F:9A:BA:E7:76:99:68:CC:E7
+#             X509v3 Authority Key Identifier:
+#                 keyid:D2:C4:B0:D2:91:D4:4C:11:71:B3:61:CB:3D:A1:FE:DD:A8:6A:D4:E3
+#
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE, pathlen:0
+#             Authority Information Access:
+#                 OCSP - URI:http://ocsp.godaddy.com
+#
+#             X509v3 CRL Distribution Points:
+#
+#                 Full Name:
+#                   URI:http://certificates.godaddy.com/repository/gdroot.crl
+#
+#             X509v3 Certificate Policies:
+#                 Policy: X509v3 Any Policy
+#                   CPS: http://certificates.godaddy.com/repository
+#
+#             X509v3 Key Usage: critical
+#                 Certificate Sign, CRL Sign
+#     Signature Algorithm: sha1WithRSAEncryption
+#          d2:86:c0:ec:bd:f9:a1:b6:67:ee:66:0b:a2:06:3a:04:50:8e:
+#          15:72:ac:4a:74:95:53:cb:37:cb:44:49:ef:07:90:6b:33:d9:
+#          96:f0:94:56:a5:13:30:05:3c:85:32:21:7b:c9:c7:0a:a8:24:
+#          a4:90:de:46:d3:25:23:14:03:67:c2:10:d6:6f:0f:5d:7b:7a:
+#          cc:9f:c5:58:2a:c1:c4:9e:21:a8:5a:f3:ac:a4:46:f3:9e:e4:
+#          63:cb:2f:90:a4:29:29:01:d9:72:2c:29:df:37:01:27:bc:4f:
+#          ee:68:d3:21:8f:c0:b3:e4:f5:09:ed:d2:10:aa:53:b4:be:f0:
+#          cc:59:0b:d6:3b:96:1c:95:24:49:df:ce:ec:fd:a7:48:91:14:
+#          45:0e:3a:36:6f:da:45:b3:45:a2:41:c9:d4:d7:44:4e:3e:b9:
+#          74:76:d5:a2:13:55:2c:c6:87:a3:b5:99:ac:06:84:87:7f:75:
+#          06:fc:bf:14:4c:0e:cc:6e:c4:df:3d:b7:12:71:f4:e8:f1:51:
+#          40:22:28:49:e0:1d:4b:87:a8:34:cc:06:a2:dd:12:5a:d1:86:
+#          36:64:03:35:6f:6f:77:6e:eb:f2:85:50:98:5e:ab:03:53:ad:
+#          91:23:63:1f:16:9c:cd:b9:b2:05:63:3a:e1:f4:68:1b:17:05:
+#          35:95:53:ee
+-----BEGIN CERTIFICATE-----
+MIIE3jCCA8agAwIBAgICAwEwDQYJKoZIhvcNAQEFBQAwYzELMAkGA1UEBhMCVVMx
+ITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
+RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMTYw
+MTU0MzdaFw0yNjExMTYwMTU0MzdaMIHKMQswCQYDVQQGEwJVUzEQMA4GA1UECBMH
+QXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTEaMBgGA1UEChMRR29EYWRkeS5j
+b20sIEluYy4xMzAxBgNVBAsTKmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5j
+b20vcmVwb3NpdG9yeTEwMC4GA1UEAxMnR28gRGFkZHkgU2VjdXJlIENlcnRpZmlj
+YXRpb24gQXV0aG9yaXR5MREwDwYDVQQFEwgwNzk2OTI4NzCCASIwDQYJKoZIhvcN
+AQEBBQADggEPADCCAQoCggEBAMQt1RWMnCZM7DI161+4WQFapmGBWTtwY6vj3D3H
+KrjJM9N55DrtPDAjhI6zMBS2sofDPZVUBJ7fmd0LJR4h3mUpfjWoqVTr9vcyOdQm
+VZWt7/v+WIbXnvQAjYwqDL1CBM6nPwT27oDyqu9SoWlm2r4arV3aLGbqGmu75RpR
+SgAvSMeYddi5Kcju+GZtCpyz8/x4fKL4o/K1w/O5epHBp+YlLpyo7RJlbmr2EkRT
+cDCVw5wrWCs9CHRK8r5RsL+H0EwnWGu1NcWdrxcx+AuP7q2BNgWJCJjPOq8lh8BJ
+6qf9Z/dFjpfMFDniNoW1fho3/Rb2cRGadDAW/hOUoz+EDU8CAwEAAaOCATIwggEu
+MB0GA1UdDgQWBBT9rGEyk2xF1uLuhV+auud2mWjM5zAfBgNVHSMEGDAWgBTSxLDS
+kdRMEXGzYcs9of7dqGrU4zASBgNVHRMBAf8ECDAGAQH/AgEAMDMGCCsGAQUFBwEB
+BCcwJTAjBggrBgEFBQcwAYYXaHR0cDovL29jc3AuZ29kYWRkeS5jb20wRgYDVR0f
+BD8wPTA7oDmgN4Y1aHR0cDovL2NlcnRpZmljYXRlcy5nb2RhZGR5LmNvbS9yZXBv
+c2l0b3J5L2dkcm9vdC5jcmwwSwYDVR0gBEQwQjBABgRVHSAAMDgwNgYIKwYBBQUH
+AgEWKmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5jb20vcmVwb3NpdG9yeTAO
+BgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBANKGwOy9+aG2Z+5mC6IG
+OgRQjhVyrEp0lVPLN8tESe8HkGsz2ZbwlFalEzAFPIUyIXvJxwqoJKSQ3kbTJSMU
+A2fCENZvD117esyfxVgqwcSeIaha86ykRvOe5GPLL5CkKSkB2XIsKd83ASe8T+5o
+0yGPwLPk9Qnt0hCqU7S+8MxZC9Y7lhyVJEnfzuz9p0iRFEUOOjZv2kWzRaJBydTX
+RE4+uXR21aITVSzGh6O1mawGhId/dQb8vxRMDsxuxN89txJx9OjxUUAiKEngHUuH
+qDTMBqLdElrRhjZkAzVvb3du6/KFUJheqwNTrZEjYx8WnM25sgVjOuH0aBsXBTWV
+U+4=
+-----END CERTIFICATE-----
+# Thawte Premium Server CA.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number: 1 (0x1)
+#     Signature Algorithm: md5WithRSAEncryption
+#         Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.com
+#         Validity
+#             Not Before: Aug  1 00:00:00 1996 GMT
+#             Not After : Dec 31 23:59:59 2020 GMT
+#         Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.com
+#         Subject Public Key Info:
+#             Public Key Algorithm: rsaEncryption
+#                 Public-Key: (1024 bit)
+#                 Modulus:
+#                     00:d2:36:36:6a:8b:d7:c2:5b:9e:da:81:41:62:8f:
+#                     38:ee:49:04:55:d6:d0:ef:1c:1b:95:16:47:ef:18:
+#                     48:35:3a:52:f4:2b:6a:06:8f:3b:2f:ea:56:e3:af:
+#                     86:8d:9e:17:f7:9e:b4:65:75:02:4d:ef:cb:09:a2:
+#                     21:51:d8:9b:d0:67:d0:ba:0d:92:06:14:73:d4:93:
+#                     cb:97:2a:00:9c:5c:4e:0c:bc:fa:15:52:fc:f2:44:
+#                     6e:da:11:4a:6e:08:9f:2f:2d:e3:f9:aa:3a:86:73:
+#                     b6:46:53:58:c8:89:05:bd:83:11:b8:73:3f:aa:07:
+#                     8d:f4:42:4d:e7:40:9d:1c:37
+#                 Exponent: 65537 (0x10001)
+#         X509v3 extensions:
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#     Signature Algorithm: md5WithRSAEncryption
+#          26:48:2c:16:c2:58:fa:e8:16:74:0c:aa:aa:5f:54:3f:f2:d7:
+#          c9:78:60:5e:5e:6e:37:63:22:77:36:7e:b2:17:c4:34:b9:f5:
+#          08:85:fc:c9:01:38:ff:4d:be:f2:16:42:43:e7:bb:5a:46:fb:
+#          c1:c6:11:1f:f1:4a:b0:28:46:c9:c3:c4:42:7d:bc:fa:ab:59:
+#          6e:d5:b7:51:88:11:e3:a4:85:19:6b:82:4c:a4:0c:12:ad:e9:
+#          a4:ae:3f:f1:c3:49:65:9a:8c:c5:c8:3e:25:b7:94:99:bb:92:
+#          32:71:07:f0:86:5e:ed:50:27:a6:0d:a6:23:f9:bb:cb:a6:07:
+#          14:42
+-----BEGIN CERTIFICATE-----
+MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkEx
+FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD
+VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv
+biBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2Vy
+dmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t
+MB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpB
+MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsG
+A1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRp
+b24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl
+cnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv
+bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkE
+VdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQ
+ug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMR
+uHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG
+9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI
+hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JM
+pAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg==
+-----END CERTIFICATE-----
+# Thawte Primary Root CA - G2.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number:
+#             35:fc:26:5c:d9:84:4f:c9:3d:26:3d:57:9b:ae:d7:56
+#     Signature Algorithm: ecdsa-with-SHA384
+#         Issuer: C=US, O=thawte, Inc., OU=(c) 2007 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA - G2
+#         Validity
+#             Not Before: Nov  5 00:00:00 2007 GMT
+#             Not After : Jan 18 23:59:59 2038 GMT
+#         Subject: C=US, O=thawte, Inc., OU=(c) 2007 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA - G2
+#         Subject Public Key Info:
+#             Public Key Algorithm: id-ecPublicKey
+#                 Public-Key: (384 bit)
+#                 pub:
+#                     04:a2:d5:9c:82:7b:95:9d:f1:52:78:87:fe:8a:16:
+#                     bf:05:e6:df:a3:02:4f:0d:07:c6:00:51:ba:0c:02:
+#                     52:2d:22:a4:42:39:c4:fe:8f:ea:c9:c1:be:d4:4d:
+#                     ff:9f:7a:9e:e2:b1:7c:9a:ad:a7:86:09:73:87:d1:
+#                     e7:9a:e3:7a:a5:aa:6e:fb:ba:b3:70:c0:67:88:a2:
+#                     35:d4:a3:9a:b1:fd:ad:c2:ef:31:fa:a8:b9:f3:fb:
+#                     08:c6:91:d1:fb:29:95
+#                 ASN1 OID: secp384r1
+#         X509v3 extensions:
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#             X509v3 Key Usage: critical
+#                 Certificate Sign, CRL Sign
+#             X509v3 Subject Key Identifier:
+#                 9A:D8:00:30:00:E7:6B:7F:85:18:EE:8B:B6:CE:8A:0C:F8:11:E1:BB
+#     Signature Algorithm: ecdsa-with-SHA384
+#          30:66:02:31:00:dd:f8:e0:57:47:5b:a7:e6:0a:c3:bd:f5:80:
+#          8a:97:35:0d:1b:89:3c:54:86:77:28:ca:a1:f4:79:de:b5:e6:
+#          38:b0:f0:65:70:8c:7f:02:54:c2:bf:ff:d8:a1:3e:d9:cf:02:
+#          31:00:c4:8d:94:fc:dc:53:d2:dc:9d:78:16:1f:15:33:23:53:
+#          52:e3:5a:31:5d:9d:ca:ae:bd:13:29:44:0d:27:5b:a8:e7:68:
+#          9c:12:f7:58:3f:2e:72:02:57:a3:8f:a1:14:2e
+-----BEGIN CERTIFICATE-----
+MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL
+MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp
+IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi
+BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw
+MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
+d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig
+YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v
+dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/
+BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6
+papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K
+DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3
+KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox
+XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
+-----END CERTIFICATE-----
+# Thawte Primary Root CA - G3.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number:
+#             60:01:97:b7:46:a7:ea:b4:b4:9a:d6:4b:2f:f7:90:fb
+#     Signature Algorithm: sha256WithRSAEncryption
+#         Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2008 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA - G3
+#         Validity
+#             Not Before: Apr  2 00:00:00 2008 GMT
+#             Not After : Dec  1 23:59:59 2037 GMT
+#         Subject: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2008 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA - G3
+#         Subject Public Key Info:
+#             Public Key Algorithm: rsaEncryption
+#                 Public-Key: (2048 bit)
+#                 Modulus:
+#                     00:b2:bf:27:2c:fb:db:d8:5b:dd:78:7b:1b:9e:77:
+#                     66:81:cb:3e:bc:7c:ae:f3:a6:27:9a:34:a3:68:31:
+#                     71:38:33:62:e4:f3:71:66:79:b1:a9:65:a3:a5:8b:
+#                     d5:8f:60:2d:3f:42:cc:aa:6b:32:c0:23:cb:2c:41:
+#                     dd:e4:df:fc:61:9c:e2:73:b2:22:95:11:43:18:5f:
+#                     c4:b6:1f:57:6c:0a:05:58:22:c8:36:4c:3a:7c:a5:
+#                     d1:cf:86:af:88:a7:44:02:13:74:71:73:0a:42:59:
+#                     02:f8:1b:14:6b:42:df:6f:5f:ba:6b:82:a2:9d:5b:
+#                     e7:4a:bd:1e:01:72:db:4b:74:e8:3b:7f:7f:7d:1f:
+#                     04:b4:26:9b:e0:b4:5a:ac:47:3d:55:b8:d7:b0:26:
+#                     52:28:01:31:40:66:d8:d9:24:bd:f6:2a:d8:ec:21:
+#                     49:5c:9b:f6:7a:e9:7f:55:35:7e:96:6b:8d:93:93:
+#                     27:cb:92:bb:ea:ac:40:c0:9f:c2:f8:80:cf:5d:f4:
+#                     5a:dc:ce:74:86:a6:3e:6c:0b:53:ca:bd:92:ce:19:
+#                     06:72:e6:0c:5c:38:69:c7:04:d6:bc:6c:ce:5b:f6:
+#                     f7:68:9c:dc:25:15:48:88:a1:e9:a9:f8:98:9c:e0:
+#                     f3:d5:31:28:61:11:6c:67:96:8d:39:99:cb:c2:45:
+#                     24:39
+#                 Exponent: 65537 (0x10001)
+#         X509v3 extensions:
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#             X509v3 Key Usage: critical
+#                 Certificate Sign, CRL Sign
+#             X509v3 Subject Key Identifier:
+#                 AD:6C:AA:94:60:9C:ED:E4:FF:FA:3E:0A:74:2B:63:03:F7:B6:59:BF
+#     Signature Algorithm: sha256WithRSAEncryption
+#          1a:40:d8:95:65:ac:09:92:89:c6:39:f4:10:e5:a9:0e:66:53:
+#          5d:78:de:fa:24:91:bb:e7:44:51:df:c6:16:34:0a:ef:6a:44:
+#          51:ea:2b:07:8a:03:7a:c3:eb:3f:0a:2c:52:16:a0:2b:43:b9:
+#          25:90:3f:70:a9:33:25:6d:45:1a:28:3b:27:cf:aa:c3:29:42:
+#          1b:df:3b:4c:c0:33:34:5b:41:88:bf:6b:2b:65:af:28:ef:b2:
+#          f5:c3:aa:66:ce:7b:56:ee:b7:c8:cb:67:c1:c9:9c:1a:18:b8:
+#          c4:c3:49:03:f1:60:0e:50:cd:46:c5:f3:77:79:f7:b6:15:e0:
+#          38:db:c7:2f:28:a0:0c:3f:77:26:74:d9:25:12:da:31:da:1a:
+#          1e:dc:29:41:91:22:3c:69:a7:bb:02:f2:b6:5c:27:03:89:f4:
+#          06:ea:9b:e4:72:82:e3:a1:09:c1:e9:00:19:d3:3e:d4:70:6b:
+#          ba:71:a6:aa:58:ae:f4:bb:e9:6c:b6:ef:87:cc:9b:bb:ff:39:
+#          e6:56:61:d3:0a:a7:c4:5c:4c:60:7b:05:77:26:7a:bf:d8:07:
+#          52:2c:62:f7:70:63:d9:39:bc:6f:1c:c2:79:dc:76:29:af:ce:
+#          c5:2c:64:04:5e:88:36:6e:31:d4:40:1a:62:34:36:3f:35:01:
+#          ae:ac:63:a0
+-----BEGIN CERTIFICATE-----
+MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB
+rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf
+Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw
+MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV
+BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa
+Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl
+LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u
+MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl
+ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm
+gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8
+YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf
+b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9
+9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S
+zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk
+OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV
+HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA
+2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW
+oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
+t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c
+KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM
+m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu
+MdRAGmI0Nj81Aa6sY6A=
+-----END CERTIFICATE-----
+# Thawte Primary Root CA.pem
+# Certificate:
+#     Data:
+#         Version: 3 (0x2)
+#         Serial Number:
+#             34:4e:d5:57:20:d5:ed:ec:49:f4:2f:ce:37:db:2b:6d
+#     Signature Algorithm: sha1WithRSAEncryption
+#         Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA
+#         Validity
+#             Not Before: Nov 17 00:00:00 2006 GMT
+#             Not After : Jul 16 23:59:59 2036 GMT
+#         Subject: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA
+#         Subject Public Key Info:
+#             Public Key Algorithm: rsaEncryption
+#                 Public-Key: (2048 bit)
+#                 Modulus:
+#                     00:ac:a0:f0:fb:80:59:d4:9c:c7:a4:cf:9d:a1:59:
+#                     73:09:10:45:0c:0d:2c:6e:68:f1:6c:5b:48:68:49:
+#                     59:37:fc:0b:33:19:c2:77:7f:cc:10:2d:95:34:1c:
+#                     e6:eb:4d:09:a7:1c:d2:b8:c9:97:36:02:b7:89:d4:
+#                     24:5f:06:c0:cc:44:94:94:8d:02:62:6f:eb:5a:dd:
+#                     11:8d:28:9a:5c:84:90:10:7a:0d:bd:74:66:2f:6a:
+#                     38:a0:e2:d5:54:44:eb:1d:07:9f:07:ba:6f:ee:e9:
+#                     fd:4e:0b:29:f5:3e:84:a0:01:f1:9c:ab:f8:1c:7e:
+#                     89:a4:e8:a1:d8:71:65:0d:a3:51:7b:ee:bc:d2:22:
+#                     60:0d:b9:5b:9d:df:ba:fc:51:5b:0b:af:98:b2:e9:
+#                     2e:e9:04:e8:62:87:de:2b:c8:d7:4e:c1:4c:64:1e:
+#                     dd:cf:87:58:ba:4a:4f:ca:68:07:1d:1c:9d:4a:c6:
+#                     d5:2f:91:cc:7c:71:72:1c:c5:c0:67:eb:32:fd:c9:
+#                     92:5c:94:da:85:c0:9b:bf:53:7d:2b:09:f4:8c:9d:
+#                     91:1f:97:6a:52:cb:de:09:36:a4:77:d8:7b:87:50:
+#                     44:d5:3e:6e:29:69:fb:39:49:26:1e:09:a5:80:7b:
+#                     40:2d:eb:e8:27:85:c9:fe:61:fd:7e:e6:7c:97:1d:
+#                     d5:9d
+#                 Exponent: 65537 (0x10001)
+#         X509v3 extensions:
+#             X509v3 Basic Constraints: critical
+#                 CA:TRUE
+#             X509v3 Key Usage: critical
+#                 Certificate Sign, CRL Sign
+#             X509v3 Subject Key Identifier:
+#                 7B:5B:45:CF:AF:CE:CB:7A:FD:31:92:1A:6A:B6:F3:46:EB:57:48:50
+#     Signature Algorithm: sha1WithRSAEncryption
+#          79:11:c0:4b:b3:91:b6:fc:f0:e9:67:d4:0d:6e:45:be:55:e8:
+#          93:d2:ce:03:3f:ed:da:25:b0:1d:57:cb:1e:3a:76:a0:4c:ec:
+#          50:76:e8:64:72:0c:a4:a9:f1:b8:8b:d6:d6:87:84:bb:32:e5:
+#          41:11:c0:77:d9:b3:60:9d:eb:1b:d5:d1:6e:44:44:a9:a6:01:
+#          ec:55:62:1d:77:b8:5c:8e:48:49:7c:9c:3b:57:11:ac:ad:73:
+#          37:8e:2f:78:5c:90:68:47:d9:60:60:e6:fc:07:3d:22:20:17:
+#          c4:f7:16:e9:c4:d8:72:f9:c8:73:7c:df:16:2f:15:a9:3e:fd:
+#          6a:27:b6:a1:eb:5a:ba:98:1f:d5:e3:4d:64:0a:9d:13:c8:61:
+#          ba:f5:39:1c:87:ba:b8:bd:7b:22:7f:f6:fe:ac:40:79:e5:ac:
+#          10:6f:3d:8f:1b:79:76:8b:c4:37:b3:21:18:84:e5:36:00:eb:
+#          63:20:99:b9:e9:fe:33:04:bb:41:c8:c1:02:f9:44:63:20:9e:
+#          81:ce:42:d3:d6:3f:2c:76:d3:63:9c:59:dd:8f:a6:e1:0e:a0:
+#          2e:41:f7:2e:95:47:cf:bc:fd:33:f3:f6:0b:61:7e:7e:91:2b:
+#          81:47:c2:27:30:ee:a7:10:5d:37:8f:5c:39:2b:e4:04:f0:7b:
+#          8d:56:8c:68
+-----BEGIN CERTIFICATE-----
+MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB
+qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf
+Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw
+MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV
+BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw
+NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j
+LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG
+A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs
+W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta
+3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk
+6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6
+Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J
+NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP
+r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU
+DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz
+YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
+xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2
+/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/
+LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7
+jVaMaA==
+-----END CERTIFICATE-----
\ No newline at end of file
diff --git a/lib/dropbox-sdk/Dropbox/strict.php b/lib/dropbox-sdk/Dropbox/strict.php
new file mode 100644
index 0000000..392e8b5
--- /dev/null
+++ b/lib/dropbox-sdk/Dropbox/strict.php
@@ -0,0 +1,14 @@
+<?php
+// Throw exceptions on all PHP errors/warnings/notices.
+// We'd like to do this in all situations (and not just when running tests), but
+// this is a global setting and other code might not be ready for it.
+/** @internal */
+function error_to_exception($errno, $errstr, $errfile, $errline, $context)
+{
+    // If the error is being suppressed with '@', don't throw an exception.
+    if (error_reporting() === 0) return;
+
+    throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
+}
+set_error_handler('error_to_exception');
+
diff --git a/lib/en.txt b/lib/en.txt
new file mode 100644
index 0000000..e69de29
diff --git a/lib/fr.txt b/lib/fr.txt
new file mode 100644
index 0000000..e69de29
diff --git a/liens.php b/liens.php
new file mode 100644
index 0000000..c8715e2
--- /dev/null
+++ b/liens.php
@@ -0,0 +1,31 @@
+<?php require("w/0fonctions.php");
+      require("w/1head.php");
+?>
+</head>
+<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
+<?php require("w/2lightbox.php");?>
+
+ <!-- PAGE 1/2  ===========================================================================-->
+<?php require("w/4headerScroller.php");?>
+
+<div class="text-align">
+	<p>
+		<br/> southAmerica:		
+			<br/><a href="https://goo.gl/maps/ZmN32"> https://goo.gl/maps/ZmN32 </a>
+		<br/> newZealand:		
+			<br/><a href="https://maps.google.com/maps?f=d&source=embed&saddr=Christchurch,+Canterbury,+Nouvelle-Z%C3%A9lande&daddr=Tekapo,+Canterbury,+Nouvelle-Z%C3%A9lande+to:Mount+Cook+National+Park,+Canterbury,+Nouvelle-Z%C3%A9lande+to:State+Highway+8,+Alexandra,+Otago,+Nouvelle-Z%C3%A9lande+to:Dunedin,+Otago,+Nouvelle-Z%C3%A9lande+to:Queenstown,+Otago,+Nouvelle-Z%C3%A9lande+to:Milford+Sound,+New+Zealand+to:Wanaka,+New+Zealand+to:Southern+Alps+Media,+Southern+Alps+Media,+695+Aubrey+Rd,+Wanaka+9343,+Nouvelle-Z%C3%A9lande+to:Haast+Pass+to:Greymouth,+West+Coast,+Nouvelle-Z%C3%A9lande+to:Christchurch,+Nouvelle-Z%C3%A9lande&hl=fr&geocode=FerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ%3BFXljYv0dfB8qCim31PesCZkrbTHA2GSrhu8AKg%3BFWLMZv0dfv8lCiFgWFxlh-8ADyntspyr4cUrbTFgWFxlh-8ADw%3BFWloTf0dgbEYCilri_vT3UgqqDFpox-JNLWbTw%3BFRjyQ_0djqopCik9UV8P4OQrqDFBmXmEhu8ABQ%3BFQbhUP0ddJYNCilf3qjX8R3VqTEApnmEhu8ABQ%3BFYbTVv0dJOkBCinhSUu6TeDVqTEA3mSrhu8AKg%3BFTPiVf0dQsAUCilvLey5HUbVqTHgwXmEhu8ABQ%3BFXBBVv0dIkIVCik1K2EDBU_VqTEsiDsybb6qgA%3BFWAWX_0dcBMYCikxSDxKRmLVbDENhi9khLXo6Q%3BFShCeP0dCng0CilTENVN2T8vbTGgcnmEhu8ABQ%3BFerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ&aq=0&oq=chr&sll=-43.133061,171.606445&sspn=4.690365,10.821533&mra=ls&ie=UTF8&ll=-43.133061,171.606445&spn=3.681025,4.905224&t=m&dg=feature"> https://maps.google.com/maps?f=d&source=embed&saddr=Christchurch,+Canterbury,+Nouvelle-Z%C3%A9lande&daddr=Tekapo,+Canterbury,+Nouvelle-Z%C3%A9lande+to:Mount+Cook+National+Park,+Canterbury,+Nouvelle-Z%C3%A9lande+to:State+Highway+8,+Alexandra,+Otago,+Nouvelle-Z%C3%A9lande+to:Dunedin,+Otago,+Nouvelle-Z%C3%A9lande+to:Queenstown,+Otago,+Nouvelle-Z%C3%A9lande+to:Milford+Sound,+New+Zealand+to:Wanaka,+New+Zealand+to:Southern+Alps+Media,+Southern+Alps+Media,+695+Aubrey+Rd,+Wanaka+9343,+Nouvelle-Z%C3%A9lande+to:Haast+Pass+to:Greymouth,+West+Coast,+Nouvelle-Z%C3%A9lande+to:Christchurch,+Nouvelle-Z%C3%A9lande&hl=fr&geocode=FerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ%3BFXljYv0dfB8qCim31PesCZkrbTHA2GSrhu8AKg%3BFWLMZv0dfv8lCiFgWFxlh-8ADyntspyr4cUrbTFgWFxlh-8ADw%3BFWloTf0dgbEYCilri_vT3UgqqDFpox-JNLWbTw%3BFRjyQ_0djqopCik9UV8P4OQrqDFBmXmEhu8ABQ%3BFQbhUP0ddJYNCilf3qjX8R3VqTEApnmEhu8ABQ%3BFYbTVv0dJOkBCinhSUu6TeDVqTEA3mSrhu8AKg%3BFTPiVf0dQsAUCilvLey5HUbVqTHgwXmEhu8ABQ%3BFXBBVv0dIkIVCik1K2EDBU_VqTEsiDsybb6qgA%3BFWAWX_0dcBMYCikxSDxKRmLVbDENhi9khLXo6Q%3BFShCeP0dCng0CilTENVN2T8vbTGgcnmEhu8ABQ%3BFerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ&aq=0&oq=chr&sll=-43.133061,171.606445&sspn=4.690365,10.821533&mra=ls&ie=UTF8&ll=-43.133061,171.606445&spn=3.681025,4.905224&t=m&dg=feature </a>
+		<br/> australia:		
+			<br/><a href="https://goo.gl/maps/JdgSo"> https://goo.gl/maps/JdgSo </a>
+		<br/> indochina			
+			<br/><a href="https://goo.gl/maps/8X5Fp"> https://goo.gl/maps/8X5Fp </a>
+		<br/> china:			
+			<br/><a href="https://maps.google.com/maps?ll=30.997251,106.484198&z=4&t=h&hl=fr&gl=US&mapclient=embed&saddr=Pingxiang,+Chongzuo,+Guangxi,+Chine&daddr=Yunnan,+Chine+to:Sichuan,+Chine+to:Vall%C3%A9e+de+Jiuzhaigou,+Jiuzhaigou,+Sichuan,+Chine+to:Guilin,+Guangxi,+Chine+to:Tianzi+Mountain+to:Mt+Huangshan+to:Zhejiang,+Chine+to:Panjin,+Liaoning,+Chine+to:Zhangye,+Gansu,+Chine+to:Lhassa,+R%C3%A9gion+autonome+du+Tibet,+Chine&dg=feature"> https://maps.google.com/maps?ll=30.997251,106.484198&z=4&t=h&hl=fr&gl=US&mapclient=embed&saddr=Pingxiang,+Chongzuo,+Guangxi,+Chine&daddr=Yunnan,+Chine+to:Sichuan,+Chine+to:Vall%C3%A9e+de+Jiuzhaigou,+Jiuzhaigou,+Sichuan,+Chine+to:Guilin,+Guangxi,+Chine+to:Tianzi+Mountain+to:Mt+Huangshan+to:Zhejiang,+Chine+to:Panjin,+Liaoning,+Chine+to:Zhangye,+Gansu,+Chine+to:Lhassa,+R%C3%A9gion+autonome+du+Tibet,+Chine&dg=feature </a>
+		<br/> nepal-inde		
+			<br/><a href="https://www.google.com/maps/preview?ll=26.834994,79.636975&z=4&t=m&hl=fr&gl=US&mapclient=embed&saddr=Katmandou,+N%C3%A9pal&daddr=Gorakhpur,+Uttar+Pradesh,+Inde+to:Varanasi,+Uttar+Pradesh,+Inde+to:Calcutta,+Bengale-Occidental,+Inde+to:Bombay,+Maharashtra,+Inde+to:Udaipur,+Rajasthan,+Inde+to:Jaisalmer,+Rajasthan,+Inde+to:26.1167418,+72.8951152+to:New+Delhi,+Delhi,+Inde+to:Leh"> https://www.google.com/maps/preview?ll=26.834994,79.636975&z=4&t=m&hl=fr&gl=US&mapclient=embed&saddr=Katmandou,+N%C3%A9pal&daddr=Gorakhpur,+Uttar+Pradesh,+Inde+to:Varanasi,+Uttar+Pradesh,+Inde+to:Calcutta,+Bengale-Occidental,+Inde+to:Bombay,+Maharashtra,+Inde+to:Udaipur,+Rajasthan,+Inde+to:Jaisalmer,+Rajasthan,+Inde+to:26.1167418,+72.8951152+to:New+Delhi,+Delhi,+Inde+to:Leh </a>
+	</p>	
+</div>
+
+
+<div class="espace"> . </div>
+<?php require("w/8footer.php");?>
+<?php require("w/9end.php");?>
diff --git a/merci.php b/merci.php
new file mode 100644
index 0000000..a46558f
--- /dev/null
+++ b/merci.php
@@ -0,0 +1,16 @@
+<?php require("w/0fonctions.php");
+      require("w/1head.php");
+?>
+</head>
+<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
+<?php require("w/2lightbox.php");?>
+
+ <!-- PAGE 1/2  ===========================================================================-->
+<?php require("w/4headerScroller.php");?>
+
+<div class="text-align">
+	<div id="gros"><?php echo THANK; ?></div>
+</div>
+
+<?php require("w/8footer.php");?>
+<?php require("w/9end.php");?>
diff --git a/planif.php b/planif.php
new file mode 100644
index 0000000..2904b97
--- /dev/null
+++ b/planif.php
@@ -0,0 +1,16 @@
+<?php require("w/0fonctions.php");
+      require("w/1head.php");
+?>
+</head>
+<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
+<?php require("w/2lightbox.php");?>
+
+ <!-- PAGE 1/2  ===========================================================================-->
+<?php require("w/4headerScroller.php");?>
+
+<div class="text-align">
+	<iframe width="900" height="600" src="http://planificateur.a-contresens.net/embed-itineraire/1733-carte" frameborder="0"></iframe><br><a href="http://planificateur.a-contresens.net/itineraire/1733">D&eacute;tails de l'itin&eacute;raire</a> sur le <a href="http://planificateur.a-contresens.net/">planificateur voyages</a>
+</div>
+
+<?php require("w/8footer.php");?>
+<?php require("w/9end.php");?>
diff --git a/repare.php b/repare.php
new file mode 100644
index 0000000..3d0e75c
--- /dev/null
+++ b/repare.php
@@ -0,0 +1,18 @@
+<?php	
+session_start();//On dÃ©marre les sessions
+$token = uniqid(rand(), true);//On gÃ©nÃ©re un jeton totalement unique (c'est capital :D)
+$_SESSION['token'] = $token;//Et on le stocke
+$_SESSION['token_time'] = time();//On enregistre aussi le timestamp correspondant au moment de la crÃ©ation du token
+//Maintenant, on affiche notre page normalement, le champ cachÃ© token en plus
+?>
+<?php require("w/0fonctions.php");
+require("w/1head.php");
+?>
+</head>
+<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
+<?php require("w/2lightbox.php");?>
+<!-- PAGE 1/2 ===========================================================================-->
+<?php require("w/4headerScroller.php");?>
+<?php require("lib/ajax/repare.php");?>
+<?php require("w/8footer.php");?>
+<?php require("w/9end.php");?>
diff --git a/robots.txt b/robots.txt
new file mode 100644
index 0000000..9828875
--- /dev/null
+++ b/robots.txt
@@ -0,0 +1,11 @@
+User-agent: *
+Disallow: /article/
+Disallow: /challenge/
+
+Disallow: /destination/
+Disallow: /fonts/
+
+Disallow: /lang/
+Disallow: /lib/
+Disallow: /preload-images/
+Disallow: /w/
diff --git a/src/Email.php b/src/Email.php
new file mode 100644
index 0000000..849eb96
--- /dev/null
+++ b/src/Email.php
@@ -0,0 +1,36 @@
+<?php
+
+
+final class Email
+{
+    private $email;
+
+    private function __construct($email)
+    {
+        $this->ensureIsValidEmail($email);
+
+        $this->email = $email;
+    }
+
+    public static function fromString($email)
+    {
+        return new self($email);
+    }
+
+    public function __toString()
+    {
+        return $this->email;
+    }
+
+    private function ensureIsValidEmail($email)
+    {
+        if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
+            throw new InvalidArgumentException(
+                sprintf(
+                    '"%s" is not a valid email address',
+                    $email
+                )
+            );
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/Webhook.php b/src/Webhook.php
new file mode 100644
index 0000000..c25d1db
--- /dev/null
+++ b/src/Webhook.php
@@ -0,0 +1,78 @@
+<?php
+use \Dropbox as dbx;
+
+function verify(){
+    echo htmlspecialchars($_GET['challenge']);
+}
+
+function webhook(){
+    #'''Receive a list of changed user IDs from Dropbox and process each.'''
+
+    //1 recup de l'header et verifie si signature dropbox
+    $signature = (isset(getallheaders()['X-Dropbox-Signature'])) ? getallheaders()['X-Dropbox-Signature'] : "signature invalide" ;
+    //comment vÃ©rifier la signature ? (non facultatif)
+
+    //2 recup du json
+    $data = file_get_contents("php://input");
+    $uidList = json_decode($data);
+    // file_put_contents('dblog.txt',$data."\n".$uidList);
+
+    //3 repondre rapidement
+    echo 'Lancement process_user';
+    process_user();
+    //nb  : on n'utilise pas les uid donc cette fonction pourrait se rÃ©sumer en process_user();
+}
+
+function delta($myCustomClient ,$cursortxt, $url, $pathPrefix){
+    $cursor=file_get_contents($cursortxt);
+    // echo $cursor;
+    $deltaPage = $myCustomClient->getDelta($cursor,$pathPrefix);
+    $numAdds = 0;
+    $numRemoves = 0;
+    foreach ($deltaPage["entries"] as $entry) {
+        list($lcPath, $metadata) = $entry;
+        if ($metadata === null) {
+            echo "- $lcPath\n";
+            $numRemoves++;
+        } else {
+            echo "+ $lcPath\n";
+            $numAdds++;
+        }
+        $id = explode("/", substr($lcPath, strlen($pathPrefix)+1, 4))[0]; //create array separate by *
+        echo $id;
+    }
+    file_put_contents($cursortxt,$deltaPage["cursor"]);
+
+    if($numAdds+$numRemoves>0){
+        header('Location: ../lib/ajax/'.$url.'.php?id='.$id);
+    }
+}
+
+
+function process_user(){
+    #'''Call /delta for the given user ID and process any changes.'''
+// creation d'un client dropbox
+    include("../lib/dropboxAPI.php");
+    $myCustomClient = new dbx\Client($accessToken, $clientIdentifier);
+
+    //Articles
+    $pathPrefix="/Chargements appareil photo/ArticleTdm";
+    $cursortxt = "../lib/cursor.txt";
+    $url="url";
+    delta($myCustomClient ,$cursortxt, $url, $pathPrefix);
+
+    //Challenge
+    $pathPrefix="/Chargements appareil photo/ChallengeTdm";
+    $cursortxt = "../lib/cursorC.txt";
+    $url="challenge_update";
+    delta($myCustomClient , $cursortxt, $url, $pathPrefix);
+}
+
+if(isset($_GET['challenge'])){
+    verify();
+}elseif (isset(getallheaders()['X-Dropbox-Signature'])) {
+    webhook();
+}else {
+    process_user();
+}
+?>
diff --git a/tests/EmailTest.php b/tests/EmailTest.php
new file mode 100644
index 0000000..b1003c1
--- /dev/null
+++ b/tests/EmailTest.php
@@ -0,0 +1,33 @@
+<?php
+declare(strict_types=1);
+
+use PHPUnit\Framework\TestCase;
+
+/**
+ * @covers Email
+ */
+final class EmailTest extends TestCase
+{
+    public function testCanBeCreatedFromValidEmailAddress(): void
+    {
+        $this->assertInstanceOf(
+            Email::class,
+            Email::fromString('user@example.com')
+        );
+    }
+
+    public function testCannotBeCreatedFromInvalidEmailAddress(): void
+    {
+        $this->expectException(InvalidArgumentException::class);
+
+        Email::fromString('invalid');
+    }
+
+    public function testCanBeUsedAsString(): void
+    {
+        $this->assertEquals(
+            'user@example.com',
+            Email::fromString('user@example.com')
+        );
+    }
+}
\ No newline at end of file
diff --git a/tests/WebhookTest.php b/tests/WebhookTest.php
new file mode 100644
index 0000000..e69de29
diff --git a/thanks.php b/thanks.php
new file mode 100644
index 0000000..a14942f
--- /dev/null
+++ b/thanks.php
@@ -0,0 +1,41 @@
+<?php require("w/0fonctions.php");
+      require("w/1head.php");
+?>
+<!-- cumulus-->
+    <script type="text/javascript" src="lib/cumulus/swfobject.js"></script>
+    <style type="text/css">
+        body, html { height: 100%; background-color:#eee; }
+        div.tagcloud { margin: 0px; }
+        div.tagcloud2  {text-align:center;}
+    </style>
+<!--fin cumulus-->
+
+</head>
+<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
+<?php require("w/2lightbox.php");?>
+
+ <!-- PAGE 1/2  ===========================================================================-->
+<?php require("w/4headerScroller.php");?>
+
+<div class="text-align">
+<div class="tagcloud col-xs-12 col-sm-12 col-md-12 col-lg-12">
+							<div>
+								<p><?php echo NUAGE; ?></p>
+							</div>
+							<div id="tagcloud2"></div>
+							<script type="text/javascript">
+								var flashvars = {
+									fontname: "georgia, _serif",
+									fontweight: "normal",
+									hicolor: "0x003366",
+									
+								};
+								var params = { menu: "false" };
+								var attributes = {};
+								swfobject.embedSWF( "lib/cumulus/tagcloud.swf", "tagcloud2", "900", "600", "10.0.0", "lib/cumulus/expressInstall.swf", flashvars, params, attributes );
+							</script>
+</div>	
+					</div>
+
+<?php require("w/8footer.php");?>
+<?php require("w/9end.php");?>
diff --git a/w/0fonctions.php b/w/0fonctions.php
new file mode 100644
index 0000000..9d28ad6
--- /dev/null
+++ b/w/0fonctions.php
@@ -0,0 +1,184 @@
+<?php 
+/**
+* affiche les images du carroussel. Donne moi un lien.
+*/
+function ImgCarroussel($name,$idArticles,$type,$imglink){
+    echo    '<li>
+                <a class="article-name" href="'.$type.'.php?id='.$idArticles.'" title="'.$type.'">
+                    <img src="'.$imglink.'" alt="Picture of one '.$type.'" /> <br/>
+                    '.$name.'
+                </a>
+            </li>';
+}
+
+function Carroussel($dropbox_link, $imglink){
+  $convert = explode("/", $imglink); 
+  $convert=$convert[count($convert)-1];
+  $nomImage = substr($convert, 0, -5);
+  $imglink2 = $dropbox_link . '#lh:null-'.$nomImage;
+  if (substr($imglink, 0,15) === "http://youtu.be" ) {
+    $imglink = "http://www.recontact.me/img/btn-play.png";
+    $imglink2 = $imglink;
+  }
+  echo    '<li>
+                <a class="article-name" href="'.$imglink2.'" target="_blank">
+                    <img src="'.$imglink.'" alt="One Picture" /> <br/>
+                </a>
+            </li>';     
+}
+
+function RemplirWindowImage($article){
+  include("lib/creerBdd.php");
+  global $id;
+  $reponse = $bdd->query('SELECT img_link FROM '.$article.'_contenu WHERE '.$article.'_uid = '.$id.' ORDER BY position');
+  // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
+  $images = array();
+  echo 'window.images = [' ;
+  while ($donnees = $reponse->fetch())
+    {
+      echo '"'.htmlspecialchars($donnees['img_link']).'",';
+    }
+    echo "];";
+    $reponse->closeCursor();
+}
+
+function DestinationTime(){
+   require("destination/destination_img.php");
+  foreach ($DESTINATION_TEXT as $key => $value) {
+   $id2=$key+1;
+    echo    '<p class="mode mode'.$id2.'" data-bg="'.$id2.'">'.$INTRO[$key].'
+                <br />
+                <a class="btn btn-lg btn-danger" href="destination.php?dest='.$LINK[$key].'" role="button">'.$value.'</a>
+                
+            </p>';
+          }
+}
+
+function DestinationClock(){
+   require("destination/destination_img.php");
+  foreach ($DESTINATION_TEXT as $key => $value) {
+   $id2=$key+1;
+    echo    '<li>
+                <div class="clock">'.$id2.'</div>
+                <p>
+               '.$INTRO[$key].''.$value.'
+                <br />
+                <a class="btn btn-lg btn-primary" href="destination.php?dest='.$LINK[$key].'" role="button">'.$DISCOVER.''.$value.'</a>
+                <br />'.$WITHPIERREANDBEN.'  
+              <!-- et <a class="btn btn-lg btn-primary" href="contact.php" role="button">'.$VOUS.'</a>-->
+                </p>
+            </li>';
+          }
+}
+
+function IconBackground(){
+require("destination/destination_img.php");
+  foreach ($LINK as $key => $value) {
+   $id2=$key+1;
+   $color=$COLORS;
+    echo '.timeline .timeline-controller .mode-icon'.$id2.'{
+          height: 532px;
+          width: 416px;
+          border: 1px solid black;
+          background:url("http://www.recontact.me/img/dest_img/'.$value.'.jpg");
+          background-size: auto 530px;
+          background-repeat: no-repeat;
+          background-position: center;
+          top:0px;
+          left:0px;  
+          }
+          .timeline .timeline-bg.timeline-bg'.$id2.'{
+           background:'.$color.';
+          }'
+        ;
+  }
+}
+
+
+
+
+/*
+* gÃ¨re le text de la timeline des articles
+*/
+function ArticlesTime($article) {
+include("lib/creerBdd.php");
+global $id;
+global $lang;
+$titre = ($lang==='fr') ? 'titre' : 'title' ;
+$soustitre = ($lang==='fr') ? 'soustitre' : 'subtitle' ;
+$paragraphe = ($lang==='fr') ? 'paragraphe' : 'paragraph' ;
+$reponse = $bdd->query('SELECT position, titre, soustitre, paragraphe, title, subtitle, paragraph FROM '.$article.'_contenu WHERE '.$article.'_uid = '.$id.' ORDER BY position');
+while ($donnees = $reponse->fetch())
+  {
+    echo ' <p class="mode mode'.htmlspecialchars($donnees['position']).'" data-bg="'.htmlspecialchars($donnees['position']).'">
+           <br/>        <span class="titreArticle">     '.htmlspecialchars($donnees[$titre]).'      </span>
+           <br/>        <span class="sstitreArticle">   '.htmlspecialchars($donnees[$soustitre]).'  </span>
+           <br/> <br/>  <span style="display:block; text-align:justify;  font-size: 20px; font-weight: normal;font-family: inherit;">     '.slashN(htmlspecialchars($donnees[$paragraphe])).' </span> 
+           </p>';
+    }
+    $reponse->closeCursor();
+}
+
+function slashN($paragraphe){ //SÃ©parateur de # en <br/>
+  $resultat="";
+  $convert = explode("#", $paragraphe); //create array separate by #
+  foreach ($convert as $key => $value) {
+    $resultat .= $value;
+    $resultat .= '<br/>';
+  }
+  return $resultat;
+}
+
+/*
+* gÃ¨re le text de la clock [responsive] des articles
+*/
+function ArticlesClock($article){
+include("lib/creerBdd.php");
+global $id;
+global $lang;
+$titre = ($lang==='fr') ? 'titre' : 'title' ;
+$soustitre = ($lang==='fr') ? 'soustitre' : 'subtitle' ;
+$paragraphe = ($lang==='fr') ? 'paragraphe' : 'paragraph' ;
+$reponse = $bdd->query('SELECT position, titre, soustitre, paragraphe, title, subtitle, paragraph FROM '.$article.'_contenu WHERE '.$article.'_uid = '.$id.' ORDER BY position');
+while ($donnees = $reponse->fetch())
+  {  
+    echo    ' <div class="clock">'.htmlspecialchars($donnees['position']).'</div><p>
+              <br/>        <span class="titreArticle">     '.htmlspecialchars($donnees[$titre]).'      </span>
+              <br/>        <span class="sstitreArticle">   '.htmlspecialchars($donnees[$soustitre]).'  </span> 
+              <br/> <br/>  <span class="texteArticle">     '.slashN(htmlspecialchars($donnees[$paragraphe])).' </span> 
+              </p>';
+  }
+  $reponse->closeCursor();
+}
+
+/*
+* affiche les img de gauche des articles
+*/
+function IconBackgroundA($article){
+include("lib/creerBdd.php");
+global $id;
+$reponse = $bdd->query('SELECT position, img_link FROM '.$article.'_contenu WHERE '.$article.'_uid = '.$id.' ORDER BY position');
+
+$color = (strcmp($article, 'article')) ? '#ff0000' : '#009bd3'  ;
+
+
+// Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
+while ($donnees = $reponse->fetch())
+  {
+    echo '#imagesNico{
+            max-height:100%;
+            margin:auto;
+            // padding-top:100px;
+            vertical-align:center;
+            }
+          .mode-icon{
+             vertical-align : center;
+          }
+            .timeline .timeline-bg.timeline-bg'.htmlspecialchars($donnees['position']).'{
+            background:'.$color.';
+            }'
+          ;
+  }
+$reponse->closeCursor();
+}
+?>
diff --git a/w/1head.php b/w/1head.php
new file mode 100644
index 0000000..8679482
--- /dev/null
+++ b/w/1head.php
@@ -0,0 +1,59 @@
+<?php require( "lang/lang.php");?>
+<!DOCTYPE html>
+<html lang="en-US" prefix="og: http://ogp.me/ns#">
+
+<head>
+
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="description" content=" <?php echo DESCRIPTIONSEO; ?> "/>
+    <meta name="robots" content=" index, follow "/>
+    
+    <title><?php echo TITLE; ?></title>
+    <link rel="profile" href="http://gmpg.org/xfn/11">
+    <link rel="pingback" href="xmlrpc.php">
+
+    <link rel="icon" href="img/terre.ico" type="image/x-icon">
+    <link rel="canonical" href="http://www.recontact.me/" />
+    <meta property="og:locale" content="en_US" />
+    <meta property="og:type" content="website" />
+    <meta property="og:title" content="One year around the world" />
+    <meta property="og:url" content="http://www.recontact.me/" />
+    <meta property="og:site_name" content="WORLDTRIP" />
+    <!-- super utile -->
+
+    <link rel="alternate" type="application/rss+xml" title="Home Comments Feed" href="http://www.recontact.me" />
+    <link rel='stylesheet' id='style-css' href='css/style.css' type='text/css' media='all' />
+<?php if ($lang == 'fr') {  
+echo '
+    <link rel = "stylesheet"    href = "css/fr.css" >
+    <script src="js/comptearebours.js"></script>  
+    ';
+    } else { 
+echo '
+    <link rel = "stylesheet"    href = "css/en.css" > 
+    <script src="js/comptearebours_en.js"></script>  
+';
+} ?>
+    <link rel="stylesheet" href="css/bootstrap.min.css">
+    <link rel="stylesheet" href="css/normalize.css">
+    <link rel="stylesheet" href="css/main.css?1">
+    <link rel="stylesheet" type="text/css" href="css/demo_notif.css" />
+    <link rel="stylesheet" type="text/css" href="css/ns-default_notif.css" />
+    <link rel="stylesheet" type="text/css" href="css/ns-style-other_notif.css" />
+   
+    <style type="text/css" id="custom-background-css">
+        body.custom-background {
+            background-color: #ffffff;
+        }
+    </style>     
+    <script src="js/load-image.js"></script>
+        <script src="js/load-image-meta.js"></script>
+    <script src="js/load-image-orientation.js"></script>
+   <script type="text/javascript" src="js/b9.js"></script>
+    <script type="text/javascript" src="js/M0.js"></script>
+    <script type="text/javascript" src="js/b5.js"></script>
+       <script src="js/modernizr.custom.js"></script>
+    <script src="js/snap.svg-min.js"></script>
+    <script src="js/classie.js"></script>
+    <script src="js/notificationFx.js"></script>  
diff --git a/w/2lightbox.php b/w/2lightbox.php
new file mode 100644
index 0000000..12e204d
--- /dev/null
+++ b/w/2lightbox.php
@@ -0,0 +1,58 @@
+<?php include_once("analyticstracking.php");?>
+
+    <div class="designlicks"><a href="article.php" title="<?php echo ALTART; ?>" ><?php echo ARTICLE; ?></a>     </div>
+    <div class="designlicks2"><a href="challenge.php" title="<?php echo ALTCHAL; ?>"><?php echo CHALLENGE; ?></a>     </div>
+    <div class="designlicks3"><a href="https://docs.google.com/forms/d/1haLT0oeLTtqSajX0dWijHWcxbW49N886hrpj5s_EtQQ/viewform"  title="<?php echo ALTPROP; ?>" target="_blank"><?php echo THANK; ?></a>     </div>
+    
+    <div id="lightbox" style="display: none;">
+        <ul class="nav">
+            <li class="nav-one"><a href="#particulier" class="current"><?php echo PROPOSE; ?></a>
+            </li>
+            <li class="nav-two"><a href="#professionnel"><?php echo EXISTINGCHALLENGES; ?></a>
+            </li>
+        </ul>
+
+        <div class="list-wrap">
+
+            <div id="particulier">
+                <h2><?php echo WEARECHALLENGERS; ?> </h2>
+                <ul id="addresses">
+                    <?php echo CHAEWW; ?>
+				</ul>
+                <div class="answer">
+                    <h2><?php echo YOUHAVECHALLENGES; ?> <span style="font-weight:normal"><?php echo READYTODO; ?> </span></h2>
+                    <a href="https://docs.google.com/forms/d/1haLT0oeLTtqSajX0dWijHWcxbW49N886hrpj5s_EtQQ/viewform" target="_blank">
+                        <div id="answer-button"><?php echo PROPOSEACHALLENGE; ?></div>
+                    </a>
+                </div>
+            </div>
+
+            <div id="professionnel" class="hide">
+                
+                <h2><?php echo GALTTEC; ?></h2>
+                <ul id="addresses2">
+                    <?php echo CHAEWW; ?>
+                </ul>
+                <div class="answer">
+                    <h2><?php echo NEEDINSPIRATION; ?><span style="font-weight:normal"><?php echo CTECTFNO; ?> </span></h2>
+                    <a href="https://docs.google.com/spreadsheets/d/1gQNjOhUrOleH3qTK2RYkR_Fit1rnkjLZvfQJMd0tMIA/edit#gid=1537311595" target="_blank">
+                        <div id="answer-button2"><?php echo VIEWCHALLENGES; ?></div>
+                    </a>
+                </div>
+            </div>
+        </div>
+        <div class="bg-lightbox"></div>
+    </div>
+
+    <div class="bar-nav">
+        <div class="clear"></div>
+    </div>
+    <div class="fixed-top">
+        <div id="left-border">
+            <a href="#lightbox" class="ellipse fancybox desktop">
+                <?php echo CHALLENGEUS; ?>
+            </a>
+        </div>
+
+    </div>
+        
diff --git a/w/3intro.php b/w/3intro.php
new file mode 100644
index 0000000..de46b36
--- /dev/null
+++ b/w/3intro.php
@@ -0,0 +1,24 @@
+<div class="intro">
+    <div class="inside">
+        <div class="car" id="compte_a_rebours"><noscript>DÃ©part le 1er novembre 2014 Ã  10:40.</noscript></div>
+
+<script type="text/javascript">
+compte_a_rebours();
+</script>
+        <a href="https://youtu.be/rw4c62EJhAc" class="play mobile-media" target="_blank"></a>
+        <a href="https://youtu.be/rw4c62EJhAc" class="play fancybox-media" target="_blank"></a>
+        <a href="https://youtu.be/rw4c62EJhAc" class="play fancybox-media" target="_blank"></a>
+        <div class="right">
+            <p>
+                <?php echo RETRIEVE; ?>
+            </p>
+        </div>
+
+        <div class="scroll">
+            <img src="img/scroll.gif" alt="" />
+            <p>
+                <?php echo SCROLL; ?>
+            </p>
+        </div>
+    </div>
+</div>
diff --git a/w/4headerScroller.php b/w/4headerScroller.php
new file mode 100644
index 0000000..7ac856d
--- /dev/null
+++ b/w/4headerScroller.php
@@ -0,0 +1,153 @@
+
+<div class="scroller_anchor"></div>
+<header class="scroller">
+    <div class="menu">
+        <ul>
+            <li>
+                 <form class="paypal" id="nav1" action="http://www.recontact.me" method="post" target="_top"  title="<?php echo ALTHOME; ?>">
+                    <input type="hidden" name="cmd" value="_s-xclick">
+                    <input type="hidden" name="hosted_button_id" value="C753VV9DE7LH8">
+                        <?php if ($lang=='fr' ) { 
+                            echo '<input type="image" src="http://www.recontact.me/img/paypal-ribbon_fr.png" name="submit" alt="<?php echo ALTHOME; ?>">      ';
+                         }else{ 
+                            echo '<input type="image" src="http://www.recontact.me/img/paypal-ribbon_en.png" name="submit" alt="<?php echo ALTHOME; ?>">';
+                        } ?>
+                    <img alt="" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
+                </form>
+            </li>
+            <li>
+                <a href="http://www.recontact.me/articles.php" id="nav2"  title="<?php echo ALTARTICLES; ?>">
+                    <?php echo ARTICLES; ?>
+                </a>
+            </li>
+            <li>
+                <a href="http://www.recontact.me/challenges.php"  id="nav3" title="<?php echo ALTCHALLENGES; ?>">
+                    <?php echo CHALLENGES; ?>
+                </a>
+            </li>
+            <li>
+                <a href="http://www.recontact.me/destinations.php"  id="nav4" title="<?php echo ALTAVION; ?>">
+                    <img alt="nos destinations" class="logo" src="img/avion.png" />
+                </a>
+            </li>
+             <li class="dropdown">
+                <a href="" class="dropdown-toggle" data-toggle="dropdown"  id="nav5" title="<?php echo ALTDEST; ?>">
+                    <?php echo DESTINATION; ?><b class="caret"></b>
+                </a>
+                <ul class="dropdown-menu">
+                    <li class="dropdown-header">
+                        <a href="destination.php?dest=southAmerica">
+                            <?php echo SOUTHAMERICA; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=brazil">
+                            <?php echo BRAZIL; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=argentina">
+                            <?php echo ARGENTINA; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=paraguay">
+                            <?php echo PARAGUAY; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=bolivia">
+                            <?php echo BOLIVIA ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=peru">
+                            <?php echo PERU; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=chile">
+                            <?php echo CHILE; ?>
+                        </a>
+                    </li>
+                    <li class="dropdown-header">
+                        <a href="destination.php?dest=oceania">
+                            <?php echo OCEANIA; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=newZealand">
+                            <?php echo NZ; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=australia">
+                            <?php echo AUSTRALIA; ?>
+                        </a>
+                    </li>
+                    <li class="dropdown-header">
+                        <a href="destination.php?dest=asia">
+                            <?php echo ASIA; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=singapore">
+                            <?php echo SINGAPOUR; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=indonesia">
+                            <?php echo INDONESIA; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=thailand">
+                            <?php echo THAILAND; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=cambodia">
+                            <?php echo CAMBODIA; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=vietnam">
+                            <?php echo VIETNAM; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=china">
+                            <?php echo CHINA; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=tibet">
+                            <?php echo TIBET; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=nepal">
+                            <?php echo NEPAL; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=india">
+                            <?php echo INDIA; ?>
+                        </a>
+                    </li>
+                    <li>
+                        <a href="destination.php?dest=uae">
+                            <?php echo UAE; ?>
+                        </a>
+                    </li>
+                </ul>
+            </li>
+
+            <li>
+                <a href="http://www.recontact.me/contact.php"  id="nav7" title="<?php echo ALTCONTACT; ?>">
+                    <?php echo CONTACT; ?>
+                </a>
+            </li>
+        </ul>
+    </div>
+</header>
diff --git a/w/5notification.php b/w/5notification.php
new file mode 100644
index 0000000..c3f6aa5
--- /dev/null
+++ b/w/5notification.php
@@ -0,0 +1,91 @@
+<!--cette balise est Ã  insÃ©rer dans la page...-->
+		<div class="notification-shape shape-box" id="notification-shape" data-path-to="m 0,0 500,0 0,500 -500,0 z">
+			<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 500 500" preserveAspectRatio="none">
+				<path d="m 0,0 500,0 0,500 0,-500 z"/>
+			</svg>
+		</div>
+	
+	
+		<!--Le script-->
+		<script>
+			(function() {
+				//La variable qui porte la notification. Ne pas toucher.
+				var svgshape = document.getElementById( 'notification-shape' ),
+					s = Snap( svgshape.querySelector( 'svg' ) ),
+					path = s.select( 'path' ),
+					pathConfig = {
+						from : path.attr( 'd' ),
+						to : svgshape.getAttribute( 'data-path-to' )
+					};
+					
+			(function() {
+				path.animate( { 'path' : pathConfig.to }, 300, mina.easeinout );
+				// La notification en soi...
+				var notification = new NotificationFx({
+					wrapper : svgshape,
+					//Ci-dessous, le texte visible dans la notification.
+					//La petite image est gÃ©rÃ©e par une police d'Ã©criture que je me suis amusÃ© Ã  modifier... 
+					//Par exemple, si tu veux changer l'image pour voir le continent Asie, il faut changer 'icon-world1' par 'icon-asia'.
+					//Ces classes sont contenues dans 'demo.css'
+					
+					
+					<?php if (isset($_GET['dest'])) 	{
+						$jack = htmlspecialchars($_GET['dest']);
+						$MESSAGE1 = MESSAGENOTIFICATION;
+					}
+					else{
+						$jack = 'world1';
+						$MESSAGE1 = MESSAGENOTIFICATIONHOME;
+						$MESSAGE2 = '';
+					} ?>
+
+					//la rÃ©fÃ©rence Ã  GMAP ne fonctionnait pas... j'ai donc mis Ã§a ici:
+					<?php switch ($jack) 	{ 
+							    case 'southAmerica': 
+							    	$GMAP = "https://goo.gl/maps/ZmN32";  
+							    	$MESSAGE2 = SOUTHAMERICA;
+							    break;
+							    case 'oceania': 
+									$GMAP = "https://www.google.com/maps/d/edit?mid=zXLF-N9yPKCg.kM0szFZUMN_Q";
+									$MESSAGE2 = OCEANIA;
+							    break;
+							    case 'asia':
+							        $GMAP = "https://www.google.com/maps/d/edit?mid=zXLF-N9yPKCg.k5LAq2qsz5_8";
+							        $MESSAGE2 = ASIA;
+							    break;
+							    case 'china': 
+							        $GMAP = "https://maps.google.com/maps?ll=30.997251,106.484198&z=4&t=h&hl=fr&gl=US&mapclient=embed&saddr=Pingxiang,+Chongzuo,+Guangxi,+Chine&daddr=Yunnan,+Chine+to:Sichuan,+Chine+to:Vall%C3%A9e+de+Jiuzhaigou,+Jiuzhaigou,+Sichuan,+Chine+to:Guilin,+Guangxi,+Chine+to:Tianzi+Mountain+to:Mt+Huangshan+to:Zhejiang,+Chine+to:Panjin,+Liaoning,+Chine+to:Zhangye,+Gansu,+Chine+to:Lhassa,+R%C3%A9gion+autonome+du+Tibet,+Chine&dg=feature";
+							        $MESSAGE2 = CHINA;
+							    break;
+							    
+							    case 'india':
+							        $GMAP = "https://www.google.com/maps/preview?ll=26.834994,79.636975&z=4&t=m&hl=fr&gl=US&mapclient=embed&saddr=Katmandou,+N%C3%A9pal&daddr=Gorakhpur,+Uttar+Pradesh,+Inde+to:Varanasi,+Uttar+Pradesh,+Inde+to:Calcutta,+Bengale-Occidental,+Inde+to:Bombay,+Maharashtra,+Inde+to:Udaipur,+Rajasthan,+Inde+to:Jaisalmer,+Rajasthan,+Inde+to:26.1167418,+72.8951152+to:New+Delhi,+Delhi,+Inde+to:Leh";
+							        $MESSAGE2 = INDIA;
+								break;
+							    
+							   	default:
+							        $GMAP = "http://www.recontact.me/planif.php";
+					}?>
+
+					message : '<p><a target="_blank" href="<?php echo $GMAP;?>"><span class="icon icon-<?php echo $jack;?>"></span><?php echo $MESSAGE1;?> <?php echo $MESSAGE2;?></a></p>',
+					layout : 'other',
+					effect : 'cornerexpand',
+					type : 'notice',
+					//ttl est le temps pendant lequel la notification reste active (en milliÃ¨me de seconde)
+					ttl: 20000,
+					onClose : function() {
+						setTimeout(function() {
+							path.animate( { 'path' : pathConfig.from }, 300, mina.easeinout );
+						}, 200 );
+					}
+				});
+
+				// show the notification
+				notification.show();
+				
+				
+				
+
+				})();
+			})();
+		</script>
diff --git a/w/6contact.php b/w/6contact.php
new file mode 100644
index 0000000..1bbb72d
--- /dev/null
+++ b/w/6contact.php
@@ -0,0 +1,87 @@
+<div class="container col-sm-6 col-sm-offset-2 col-lg-6 col-lg-offset-2">
+<br/>
+<br/>
+<?php	if (!isset($_POST["submit"]))  {   ?>
+ <form class="form-horizontal" id="form" name="form" method="post" action="w/traitementrecontact.php" style="margin-top: 60px;">  
+	 <?php if ($lang=='fr' ) { ?>
+               <div class="pcontact">  Contacte-nous et nous rÃ©pondrons dÃ¨s que possible. Merci de contribuer Ã  notre voyage ! </div>
+    <?php }else{ ?>
+              <div class="pcontact">  Contact us and we will reply as fast as possible. Thank you for contributing to our trip! </div>
+    <?php } ?>
+
+	<fieldset>  
+		<input type="hidden" name="token" id="token" value="<?php echo $token;?>"/>
+		<div class="form-group">  
+			<label class="control-label" for="firstname"> <?php echo FIRSTNAME; ?>, <?php echo LASTNAME; ?></label>  
+			<div class="controls">  
+				<input type="text" class="form-control" id="firstname" name="firstname">  
+			</div>  
+		</div>  
+		<div class="form-group">  
+			<label class="control-label" for="email">Email</label>  
+			<div class="controls">  
+				<input type="email" class="form-control" id="email" name="email">  
+			</div>  
+		</div> 
+		<div class="form-group">  
+			<label class="control-label" for="subject"><?php echo SUJET; ?></label>  
+			<div class="controls">  
+				<input type="text" class="form-control" id="subject" name="subject">  
+			</div>  
+		</div>  						
+		<div class="form-group">  
+			<label class="control-label" for="message">Message</label>  
+			<div class="controls">  
+				<textarea class="form-control" id="message" name="message" rows="5"></textarea>  
+			</div>  
+		</div>  
+		<div class="form-actions">  
+			<button type="submit" class="btn btn-primary"><?php echo SEND; ?></button>  
+			<button class="btn"><?php echo CANCEL; ?></button>  
+		</div>  
+		</div>  
+	</fieldset>  
+<?php
+}else
+{// the user has submitted the form
+	if ((isset($_POST["email"]))&&(isset($_POST["firstname"]))&&(isset($_POST["lastname"]))&&(isset($_POST["subject"]))&&(isset($_POST["message"]))) 
+	{ // Check if the "from" input field is filled out
+		$mail = htmlentities($email);  // virer les saloperies de code
+		$irstname = htmlentities($firstname);  // virer les saloperies de code
+		$ubject = htmlentities($subject);  // virer les saloperies de code
+		$essage = htmlentities($message);  // virer les saloperies de code
+		
+		$irstname = $_POST["irstname"];
+		$ubject = $_POST["ubject"];
+		$essage = $_POST["essage"];
+		
+		$mailcheck = spamcheck($_POST["mail"]); // Check if "email" email address is valid
+	
+		if ($mailcheck==FALSE) 
+		{
+			echo "<script>alert('Mon alerte dit ".$mail." apres ce mail : ".$irstname." ok');</script>";
+		echo "Invalid input";
+			header('Location: index.php?bug=OK8');	
+		}else{
+		$temps = 3600*24;   //Vous passez en argument le temps de validitÃ© (en secondes)
+	
+		$mail = $_POST["mail"];
+						// send mail
+		echo "<script>alert('Mon alerte dit ".$mail." apres ce mail : ".$irstname." ok');</script>";
+		header('Location: index.php?bug=OK11');	
+		echo "Thank you for sending us feedback";
+		 									?>	</form><?php
+		header('Location: index.php?bug=OK10');	
+		}
+	}else{
+		echo "<script>alert('Mon alerte dit ".$mail." apres ce mail : ".$irstname." ok');</script>";
+		header('Location: index.php?bug=OK9');	
+	}
+}
+?>
+
+</div>
+<div class="vide">
+<br/>
+<br/>
+</div>
diff --git a/w/7comments.php b/w/7comments.php
new file mode 100644
index 0000000..3ca43f3
--- /dev/null
+++ b/w/7comments.php
@@ -0,0 +1,35 @@
+<?php
+echo '<p> Derniers commentaires </p>';
+use \Dropbox as dbx;
+
+    if (isset($_GET['id'])) {
+        $id=htmlspecialchars($_GET['id']);
+    }else{
+        include("lib/creerBdd.php");
+        $reponse = $bdd->query('SELECT count(*) AS count FROM article');
+        while ($donnees = $reponse->fetch()){
+            $id= htmlspecialchars($donnees['count']) ;
+        }
+        $reponse->closeCursor();
+    }
+$id=1;
+// Connexion Ã  la base de donnÃ©es
+  include("lib/creerBdd.php");
+
+// RÃ©cupÃ©ration des commentaires
+$req = $bdd->prepare('SELECT auteur, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y Ã  %Hh%imin%ss\') AS date_commentaire_fr FROM commentaires WHERE article_uid = ? ORDER BY date_commentaire');
+$req->execute(array($id));
+
+while ($donnees = $req->fetch())
+{
+
+echo '<p><strong>';
+echo htmlspecialchars($donnees['auteur']); 
+echo '</strong> le ' ;
+echo $donnees['date_commentaire_fr']; 
+echo'</p><p>';
+echo nl2br(htmlspecialchars($donnees['commentaire'])); 
+echo'</p>';
+} // Fin de la boucle des commentaires
+$req->closeCursor();
+?>
\ No newline at end of file
diff --git a/w/8footer.php b/w/8footer.php
new file mode 100644
index 0000000..879f123
--- /dev/null
+++ b/w/8footer.php
@@ -0,0 +1,42 @@
+ <footer>
+        <div class="footer-base">
+            <div class="logo-footer"></div>
+        </div>
+        <div id="footer_drop">
+            <div id="footer_content" style="display: none;">
+				<div class="jack col-xs-12 col-sm-4 col-md-4 col-lg-4" >
+					<div class=" col-xs-7 col-sm-7 col-md-7 col-lg-7">
+						<a id="beno" href="" target="_blank"><img src="img/beno.png" alt="" /></a>
+					</div>
+					<div class="font20 col-xs-5 col-sm-5 col-md-5 col-lg-5">
+						<p><?php echo BENOIT; ?>  </p>
+					</div>	
+				</div>
+				<div class="oss col-xs-12 col-sm-12 col-md-4 col-lg-4">
+					<div class="triple">
+						<div class="triplet col-xs-12 col-sm-12 col-md-12 col-lg-12">
+							<a  href="contact.php" class="contacta"><?php echo GETIT; ?></a>
+						</div>
+						<img class="col-xs-12 col-sm-12 col-md-12 col-lg-12" src="img/WorldBracelet.png" alt="Voir notre bracelet" title="Voir notre bracelet" />
+						<div class="triplet col-xs-12 col-sm-12 col-md-12 col-lg-12">
+							<a  href="contact.php" class="contacta">Contact</a>
+							<img src="img/icon-mail.png" alt="" />
+						</div>
+						<div class="triplet col-xs-12 col-sm-12 col-md-12 col-lg-12">
+							<iframe src="//www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2Frecontact.me&amp;width=280&amp;layout=standard&amp;action=like&amp;show_faces=true&amp;share=true&amp;height=80&amp;appId=661854923873753"  style="border:none; overflow:hidden; width:280px; height:80px;" ></iframe>
+						</div>
+					</div>	
+                </div>
+				
+				<div class="pierre col-xs-12 col-sm-4 col-md-4 col-lg-4">
+					<div class="font20 col-xs-5 col-sm-5 col-md-5 col-lg-5">
+						<p> <?php echo PIERRE; ?> </p>
+					</div>	
+					<div class=" col-xs-7 col-sm-7 col-md-7 col-lg-7">
+						<a id="piro" href="http://pierre.recontact.me" target="_blank"><img src="img/chame.png" alt="" /></a>
+					</div>
+				</div>
+                <div class="clear"></div>
+            </div>
+        </div>
+    </footer>
\ No newline at end of file
diff --git a/w/9end.php b/w/9end.php
new file mode 100644
index 0000000..b7c2550
--- /dev/null
+++ b/w/9end.php
@@ -0,0 +1,19 @@
+
+  
+    <script>
+        ! function (d, s, id) {
+            var js, fjs = d.getElementsByTagName(s)[0];
+            if (!d.getElementById(id)) {
+                js = d.createElement(s);
+                js.id = id;
+                js.src = "//platform.twitter.com/widgets.js";
+                fjs.parentNode.insertBefore(js, fjs);
+            }
+        }(document, "script", "twitter-wjs");
+    </script>
+    <script async src="js/bootstrap.min.js"></script>
+</body>
+</html>
+
+
+
diff --git a/w/traitementrecontact.php b/w/traitementrecontact.php
new file mode 100644
index 0000000..4ece641
--- /dev/null
+++ b/w/traitementrecontact.php
@@ -0,0 +1,122 @@
+<?php
+session_start();
+//On va vÃ©rifier :
+//Si le jeton est prÃ©sent dans la session et dans le formulaire
+if(isset($_SESSION['token']) && isset($_SESSION['token_time']) && isset($_POST['token']))
+{
+	//Si le jeton de la session correspond Ã  celui du formulaire
+	if($_SESSION['token'] == $_POST['token'])
+	{
+		//On stocke le timestamp qu'il Ã©tait il y a 15 minutes
+		$timestamp_ancien = time() - (15*60);
+		//Si le jeton n'est pas expirÃ©
+		if($_SESSION['token_time'] >= $timestamp_ancien){
+			//Si le referer est bon
+			if($_SERVER['HTTP_REFERER'] == 'http://www.recontact.me/contact.php'){
+			
+			// Connexion Ã  la base de donnÃ©es
+			$host = 'mysql1.alwaysdata.com';
+			$database = 'recontact_mails';
+			$user = 'recontact';
+			$pass = 'kit';
+			try{
+				$bdd = new PDO('mysql:host=' . $host . ';dbname=' . $database , $user , $pass);
+				}catch(Exception $e){
+				die('Erreur : '.$e->getMessage());
+				// header('Location: ../index.php?bug=OK7');
+				}
+
+			// Insertion du message Ã  l'aide d'une requÃªte prÃ©parÃ©e
+			$req = $bdd->prepare('INSERT INTO recontactmail (email) VALUES(?)');
+			$req->execute(array($_POST['email']));
+ 
+			// RÃ©cupÃ©ration des variables nÃ©cessaires au mail de confirmation	
+			$email = $_POST['email'];
+ 			$firstname = $_POST["firstname"];
+			$subject = $_POST["subject"];
+			$message = $_POST["message"];
+
+			$mail = htmlentities($email);  // virer les saloperies de code
+			$irstname = htmlentities($firstname);  // virer les saloperies de code
+			$ubject = htmlentities($subject);  // virer les saloperies de code
+			$essage = htmlentities($message);  // virer les saloperies de code
+			
+			// GÃ©nÃ©ration alÃ©atoire d'une clÃ©
+			$cle = md5(microtime(TRUE)*100000);
+ 
+			// Insertion de la clÃ© dans la base de donnÃ©es (Ã  adapter en INSERT si besoin)
+			$stmt = $bdd->prepare("UPDATE recontactmail SET cle=:cle WHERE email like :email");
+			$stmt->bindParam(':cle', $cle);
+			$stmt->bindParam(':email', $email);
+			$stmt->execute();
+ 			
+ 			// header('Location: ../index.php?bug=OK8');
+ 
+			// PrÃ©paration du mail contenant le lien d'activation
+			$destinataire .= ', ' . 'recontactme@gmail.com' ;
+			$sujet = "Activez votre compte" ;
+			$entete = "From: recontactme@gmail.com" ;
+	
+			// Le lien d'activation est composÃ© du login(log) et de la clÃ©(cle)
+			$contenu = "Super ".$irstname." ! Tu as rejoint la communautÃ© des gens qui suivent notre voyage !
+ 
+			Ton message a pour sujet : ".$ubject."
+			Ton message est : ".$essage."
+			Ton  mail ".$mail.
+			
+			"
+			
+			
+ 
+			----------------
+			Ceci est un mail automatique, Merci de ne pas y rÃ©pondre.";
+ 
+ 
+			mail($destinataire, $sujet, $contenu, $entete) ; // Envoi du mail
+	
+			//pompe sur: 
+			//http://m-gut.developpez.com/tutoriels/php/mail-confirmation/
+
+//Pour finir, activez votre compte en cliquant sur le lien ci-dessous (ou un copier/coller dans votre navigateur internet)
+	//		http://recontact.me/validation.php?log=".urlencode($login)."&cle=".urlencode($cle)."
+ 
+
+			// Redirection du visiteur vers la page du minichat
+			echo "<script>alert('Mon alerte dit ".$mail." apres ce mail : ".$irstname." ok');</script>";
+			header('Location: ../index.php?done=OK');
+			}else{
+			header('Location: ../index.php?bug=OK6');	
+			}
+		}else{
+		header('Location: ../index.php?bug=OK5');	
+		}
+	}else{
+	header('Location: ../index.php?bug=OK4');	
+	}
+}else{
+if((isset($_SESSION['token']))){
+// header('Location: ../index.php?bug=OK11');
+
+}else{
+header('Location: ../index.php?bug=OK12');	
+} 
+if((isset($_SESSION['token_time']))) {
+// header('Location: ../index.php?bug=OK21');
+
+}else{
+header('Location: ../index.php?bug=OK22');
+
+
+}
+
+if ((isset($_POST['token']))){
+// header('Location: ../index.php?bug=OK31');
+}else{
+	header('Location: ../index.php?bug=OK32');
+}
+// require("langchange.php");
+// header('Location: ../index.php?bug=OK4');
+//SINON, ON RAJOUTE DES ELSE ET DES MESSAGES D'ERREUR
+}
+?>
+
diff --git a/webhook.php b/webhook.php
new file mode 100644
index 0000000..813b9a1
--- /dev/null
+++ b/webhook.php
@@ -0,0 +1,78 @@
+<?php 
+use \Dropbox as dbx;
+
+function verify(){
+	echo htmlspecialchars($_GET['challenge']);
+}
+
+function webhook(){
+	#'''Receive a list of changed user IDs from Dropbox and process each.'''
+
+	//1 recup de l'header et verifie si signature dropbox
+	$signature = (isset(getallheaders()['X-Dropbox-Signature'])) ? getallheaders()['X-Dropbox-Signature'] : "signature invalide" ;
+	//comment vÃ©rifier la signature ? (non facultatif)
+
+	//2 recup du json
+	$data = file_get_contents("php://input"); 
+	$uidList = json_decode($data);
+	// file_put_contents('dblog.txt',$data."\n".$uidList);
+
+	//3 repondre rapidement
+	echo 'Lancement process_user';
+	process_user();
+	//nb  : on n'utilise pas les uid donc cette fonction pourrait se rÃ©sumer en process_user();
+}
+
+function delta($myCustomClient ,$cursortxt, $url, $pathPrefix){
+	$cursor=file_get_contents($cursortxt);
+	// echo $cursor;
+	$deltaPage = $myCustomClient->getDelta($cursor,$pathPrefix);
+	$numAdds = 0;
+	$numRemoves = 0;
+	foreach ($deltaPage["entries"] as $entry) {
+	    list($lcPath, $metadata) = $entry;
+	    if ($metadata === null) {
+	        echo "- $lcPath\n";
+	        $numRemoves++;
+	    } else {
+	        echo "+ $lcPath\n";
+	        $numAdds++;
+	    }
+	    $id = explode("/", substr($lcPath, strlen($pathPrefix)+1, 4))[0]; //create array separate by *
+		echo $id;
+	}
+	file_put_contents($cursortxt,$deltaPage["cursor"]);
+
+	if($numAdds+$numRemoves>0){
+		 header('Location: lib/ajax/'.$url.'.php?id='.$id);
+	}
+}
+
+
+function process_user(){
+	#'''Call /delta for the given user ID and process any changes.'''
+// creation d'un client dropbox 
+	include("lib/dropboxAPI.php");
+	$myCustomClient = new dbx\Client($accessToken, $clientIdentifier);
+
+	//Articles
+ 	$pathPrefix="/Chargements appareil photo/ArticleTdm";
+ 	$cursortxt = "lib/cursor.txt";
+ 	$url="url";
+ 	delta($myCustomClient ,$cursortxt, $url, $pathPrefix);
+
+ 	//Challenge
+	$pathPrefix="/Chargements appareil photo/ChallengeTdm";
+ 	$cursortxt = "lib/cursorC.txt";
+ 	$url="challenge_update";
+	delta($myCustomClient , $cursortxt, $url, $pathPrefix);
+}
+
+if(isset($_GET['challenge'])){
+	verify();
+}elseif (isset(getallheaders()['X-Dropbox-Signature'])) {
+	webhook();
+}else {
+	process_user();
+}
+?>

Fixed code: #################
## Eclipse
#################

*.pydevproject
.project
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.classpath
.settings/
.loadpath

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch

# CDT-specific
.cproject

# PDT-specific
.buildpath


#################
## Visual Studio
#################

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.sln.docstates

# Build results

[Dd]ebug/
[Rr]elease/
x64/
build/
[Bb]in/
[Oo]bj/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.log
*.scc

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile

# Visual Studio profiler
*.psess
*.vsp
*.vspx

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
*.ncrunch*
.*crunch*.local.xml

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.Publish.xml
*.pubxml

# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
#packages/

# Windows Azure Build Output
csx
*.build.csdef

# Windows Store app package directory
AppPackages/

# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.[Pp]ublish.xml
*.pfx
*.publishsettings

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file to a newer
# Visual Studio version. Backup files are not needed, because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

# SQL Server files
App_Data/*.mdf
App_Data/*.ldf

#############
## Windows detritus
#############

# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Mac crap
.DS_Store


#############
## Python
#############

*.py[cod]

# Packages
*.egg
*.egg-info
dist/
build/
eggs/
parts/
var/
sdist/
develop-eggs/
.installed.cfg

# Installer logs
pip-log.txt

# Unit test / coverage reports
.coverage
.tox

#Translations
*.mo

#Mr Developer
.mr.developer.cfg
lib/dropboxAPI.php
lib/alwaysdata.php
lib/app-info.json
z dev.txt
.htaccess
lib/en.txt
lib/fr.txt
lib/you.txt
tdm
===

*www.recontact.me*


 1. Windows Installation.  
 2. Linux Installation. 
 3. Others sections to be written:
* About updated your fork:  
* About testing:  
* About what to check before send a pull-request:  


-------------------------------

__Install Windows :__

1. Install Wamp (64bits is better) : http://www.wampserver.com/#download-wrapper 
2. Install GitHub for Windows : https://windows.github.com/
3. On GitHub for Windows, clic on + to add repository
4. But choose to Clone your fork into C:\wamp\www\ and call it "tdm" 
5. Then on the navigator, the URL is localhost/Site or localhost/tdm/Site

-------

**Install Linux :**

1. sudo apt-get install lamp-server
2. sudo ln -s /folder/perso/tdm/Site /var/www/
3. Then on the navigator, the URL is localhost/Site or localhost/tdm/Site

** And you need also   
Ubuntu: apt-get install php5-curl  
Fedora / Amazon Linux: yum install php-curl  
from [http://mtdowling.com/blog/2013/05/02/requiring-curl-in-your-php-library/][1]

** and php_pdo_mysql
from [http://fr.openclassrooms.com/informatique/cours/concevez-votre-site-web-avec-php-et-mysql/lire-des-donnees-2][2]

  [1]: http://mtdowling.com/blog/2013/05/02/requiring-curl-in-your-php-library/
  [2]: http://fr.openclassrooms.com/informatique/cours/concevez-votre-site-web-avec-php-et-mysql/lire-des-donnees-2
# tdm
# Travel blog updated with Dropbox webhook - learn Dropbox webhooks, PHP, SQL, JS,...
===
*to write again*

Visible sur l'adresse [www.recontact.me](www.recontact.me)


## Synopsis

This project is a project and task manager program. Developed from scratch with PHP/jQuery

Le site raconte notre voyage et se remplira au fur et Ã  mesure de notre synchronisation sur Dropbox.  
On utilise PHP (avec l'extension php_curl)  
et l'interface avec Dropbox se fait avec la Core API Dropbox. (cf le dossier lib)

## Code Example

**Contenu**

Dans ce dossier, on trouve de nombreux dossiers et fichiers. Ainsi :

    article/ permet l upload automatique d articles. L appel Ã  ce dossier vient de
    article.php, le modÃ¨le de page des articles
    challenge/ idem
    challenge.php idem
    destination/ contient le contenu des pages destinations c'est Ã  dire img et le fichier d import image : destination_img. Ãgalement le contenu textuel sÃ©parÃ© entre les diffÃ©rentes langues
    destination.php pour l appel de ses destinations
    ...


## Motivation

Share the articles and pictures of my website when travelling. Uploads come from Dropbox. Dropbox webhooks are used to launch synchronisation.

## Installation

Fork it

## API Reference

None

## Tests

Use your localhost

## Maintainer

[Pierre Trolle](https://github.com/trollepierre) - [@trollepierre](https://twitter.com/PierreTrolle)

## License (MIT)

Copyright (c) Pierre Trolle ("Author")

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
**PHP UNIT**

Lancer chaque test :

    phpunit --bootstrap src/Email.php --testdox tests

Lancer tous les tests :

    phpunit --bootstrap src/Email.php tests/EmailTest.php      
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-51243444-1', 'auto');
  ga('send', 'pageview');

</script>
<?php   
    include("lib/creerBdd.php");
    $reponse = $bdd->query('SELECT count(*) AS count FROM article');
    while ($donnees = $reponse->fetch()){
        $count= htmlspecialchars($donnees['count']) ;
    }
    $id = (isset($_GET['id'])) ? htmlspecialchars($_GET['id']) : $count ;    
    $reponse->closeCursor();
    require("w/0fonctions.php");
    require("w/1head.php");
?>
    <script type="text/javascript">
        <?php RemplirWindowImage('article'); ?>
    </script>
<?php    
    echo '<style type="text/css">';
    IconBackgroundA('article');
?>
    </style>
   
</head>

<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
    <div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/fr_FR/sdk.js#xfbml=1&appId=661854923873753&version=v2.0";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<?php require("w/2lightbox.php");?>
<?php require("w/4headerScroller.php");?>

    <div class="mobile-content">
        <div class="flexslider">
            <div class="slides">
                <?php ArticlesClock('article');?>
            </div>
        </div>
    </div>
    <div class='timeline' style="">
        <div class='timeline-bg timeline-bg1 show'></div>
        <div class='timeline-controller'>
            <div class='mode-icon mode-icon1 show' >
    <?php 
    include("lib/creerBdd.php");
    global $id;
    $reponse = $bdd->query('SELECT img_link FROM article_contenu WHERE article_uid = '.$id.' AND position = 1');
    // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
    while ($donnees = $reponse->fetch()){
      echo '<img style="border : 1px solid black;" class="centreImgTime" src="'.htmlspecialchars($donnees['img_link']).'">';
    }
    $reponse->closeCursor();
    ?></div>
        </div>
        <div class='inside'>
            <div class='clocks'>
                <div class='time'>
                    <span class='hours'>1</span>
                </div>
            </div>
            <div class='modes' id="dest">
                <?php ArticlesTime('article');?>
            </div>
        </div>
    </div>
    <div id="lesAutresPhotos"></div>
    <div class="carousel" >
        <div class="ourArticles">
           <a  class="discover btn btn-xs btn-primary" role="button" target="_blank" title="<?php echo ALTVLAPDLA; ?>" href=
                <?php 
                include("lib/creerBdd.php");
                 global $id;
                  $reponse = $bdd->query('SELECT dropbox_link FROM article WHERE article_uid = '.$id.' ORDER BY id');
                while ($donnees = $reponse->fetch()){
                    $dropbox_link=htmlspecialchars($donnees['dropbox_link']);
                    echo '"'.$dropbox_link.'"';
                }
                $reponse->closeCursor();
                ?>
                >
                 <h1> <?php echo VLAPDLA; ?> </h1>
            </a>
        </div>
        <div class="flex-slider carousel">
            <ul class="slides">
            <?php
            include("lib/creerBdd.php");
            global $id;
            $reponse = $bdd->query('SELECT img_link FROM article_galerie WHERE article_uid = '.$id.' ORDER BY id');
            while ($donnees = $reponse->fetch()){
                Carroussel($dropbox_link, htmlspecialchars($donnees['img_link']));
            }
            $reponse->closeCursor();
            ?>   
            </ul>
        </div>
        <div class="ourArticles">
             <a href="articles.php"  class="discover btn btn-xs btn-primary" role="button" title="<?php echo ALTVLAA; ?>">
                <h1> <?php echo VLAA; ?> </h1>
            </a>
        </div>
         <div class="flex-slider carousel">
            <ul class="slides">
               <?php 
               include("lib/creerBdd.php");
$reponse = $bdd->query('SELECT nom, name,article_uid,img_link FROM article ORDER BY article_uid DESC');
while ($donnees = $reponse->fetch())
    {
       $nome = ($lang==='fr') ? 'nom' : 'name' ;
        ImgCarroussel(htmlspecialchars($donnees[$nome]),htmlspecialchars($donnees['article_uid']),'article', htmlspecialchars($donnees['img_link']));
    }
    $reponse->closeCursor();
                ?>
            </ul>
        </div>

    </div>
    <div class="fbCenter">
        <div class="fb-comments" data-href="http://www.recontact.me/article.php?id=<?php echo $id; ?>" data-width="600px" data-numposts="5" data-colorscheme="light"></div>
    </div>
<div class="espace"> . </div>
    <div id="caracteristiques"></div><!--INDISPENSABLE : WHY?-->
    <div class="galery" id="gallery"></div>

<?php require("w/8footer.php");?>
<?php require("w/9end.php");?>
<?php   
    require("w/0fonctions.php");
?>
<?php    
    require("w/1head.php");
?>
    <style type="text/css">
        .clocks{
        z-index: -2;
        }
    </style>
    <script type="text/javascript">
        <?php 
        include("lib/creerBdd.php");
  global $id;
  $reponse = $bdd->query('SELECT img_link FROM article ORDER BY article_uid DESC');
  // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
  $images = array();
  echo 'window.images = [' ;
  $compteur=1;
  while ($donnees = $reponse->fetch())
    {
     $compteur++;
     echo '"'.htmlspecialchars($donnees['img_link']).'",';
    }
    echo "];";
    $reponse->closeCursor();
     ?>
    </script>
   
</head>

<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
<?php require("w/2lightbox.php");?>
<?php require("w/4headerScroller.php");?>

    <div class="mobile-content">
        <div class="flexslider">
            <div class="slides">
                <?php /*ArticlesClock('article');*/?>
            </div>
        </div>
    </div>
    <div class='timeline' style="">
        <div class='timeline-bg timeline-bg1 show'></div>
        <div class='timeline-controller'>
            <div class='mode-icon mode-icon1 show' >
    <?php 
    include("lib/creerBdd.php");
    global $id;
    $reponse = $bdd->query('SELECT img_link FROM article WHERE article_uid = '.$compteur);
    // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
    while ($donnees = $reponse->fetch()){
      echo '<img class="centreImgTime" src="'.htmlspecialchars($donnees['img_link']).'">';
    }
    $reponse->closeCursor();
    ?></div>
        </div>
        <div class='inside'>
            <div class='clocks'>
                <div class='time'>
                    <span class='hours'>1</span>
                </div>
            </div>
            <div class='modes' id="dest">
              <?php 
              include("lib/creerBdd.php");
                  global $id;
                  $nom = ($lang==="fr") ? "nom" : "name" ;
                  $voirlarticle = ($lang==="fr") ? 'Voir l\'article' : 'See the article' ;
                  $reponse = $bdd->query('SELECT article_uid,'.$nom.' FROM article ORDER BY article_uid DESC');
                  // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
                  while ($donnees = $reponse->fetch()){
                    $au=$compteur + 1 - htmlspecialchars($donnees['article_uid']);
                    echo '<p class="mode mode'.$au.'" data-bg="'.$au.'">
                         <br/>        <span class="titreArticle">     '.htmlspecialchars($donnees[$nom]).'      </span>
                          <br/> <br/> <a class="btn btn-lg btn-primary"  href="article.php?id='.htmlspecialchars($donnees['article_uid']).'"> <span style="display:block; font-size: 30px; font-weight: normal;font-family: inherit;"> '.$voirlarticle.'</span> </a>
                        </p>';
                  }
                  $reponse->closeCursor();
                  ?>
            </div>
        </div>
    </div>
    
    <div id="caracteristiques"></div><!--INDISPENSABLE : WHY?-->
    <div class="galery" id="gallery"></div>

<?php require("w/8footer.php");?>
<?php require("w/9end.php");?>
<?php   
    include("lib/creerBdd.php");
    $reponse = $bdd->query('SELECT count(*) AS count FROM challenge');
    while ($donnees = $reponse->fetch()){
        $count= htmlspecialchars($donnees['count']) ;
    }
    $id = (isset($_GET['id'])) ? htmlspecialchars($_GET['id']) : $count ;    
    $reponse->closeCursor();
    require("w/0fonctions.php");
    require("w/1head.php");
    ?>
    <script type="text/javascript">
        <?php RemplirWindowImage('challenge'); ?>
    </script>
<?php    
    echo '<style type="text/css">';
    IconBackgroundA('challenge');
?>
    </style>
</head>

<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
       <div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/fr_FR/sdk.js#xfbml=1&appId=661854923873753&version=v2.0";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<?php require("w/2lightbox.php");?>
<?php require("w/4headerScroller.php");?>

    <div class="mobile-content">
        <div class="flexslider">
            <div class="slides">
                <?php ArticlesClock('challenge'); ?>
            </div>
        </div>
    </div>
    <div class='timeline' style="">
        <div class='timeline-bg timeline-bg1 show'></div>
        <div class='timeline-controller'>
            <div class='mode-icon mode-icon1 show' >
                  <?php 
    include("lib/creerBdd.php");
    global $id;
    $reponse = $bdd->query('SELECT img_link FROM challenge_contenu WHERE challenge_uid = '.$id.' AND position = 1');
    // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
    while ($donnees = $reponse->fetch()){
      echo '<img style="border : 1px solid black;" class="centreImgTime" src="'.htmlspecialchars($donnees['img_link']).'">';
    }
    $reponse->closeCursor();
    ?></div>
        </div>
        <div class='inside'>
            <div class='clocks'>
                <div class='time'>
                    <span class='hours'>1</span>
                </div>
            </div>
            <div class='modes' id="dest">
                <?php ArticlesTime('challenge'); ?>
            </div>
        </div>
    </div>
     <div id="lesAutresPhotos"></div>
    <div class="carousel" >
        

        
        <div class="ourArticles">
           <a href="challenges.php"  class="discover btn btn-xs btn-danger" role="button"  title="<?php echo ALTVLAD; ?>">
                <h1> <?php echo VLAD; ?> </h1>
            </a>
        </div>
 <div class="flex-slider carousel">
            <ul class="slides">
                <?php 
                include("lib/creerBdd.php");
                $reponse = $bdd->query('SELECT nom, name,challenge_uid,img_link FROM challenge ORDER BY challenge_uid DESC');
                while ($donnees = $reponse->fetch()){
                    $nome = ($lang==='fr') ? 'nom' : 'name' ;
                    ImgCarroussel(htmlspecialchars($donnees[$nome]),htmlspecialchars($donnees['challenge_uid']),'challenge', htmlspecialchars($donnees['img_link']));
                }
                $reponse->closeCursor();
                ?>
            </ul>
        </div>
    </div>
     <div class="fbCenter">
        <div class="fb-comments" data-href="http://www.recontact.me/challenge.php?id=<?php echo $id; ?>" data-width="600px" data-numposts="5" data-colorscheme="light"></div>
    </div>
    <div class="espace">. </div>
    <div id="caracteristiques"></div><!--INDISPENSABLE : WHY?-->
    <div class="galery" id="gallery"></div>
<?php require("w/8footer.php");?>
<?php require("w/9end.php");?>
<?php 

$contentArticles = array (
	array('TITLE',  'Â§'),
	array('Challenge', "
			Version Francaise en-dessous.
			On this page, you will find all the challenges we realised during the world trip.
			Post a lot of challenges because we count on you to make our trip becoming exciting!
			If you are just curious, have a look to the list of proposed challenges
		"),
	array('Les dÃ©fis !', "
		Sur cette page, vous retrouverez l'ensemble des defis que nous realiserons.
		Postez un max de defis car on compte sur vous pour agrementer nos tours du monde.
		Si vous cherchez des idees de defis, jeter un oeil a la liste des defis proposees.
		")
	);
?>


<?php 

$contentArticles = array (
	array('TITLE',  'Â§'),
	array('Paperclip Exchanging', "
			Version Francaise en-dessous.
			Each of us will start with one paper clip. 
			The aim of this challenge will be to exchange the paperclip for another object, the object for another one...
			The winner is the one with the best object at the end of the trip.   
			Discover all the objects we get.
		"),
	array('Les dÃ©fis !', "
		Chacun d'entre nous partira avec un trombone.
		Le but de ce dÃ©fi est de revenir avec le meilleur objet Ã  la fin du voyage en rÃ©alisant des Ã©changes d'objets.
		DÃ©couvrez tous les objets Ã©changÃ©s !
		")
	);
?>


<?php
	if (isset($_GET['dest'])) 
	{
		$dest=htmlspecialchars($_GET['dest']);
		if ($dest=='southAmerica') 
		{     
		/*	Page south america.php	*/
		$LINK = array ('brazil', 'argentina', 'paraguay', 'bolivia', 'peru', 'chile');
		//define('GMAP', '<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=d&amp;source=s_d&amp;saddr=Rio+de+Janeiro,+%C3%89tat+de+Rio+de+Janeiro,+Br%C3%A9sil&amp;daddr=S%C3%A3o+Paulo+-+%C3%89tat+de+S%C3%A3o+Paulo,+Br%C3%A9sil+to:Iguazu+Falls+-+Puerto+Iguaz%C3%BA,+Misiones+Province,+Argentine+to:Ciudad+del+Este,+Paraguay+to:Encarnaci%C3%B3n,+Paraguay+to:Asunci%C3%B3n,+Paraguay+to:Resistencia,+Province+du+Chaco,+Argentine+to:Salta,+Province+de+Salta,+Argentine+to:Lima,+P%C3%A9rou&amp;geocode=FWxyov4dnt1s_SkLtSRC_n6ZADHuWWyEPCWI-Q%3BFcilmP4do244_SnRYaSDgUTOlDGuWzP_CEupmw%3BFTkGef4dQKK__CEW9lXJdAbN2yl37f_jEpP2lDEW9lXJdAbN2w%3BFYWlev4dpZ2-_CnRsbb-mYT2lDEeC3Drnsszzg%3BFbwpYP4djdOq_Cnrz5dVXpVXlDFxwAX_R9L3bw%3BFWs5fv4d5I6Q_Cn122luB6hdlDHJNhm_RnrrrA%3BFfgeXf4d9PB7_CkL9_WmYgxFlDFtzcIRZcg68A%3BFazXhf4dxeMZ_Cn5t1FRo8MblDEG8ofVLJnNpQ%3BFdovSP8dl2to-ylnllMe28gFkTEp2nugilNFTw&amp;aq=0&amp;oq=Lima&amp;sll=-23.443089,-55.634766&amp;sspn=23.454806,43.286133&amp;t=h&amp;gl=US&amp;hl=fr&amp;mra=ls&amp;ie=UTF8&amp;ll=-23.443089,-55.634766&amp;spn=15.423874,33.848259&amp;output=embed"></iframe><br /><small><a href="https://maps.google.com/maps?f=d&amp;source=embed&amp;saddr=Rio+de+Janeiro,+%C3%89tat+de+Rio+de+Janeiro,+Br%C3%A9sil&amp;daddr=S%C3%A3o+Paulo+-+%C3%89tat+de+S%C3%A3o+Paulo,+Br%C3%A9sil+to:Iguazu+Falls+-+Puerto+Iguaz%C3%BA,+Misiones+Province,+Argentine+to:Ciudad+del+Este,+Paraguay+to:Encarnaci%C3%B3n,+Paraguay+to:Asunci%C3%B3n,+Paraguay+to:Resistencia,+Province+du+Chaco,+Argentine+to:Salta,+Province+de+Salta,+Argentine+to:Lima,+P%C3%A9rou&amp;geocode=FWxyov4dnt1s_SkLtSRC_n6ZADHuWWyEPCWI-Q%3BFcilmP4do244_SnRYaSDgUTOlDGuWzP_CEupmw%3BFTkGef4dQKK__CEW9lXJdAbN2yl37f_jEpP2lDEW9lXJdAbN2w%3BFYWlev4dpZ2-_CnRsbb-mYT2lDEeC3Drnsszzg%3BFbwpYP4djdOq_Cnrz5dVXpVXlDFxwAX_R9L3bw%3BFWs5fv4d5I6Q_Cn122luB6hdlDHJNhm_RnrrrA%3BFfgeXf4d9PB7_CkL9_WmYgxFlDFtzcIRZcg68A%3BFazXhf4dxeMZ_Cn5t1FRo8MblDEG8ofVLJnNpQ%3BFdovSP8dl2to-ylnllMe28gFkTEp2nugilNFTw&amp;aq=0&amp;oq=Lima&amp;sll=-23.443089,-55.634766&amp;sspn=23.454806,43.286133&amp;t=h&amp;gl=US&amp;hl=fr&amp;mra=ls&amp;ie=UTF8&amp;ll=-23.443089,-55.634766&amp;spn=15.423874,33.848259" style="color:#0000FF;text-align:left">Agrandir le plan</a></small>');
		} elseif ($dest=='newZealand') {
		/* 	Page new zealand.php 	*/
		$LINK = array ('auckland','tekapo','cook','queenstown','milford','haastPass');
		//define('GMAP', '<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=d&amp;source=s_d&amp;saddr=Christchurch,+Canterbury,+Nouvelle-Z%C3%A9lande&amp;daddr=Tekapo,+Canterbury,+Nouvelle-Z%C3%A9lande+to:Mount+Cook+National+Park,+Canterbury,+Nouvelle-Z%C3%A9lande+to:State+Highway+8,+Alexandra,+Otago,+Nouvelle-Z%C3%A9lande+to:Dunedin,+Otago,+Nouvelle-Z%C3%A9lande+to:Queenstown,+Otago,+Nouvelle-Z%C3%A9lande+to:Milford+Sound,+New+Zealand+to:Wanaka,+New+Zealand+to:Southern+Alps+Media,+Southern+Alps+Media,+695+Aubrey+Rd,+Wanaka+9343,+Nouvelle-Z%C3%A9lande+to:Haast+Pass+to:Greymouth,+West+Coast,+Nouvelle-Z%C3%A9lande+to:Christchurch,+Nouvelle-Z%C3%A9lande&amp;hl=fr&amp;geocode=FerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ%3BFXljYv0dfB8qCim31PesCZkrbTHA2GSrhu8AKg%3BFWLMZv0dfv8lCiFgWFxlh-8ADyntspyr4cUrbTFgWFxlh-8ADw%3BFWloTf0dgbEYCilri_vT3UgqqDFpox-JNLWbTw%3BFRjyQ_0djqopCik9UV8P4OQrqDFBmXmEhu8ABQ%3BFQbhUP0ddJYNCilf3qjX8R3VqTEApnmEhu8ABQ%3BFYbTVv0dJOkBCinhSUu6TeDVqTEA3mSrhu8AKg%3BFTPiVf0dQsAUCilvLey5HUbVqTHgwXmEhu8ABQ%3BFXBBVv0dIkIVCik1K2EDBU_VqTEsiDsybb6qgA%3BFWAWX_0dcBMYCikxSDxKRmLVbDENhi9khLXo6Q%3BFShCeP0dCng0CilTENVN2T8vbTGgcnmEhu8ABQ%3BFerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ&amp;aq=0&amp;oq=chr&amp;sll=-43.133061,171.606445&amp;sspn=4.690365,10.821533&amp;mra=ls&amp;ie=UTF8&amp;ll=-43.133061,171.606445&amp;spn=3.681025,4.905224&amp;t=m&amp;output=embed"></iframe><br /><small><a href="https://maps.google.com/maps?f=d&amp;source=embed&amp;saddr=Christchurch,+Canterbury,+Nouvelle-Z%C3%A9lande&amp;daddr=Tekapo,+Canterbury,+Nouvelle-Z%C3%A9lande+to:Mount+Cook+National+Park,+Canterbury,+Nouvelle-Z%C3%A9lande+to:State+Highway+8,+Alexandra,+Otago,+Nouvelle-Z%C3%A9lande+to:Dunedin,+Otago,+Nouvelle-Z%C3%A9lande+to:Queenstown,+Otago,+Nouvelle-Z%C3%A9lande+to:Milford+Sound,+New+Zealand+to:Wanaka,+New+Zealand+to:Southern+Alps+Media,+Southern+Alps+Media,+695+Aubrey+Rd,+Wanaka+9343,+Nouvelle-Z%C3%A9lande+to:Haast+Pass+to:Greymouth,+West+Coast,+Nouvelle-Z%C3%A9lande+to:Christchurch,+Nouvelle-Z%C3%A9lande&amp;hl=fr&amp;geocode=FerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ%3BFXljYv0dfB8qCim31PesCZkrbTHA2GSrhu8AKg%3BFWLMZv0dfv8lCiFgWFxlh-8ADyntspyr4cUrbTFgWFxlh-8ADw%3BFWloTf0dgbEYCilri_vT3UgqqDFpox-JNLWbTw%3BFRjyQ_0djqopCik9UV8P4OQrqDFBmXmEhu8ABQ%3BFQbhUP0ddJYNCilf3qjX8R3VqTEApnmEhu8ABQ%3BFYbTVv0dJOkBCinhSUu6TeDVqTEA3mSrhu8AKg%3BFTPiVf0dQsAUCilvLey5HUbVqTHgwXmEhu8ABQ%3BFXBBVv0dIkIVCik1K2EDBU_VqTEsiDsybb6qgA%3BFWAWX_0dcBMYCikxSDxKRmLVbDENhi9khLXo6Q%3BFShCeP0dCng0CilTENVN2T8vbTGgcnmEhu8ABQ%3BFerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ&amp;aq=0&amp;oq=chr&amp;sll=-43.133061,171.606445&amp;sspn=4.690365,10.821533&amp;mra=ls&amp;ie=UTF8&amp;ll=-43.133061,171.606445&amp;spn=3.681025,4.905224&amp;t=m" style="color:#0000FF;text-align:left">Agrandir le plan</a></small>');
		} elseif ($dest=='australia') {
		/*	Page australia.php	*/
		$LINK = array ('collect','sydney','bluemountains','melbourne','brisbane','barrier');
		//define('GMAP', '<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://www.google.com/maps/embed?pb=!1m53!1m12!1m3!1d14552037.721537272!2d140.38011241521954!3d-27.069840579140944!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!4m38!1i0!3e0!4m5!1s0x6b129838f39a743f%3A0x3017d681632a850!2sSydney+NSW%2C+Australia!3m2!1d-33.867486899999996!2d151.2069902!4m5!1s0x6ad646b5d2ba4df7%3A0x4045675218ccd90!2sMelbourne+VIC%2C+Australia!3m2!1d-37.814107!2d144.96328!4m5!1s0x6b129838f39a743f%3A0x3017d681632a850!2sSydney+NSW%2C+Australia!3m2!1d-33.867486899999996!2d151.2069902!4m5!1s0x6b915a045cf620bb%3A0x502a35af3de84c0!2sBrisbane+QLD%2C+Australia!3m2!1d-27.4709331!2d153.02350239999998!4m5!1s0x697862555ba22413%3A0x400eef17f207860!2sCairns+QLD%2C+Australia!3m2!1d-16.920333799999998!2d145.7708595!4m5!1s0x6b915a045cf620bb%3A0x502a35af3de84c0!2sBrisbane+QLD%2C+Australia!3m2!1d-27.4709331!2d153.02350239999998!5e0!3m2!1sen!2s!4v1401875403552" width="600" height="450" frameborder="0" style="border:0"></iframe>');
		} elseif ($dest=='indonesia') {
		/*	Page indonesia.php	*/
		$LINK = array ('singapour','bali','giliIslands','komodo','borobudur','bromo');
		//define('GMAP', '');
		} elseif ($dest=='indochina') {
		/*	Page Indochina.php 	*/
		$LINK = array ('bangkok','angkor','phnomPenh','hochiminh','hanoi','halongbay');
		//define('GMAP', '<<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://www.google.com/maps/embed?pb=!1m77!1m12!1m3!1d6867502.003035582!2d108.69529635952948!3d16.31259408458767!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!4m62!1i0!3e0!4m5!1s0x311d6032280d61f3%3A0x10100b25de24820!2sBangkok%2C+Tha%C3%AFlande!3m2!1d13.7278956!2d100.5241235!4m5!1s0x3104e80d01fe5865%3A0x8900b6a5a996bfd4!2sPailin%2C+Cambodge!3m2!1d12.8539496!2d102.6083506!4m5!1s0x3110142f18707b7f%3A0x3a693bbd9b1fce4b!2sAngkor+Thom%2C+Province+de+Siem+Reap%2C+Cambodge!3m2!1d13.439511999999999!2d103.862206!4m5!1s0x317529292e8d3dd1%3A0xf15f5aad773c112b!2sH%C3%B4+Chi+Minh-Ville%2C+H%C3%B4-Chi-Minh-Ville%2C+Vietnam!3m2!1d10.8230989!2d106.62966379999999!4m5!1s0x3173f37b32d88937%3A0x1b65051f72ac7164!2zSGFuZyBTb24gRGllbiBDby4sIEx0ZCwgTOG7mWMgVMOibiwgTMOibSDEkOG7k25nLCBWaWV0bmFt!3m2!1d11.610538!2d107.70446799999999!4m5!1s0x317112fef20988b1%3A0xad5f228b672bf930!2zdGjDoG5oIHBo4buRIMSQw6AgTOG6oXQsIEzDom0gxJDhu5NuZywgVmlldG5hbQ!3m2!1d11.9404192!2d108.45831319999999!4m5!1s0x31420dd4e1353a7b%3A0xae336435edfcca3!2sHoi+An%2C+Vietnam!3m2!1d15.8800584!2d108.3380469!4m5!1s0x312f2a3f413d1ba3%3A0xac9749a9608e6a56!2sLouang+Prabang%2C+Laos!3m2!1d19.8833959!2d102.13468739999999!4m5!1s0x3135ab9bd9861ca1%3A0xe7887f7b72ca17a9!2zSMOgIE5vaSwgSGFub8OvLCBWaWV0bmFt!3m2!1d21.0333333!2d105.85!4m5!1s0x314a588579e0740b%3A0x88ec650f681c6969!2sHa+Long+Bay%2C+Halong+Road%2C+Ha+Long%2C+Ha+Long+Bay%2C+tp.+H%E1%BA%A1+Long%2C+Qu%E1%BA%A3ng+Ninh%2C+Vietnam!3m2!1d20.957282!2d107.023203!5e1!3m2!1sfr!2s!4v1401894164009" width="600" height="450" frameborder="0" style="border:0"></iframe>');
		} elseif ($dest=='china') {
		/*	Page China.php
		FrontiÃ¨re : 	http://voyageforum.com/discussion/poste-frontiere-chine-vietnam-pingxiang-dang-dang-d303574/	*/
		$LINK = array ('sichuan','jiuzhaigou','guilin','beijing','wall','zhangye');
		//define('GMAP', '<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=d&amp;source=s_d&amp;saddr=Pingxiang,+Chongzuo,+Guangxi,+Chine&amp;daddr=Yunnan,+Chine+to:Sichuan,+Chine+to:Jiuzhaigou+Valley+to:Guilin,+Guangxi,+Chine+to:Tianzi+Mountain+to:Mount+Huangshan,+Huangshan,+Anhui,+Chine+to:Zhejiang,+Chine+to:Panjin,+Liaoning,+Chine+to:Zhangye,+Gansu,+Chine+to:Lhassa,+Xizang+(Tibet),+Chine&amp;geocode=FZUiUQEd1R9dBinpkcyi8kG1NjECTipQ-eumvg%3BFS4rfgEd8jofBikpW6Ay24PQNjEprI3Kt-s8pg%3BFQS10wEdmxI0Bimzzb1oM-fkNjG5_pmPz3yP3g%3BFUuB-wEdbasxBiHGDPa1yOj9ySkpZxye9r33NjHGDPa1yOj9yQ%3BFd6kgQEdE-WSBikzUSF1NvSkNjHhSnAdGcGG_w%3BFbGgfgEdn7unBik1mq3houimNjGFB0CK3Ae2SQ%3BFazQywEdAwELBylzYDZXiMY1NDHk_gLvRMZh_Q%3BFTfYzQEd2GIpBym_zAqlNBJJNDG3fBg2xXHvgQ%3BFf1wcwIduqZGByljReLQlzkmXjHoe9Z80SRHsA%3BFTP2UQIdGr78BSnvcrXCzVu0NzECASWA8MtVbg%3BFfJaxAEd-LJuBSkdVDI6YzFhNzEAuPkG744ckw&amp;aq=0&amp;oq=mount+huan&amp;sll=31.66475,106.308416&amp;sspn=22.724868,43.286133&amp;t=h&amp;gl=US&amp;hl=fr&amp;mra=ps&amp;ie=UTF8&amp;ll=31.66475,106.308416&amp;spn=22.724868,43.286133&amp;output=embed"></iframe>');
		} elseif ($dest=='nepal') {
		/*	Page Nepal.php	*/
		$LINK = array ('lhasa','potala','tibetan','trekking','everest','kathmandu');
		//define('GMAP', 'No maps available');      
		} elseif ($dest=='india') {
		/*	Page India.php	*/
		$LINK = array ('varanasi','kolkata','rajasthan','agra','ladakh','newDehli');
		//define('GMAP', '<<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://www.google.com/maps/embed?pb=!1m75!1m12!1m3!1d14615165.034698077!2d70.78814397702104!3d26.579384110222158!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!4m60!1i0!3e0!4m5!1s0x39eb198a307baabf%3A0xb5137c1bf18db1ea!2sKathmandu%2C+N%C3%A9pal!3m2!1d27.7!2d85.33333329999999!4m5!1s0x3991446a0c332489%3A0x1ff3f97fdcc6bfa2!2sGorakhpur%2C+Uttar+Pradesh%2C+Inde!3m2!1d26.760554499999998!2d83.3731675!4m5!1s0x398e2db76febcf4d%3A0x68131710853ff0b5!2sVaranasi%2C+Uttar+Pradesh%2C+Inde!3m2!1d25.317645199999998!2d82.9739144!4m5!1s0x39f882db4908f667%3A0x43e330e68f6c2cbc!2sCalcutta%2C+Bengale-Occidental%2C+Inde!3m2!1d22.572646!2d88.363895!4m5!1s0x3be7c6306644edc1%3A0x5da4ed8f8d648c69!2sBombay%2C+Maharashtra%2C+Inde!3m2!1d19.0759837!2d72.8776559!4m5!1s0x3967e56550a14411%3A0xdbd8c28455b868b0!2sUdaipur%2C+Rajasthan%2C+Inde!3m2!1d24.58!2d73.67999999999999!4m5!1s0x3947bc28aa1b396b%3A0xf5ef9bd660d66ee3!2sJaisalmer%2C+Rajasthan%2C+Inde!3m2!1d26.915748699999998!2d70.9083443!4m3!3m2!1d26.1167418!2d72.89511519999999!4m5!1s0x390cfd5b347eb62d%3A0x52c2b7494e204dce!2sNew+Delhi%2C+Delhi%2C+Inde!3m2!1d28.635308!2d77.22496!4m5!1s0x38fdeb21445fed85%3A0xd1bb09975086f710!2sLeh!3m2!1d34.1525864!2d77.57705349999999!5e0!3m2!1sfr!2s!4v1401897117555" width="600" height="450" frameborder="0" style="border:0"></iframe>');
		} else{
		$LINK = array ('lost');
		}
	}else{ 
		$LINK = array ('southAmerica', 'newZealand', 'australia', 'indonesia', 'indochina', 'china','nepal','india');
	} 

 	$lang = $_COOKIE['lang'];
   	if ($lang=='fr') {   
 	     require("lang/destination_fr.php");
	 } else  {     
 	     require("lang/destination_en.php");
	 } 
	
?>
<!-- 
<p>

We thought a lot about our life/motivation.
We read lots of blogs. <link> voyageautourdumonde
We discover why : <link> art2
We manage money issue <link> or not
and so on <link> gdocs </link>

</p>
The turning point
<p>
We found Zipworld <link> 
We thought a lot about destination.
Departure should be after graduation + 1 month so November
We wanted to live during the Summer so South Hemispher 
We wanted to avoid to pay a lot. The plane ticket allows us to take only one direction.
So we should South America, hence Oceania was next till April
Then Indonesia, Thailand, Cambodia and Vietnam during the end of the Spring
North Hemispher in Summer: so China, Tibet, Nepal would be the following destination.
India to finish with the money we still have.
If you have a lot, we would be treated as prince there
If you have not money anymore, we would manage trip for few.
Dubai and we'll be back in November
We get 8 plane ticket for 2100

</p>

The other formality
<p>
Time to buy stuff to pack
Time to look for visa
Time to get vaccinated and so one...
Do this website...





$contentArticles = array (
	array('TITLE', 'Nb line §', '§'),
	array('How it starts?', '4', '
			This is an amazing story!
			Pierre met a lot of backpackers in India.
			After living crazy adventures there, 
			he thought this experience could be extended to a world trip.
		'),
	array('How it starts?', '2', '
		Back to France, he described his whole trip to his friends, especially Benoit.
		Pierre and Benoit started to dream about making the world trip comes true!
		')
	);
</p>

 -->
<h1>Why such a trip?</h1>

<!-- if ($lang=='fr') {           // si la langue est 'fr' (français) on inclut le fichier fr-lang.php --> 	
<p style="text-align: left;">Nous sommes à l'heure de rentrer dans la vie professionnelle, deux jeunes diplômés tout juste sortis de leur école d'ingénieur respective.
Qu'est-ce qui nous pousse à prendre la Route ? Pourquoi partir ? Qu'attend-on vraiment d'un tel voyage ?
</p>

<h2>Vivre une aventure</h2>

<p style="text-align: left;"> Qui n'a pas rêvé de contempler le soleil levant inondant de lumière une vallée et de sentir le vent des montagnes s'opposer à son ascension, alors que la perspective du proche sommet lui réchauffe le cur ?
Ce désir qui nous anime, c'est le désir de vivre une aventure. Un tour du monde, un an de pure découverte. Une découverte de paysages inconnus et sauvages, de cultures, de monuments, de rencontres fortuites, de nouvelles amitiés...
Nous sommes conscients que linconfort [qui] sera notre quotidien et [ralentira nos ardeurs] [sapera nos efforts] [freinera notre entrain] [nous bousculera dans notre aventure]. 
C'est cependant cette voie qui rendra notre expérience unique. Nous vivrons une aventure tous les jours pendant un an sans savoir ce que le lendemain nous réserve. 
</p>

<h2>Découvrir le monde </h2>

<p style="text-align: left;"> Nous voulons, au-delà d'une expérience personnelle, vivre une expérience humaine et spirituelle et aller à la rencontre d'autres existences.  Par leur accueil, les gens que nous rencontrerons partageront un bout de leur culture, de leur mode de vie et nous permettront de les découvrir.
Nous avons la ferme conviction que c'est en allant découvrir le monde, en [adoptant] [faisant preuve d']une ouverture d'esprit, que nous choisissons qui nous voulons devenir et par conséquent que nous construisons notre identité. 
C'est ainsi l'un des buts de notre voyage, alors que la société nous a tracé un chemin tout droit et bien pavé, nous voulons arpenter les chemins sinueux, qui paraissent plus difficiles à emprunter, mais qui peut-être seront plus à même de nous faire découvrir où se situe le bonheur et comment y parvenir.
 </p>
<br/><br/><br/><br/><br/><br/><br/>
<?php   
    require("w/0fonctions.php");
?>
   <style type="text/css">
        .clocks{
        z-index: -2;
        }
    </style>
     <script type="text/javascript">
        <?php 
        include("lib/creerBdd.php");
  global $id;
  $reponse = $bdd->query('SELECT img_link FROM challenge ORDER BY challenge_uid deSC');
  // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
  $images = array();
  echo 'window.images = [' ;
  $compteur =0;
  while ($donnees = $reponse->fetch())
    {
      $compteur++;
      echo '"'.htmlspecialchars($donnees['img_link']).'",';
    }
    echo "];";
    $reponse->closeCursor();
     ?>
    </script>
<?php    
    require("w/1head.php");
    echo '<style type="text/css">';
    // IconBackgroundA('challenge');
?>
    </style>
   
</head>

<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
       <div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/fr_FR/sdk.js#xfbml=1&appId=661854923873753&version=v2.0";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<?php require("w/2lightbox.php");?>
<?php require("w/4headerScroller.php");?>

    <div class="mobile-content">
        <div class="flexslider">
            <div class="slides">
                <?php /*ArticlesClock('challenge');*/?>
            </div>
        </div>
    </div>
    <div class='timeline' style="">
        <div class='timeline-bg timeline-bg1 show'></div>
        <div class='timeline-controller'>
            <div class='mode-icon mode-icon1 show' >
    <?php 
    include("lib/creerBdd.php");
    global $id;
    $reponse = $bdd->query('SELECT img_link FROM challenge WHERE challenge_uid = '.$compteur);
    // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
    while ($donnees = $reponse->fetch()){
      echo '<img class="centreImgTime" src="'.htmlspecialchars($donnees['img_link']).'">';
    }
    $reponse->closeCursor();
    ?></div>
        </div>
        <div class='inside'>
            <div class='clocks'>
                <div class='time'>
                    <span class='hours'>1</span>
                </div>
            </div>
            <div class='modes' id="dest">
              <?php 
              include("lib/creerBdd.php");
                  global $id;
                  $nom = ($lang==="fr") ? "nom" : "name" ;
                  $voirlchallenge = ($lang==="fr") ? 'Voir le dÃ©fi' : 'See the challenge' ;
                  $reponse = $bdd->query('SELECT challenge_uid,'.$nom.' FROM challenge ORDER BY challenge_uid DESC');
                  // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
                  while ($donnees = $reponse->fetch()){
                    $cu = $compteur - htmlspecialchars($donnees['challenge_uid']) + 1;
                    echo '<p class="mode mode'.$cu.'" data-bg="'.$cu.'">
                         <br/>        <span class="titreArticle">     '.htmlspecialchars($donnees[$nom]).'      </span>
                          <br/> <br/> <a class="btn btn-lg btn-primary"  href="challenge.php?id='.htmlspecialchars($donnees['challenge_uid']).'"> <span style="display:block; font-size: 30px; font-weight: normal;font-family: inherit;"> '.$voirlchallenge.'</span> </a>
                        </p>';
                  }
                  $reponse->closeCursor();
                  ?>
            </div>
        </div>
    </div>
    
    <div class="fbCenter">
      <a href="#AddChal"> 
      <div class="AddCenter" id="AddChal"> <p> <?php echo ADDCHAL; ?></p> </div></a>
        <div class="fb-comments" data-href="http://www.recontact.me/challenge.php?id=<?php echo $id; ?>" data-width="600px" data-numposts="5" data-colorscheme="light"></div>
    </div>
    <div class="espace">. </div>
    <div id="caracteristiques"></div><!--INDISPENSABLE : WHY?-->
    <div class="galery" id="gallery"></div>

<?php require("w/8footer.php");?>
<?php require("w/9end.php");?>
<?php	
session_start();//On dÃ©marre les sessions
$token = uniqid(rand(), true);//On gÃ©nÃ©re un jeton totalement unique (c'est capital :D)
$_SESSION['token'] = $token;//Et on le stocke
$_SESSION['token_time'] = time();//On enregistre aussi le timestamp correspondant au moment de la crÃ©ation du token
//Maintenant, on affiche notre page normalement, le champ cachÃ© token en plus
?>
<?php require("w/0fonctions.php");
      require("w/1head.php");
?>
</head>
<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
<?php require("w/2lightbox.php");?>

 <!-- PAGE 1/2  ===========================================================================-->
<?php require("w/4headerScroller.php");?>
<?php require("w/6contact.php");?>
<?php require("w/8footer.php");?>
<?php require("w/9end.php");?>
/*!
 * Bootstrap v3.1.1 (http://getbootstrap.com)
 * Copyright 2011-2014 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

/*! normalize.css v3.0.0 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{margin:0}
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
audio,canvas,progress,video{display:inline-block;vertical-align:baseline}
audio:not([controls]){display:none;height:0}
[hidden],template{display:none}
a{background:0 0}
a:active,a:hover{outline:0}
abbr[title]{border-bottom:1px dotted}
b,strong{font-weight:700}
dfn{font-style:italic}
h1{font-size:2em;margin:.67em 0}
mark{background:#ff0;color:#000}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-.5em}
sub{bottom:-.25em}
img{border:0}
svg:not(:root){overflow:hidden}
figure{margin:1em 40px}
hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
pre{overflow:auto}
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}
button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}
button{overflow:visible}
button,select{text-transform:none}
button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
input{line-height:normal}
input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}
input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
legend{border:0;padding:0}
textarea{overflow:auto}
optgroup{font-weight:700}
table{border-collapse:collapse;border-spacing:0}
td,th{padding:0}
@media print{*{text-shadow:none!important;color:#000!important;background:transparent!important;box-shadow:none!important}
a,a:visited{text-decoration:underline}
a[href]:after{content:" (" attr(href) ")"}
abbr[title]:after{content:" (" attr(title) ")"}
a[href^="javascript:"]:after,a[href^="#"]:after{content:""}
pre,blockquote{border:1px solid #999;page-break-inside:avoid}
thead{display:table-header-group}
tr,img{page-break-inside:avoid}
img{max-width:100%!important}
p,h2,h3{orphans:3;widows:3}
h2,h3{page-break-after:avoid}
select{background:#fff!important}
.navbar{display:none}
.table td,.table th{background-color:#fff!important}
.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}
.label{border:1px solid #000}
.table{border-collapse:collapse!important}
.table-bordered th,.table-bordered td{border:1px solid #ddd!important}
}
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}
input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}
a{color:#428bca;text-decoration:none}
a:hover,a:focus{color:#2a6496;text-decoration:underline}
a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
figure{margin:0}
img{vertical-align:middle}
.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}
.img-rounded{border-radius:6px}
.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}
.img-circle{border-radius:50%}
hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}
h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#999}
h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}
h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}
h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}
h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}
h1,.h1{font-size:36px}
h2,.h2{font-size:30px}
h3,.h3{font-size:24px}
h4,.h4{font-size:18px}
h5,.h5{font-size:14px}
h6,.h6{font-size:12px}
p{margin:0 0 10px}
.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}
@media (min-width:768px){.lead{font-size:21px}
}
small,.small{font-size:85%}
cite{font-style:normal}
.text-left{text-align:left}
.text-right{text-align:right}
.text-center{text-align:center}
.text-justify{text-align:justify}
.text-muted{color:#999}
.text-primary{color:#428bca}
a.text-primary:hover{color:#3071a9}
.text-success{color:#3c763d}
a.text-success:hover{color:#2b542c}
.text-info{color:#31708f}
a.text-info:hover{color:#245269}
.text-warning{color:#8a6d3b}
a.text-warning:hover{color:#66512c}
.text-danger{color:#a94442}
a.text-danger:hover{color:#843534}
.bg-primary{color:#fff;background-color:#428bca}
a.bg-primary:hover{background-color:#3071a9}
.bg-success{background-color:#dff0d8}
a.bg-success:hover{background-color:#c1e2b3}
.bg-info{background-color:#d9edf7}
a.bg-info:hover{background-color:#afd9ee}
.bg-warning{background-color:#fcf8e3}
a.bg-warning:hover{background-color:#f7ecb5}
.bg-danger{background-color:#f2dede}
a.bg-danger:hover{background-color:#e4b9b9}
.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}
ul,ol{margin-top:0;margin-bottom:10px}
ul ul,ol ul,ul ol,ol ol{margin-bottom:0}
.list-unstyled{padding-left:0;list-style:none}
.list-inline{padding-left:0;list-style:none;margin-left:-5px}
.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}
dl{margin-top:0;margin-bottom:20px}
dt,dd{line-height:1.42857143}
dt{font-weight:700}
dd{margin-left:0}
@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dl-horizontal dd{margin-left:180px}
}
abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}
.initialism{font-size:90%;text-transform:uppercase}
blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}
blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}
blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#999}
blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}
.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}
.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}
.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}
blockquote:before,blockquote:after{content:""}
address{margin-bottom:20px;font-style:normal;line-height:1.42857143}
code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}
code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;white-space:nowrap;border-radius:4px}
kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}
pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}
pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}
.pre-scrollable{max-height:340px;overflow-y:scroll}
.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}
@media (min-width:768px){.container{width:750px}
}
@media (min-width:992px){.container{width:970px}
}
@media (min-width:1200px){.container{width:1170px}
}
.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}
.row{margin-left:-15px;margin-right:-15px}
.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}
.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}
.col-xs-12{width:100%}
.col-xs-11{width:91.66666667%}
.col-xs-10{width:83.33333333%}
.col-xs-9{width:75%}
.col-xs-8{width:66.66666667%}
.col-xs-7{width:58.33333333%}
.col-xs-6{width:50%}
.col-xs-5{width:41.66666667%}
.col-xs-4{width:33.33333333%}
.col-xs-3{width:25%}
.col-xs-2{width:16.66666667%}
.col-xs-1{width:8.33333333%}
.col-xs-pull-12{right:100%}
.col-xs-pull-11{right:91.66666667%}
.col-xs-pull-10{right:83.33333333%}
.col-xs-pull-9{right:75%}
.col-xs-pull-8{right:66.66666667%}
.col-xs-pull-7{right:58.33333333%}
.col-xs-pull-6{right:50%}
.col-xs-pull-5{right:41.66666667%}
.col-xs-pull-4{right:33.33333333%}
.col-xs-pull-3{right:25%}
.col-xs-pull-2{right:16.66666667%}
.col-xs-pull-1{right:8.33333333%}
.col-xs-pull-0{right:0}
.col-xs-push-12{left:100%}
.col-xs-push-11{left:91.66666667%}
.col-xs-push-10{left:83.33333333%}
.col-xs-push-9{left:75%}
.col-xs-push-8{left:66.66666667%}
.col-xs-push-7{left:58.33333333%}
.col-xs-push-6{left:50%}
.col-xs-push-5{left:41.66666667%}
.col-xs-push-4{left:33.33333333%}
.col-xs-push-3{left:25%}
.col-xs-push-2{left:16.66666667%}
.col-xs-push-1{left:8.33333333%}
.col-xs-push-0{left:0}
.col-xs-offset-12{margin-left:100%}
.col-xs-offset-11{margin-left:91.66666667%}
.col-xs-offset-10{margin-left:83.33333333%}
.col-xs-offset-9{margin-left:75%}
.col-xs-offset-8{margin-left:66.66666667%}
.col-xs-offset-7{margin-left:58.33333333%}
.col-xs-offset-6{margin-left:50%}
.col-xs-offset-5{margin-left:41.66666667%}
.col-xs-offset-4{margin-left:33.33333333%}
.col-xs-offset-3{margin-left:25%}
.col-xs-offset-2{margin-left:16.66666667%}
.col-xs-offset-1{margin-left:8.33333333%}
.col-xs-offset-0{margin-left:0}
@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}
.col-sm-12{width:100%}
.col-sm-11{width:91.66666667%}
.col-sm-10{width:83.33333333%}
.col-sm-9{width:75%}
.col-sm-8{width:66.66666667%}
.col-sm-7{width:58.33333333%}
.col-sm-6{width:50%}
.col-sm-5{width:41.66666667%}
.col-sm-4{width:33.33333333%}
.col-sm-3{width:25%}
.col-sm-2{width:16.66666667%}
.col-sm-1{width:8.33333333%}
.col-sm-pull-12{right:100%}
.col-sm-pull-11{right:91.66666667%}
.col-sm-pull-10{right:83.33333333%}
.col-sm-pull-9{right:75%}
.col-sm-pull-8{right:66.66666667%}
.col-sm-pull-7{right:58.33333333%}
.col-sm-pull-6{right:50%}
.col-sm-pull-5{right:41.66666667%}
.col-sm-pull-4{right:33.33333333%}
.col-sm-pull-3{right:25%}
.col-sm-pull-2{right:16.66666667%}
.col-sm-pull-1{right:8.33333333%}
.col-sm-pull-0{right:0}
.col-sm-push-12{left:100%}
.col-sm-push-11{left:91.66666667%}
.col-sm-push-10{left:83.33333333%}
.col-sm-push-9{left:75%}
.col-sm-push-8{left:66.66666667%}
.col-sm-push-7{left:58.33333333%}
.col-sm-push-6{left:50%}
.col-sm-push-5{left:41.66666667%}
.col-sm-push-4{left:33.33333333%}
.col-sm-push-3{left:25%}
.col-sm-push-2{left:16.66666667%}
.col-sm-push-1{left:8.33333333%}
.col-sm-push-0{left:0}
.col-sm-offset-12{margin-left:100%}
.col-sm-offset-11{margin-left:91.66666667%}
.col-sm-offset-10{margin-left:83.33333333%}
.col-sm-offset-9{margin-left:75%}
.col-sm-offset-8{margin-left:66.66666667%}
.col-sm-offset-7{margin-left:58.33333333%}
.col-sm-offset-6{margin-left:50%}
.col-sm-offset-5{margin-left:41.66666667%}
.col-sm-offset-4{margin-left:33.33333333%}
.col-sm-offset-3{margin-left:25%}
.col-sm-offset-2{margin-left:16.66666667%}
.col-sm-offset-1{margin-left:8.33333333%}
.col-sm-offset-0{margin-left:0}
}
@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}
.col-md-12{width:100%}
.col-md-11{width:91.66666667%}
.col-md-10{width:83.33333333%}
.col-md-9{width:75%}
.col-md-8{width:66.66666667%}
.col-md-7{width:58.33333333%}
.col-md-6{width:50%}
.col-md-5{width:41.66666667%}
.col-md-4{width:33.33333333%}
.col-md-3{width:25%}
.col-md-2{width:16.66666667%}
.col-md-1{width:8.33333333%}
.col-md-pull-12{right:100%}
.col-md-pull-11{right:91.66666667%}
.col-md-pull-10{right:83.33333333%}
.col-md-pull-9{right:75%}
.col-md-pull-8{right:66.66666667%}
.col-md-pull-7{right:58.33333333%}
.col-md-pull-6{right:50%}
.col-md-pull-5{right:41.66666667%}
.col-md-pull-4{right:33.33333333%}
.col-md-pull-3{right:25%}
.col-md-pull-2{right:16.66666667%}
.col-md-pull-1{right:8.33333333%}
.col-md-pull-0{right:0}
.col-md-push-12{left:100%}
.col-md-push-11{left:91.66666667%}
.col-md-push-10{left:83.33333333%}
.col-md-push-9{left:75%}
.col-md-push-8{left:66.66666667%}
.col-md-push-7{left:58.33333333%}
.col-md-push-6{left:50%}
.col-md-push-5{left:41.66666667%}
.col-md-push-4{left:33.33333333%}
.col-md-push-3{left:25%}
.col-md-push-2{left:16.66666667%}
.col-md-push-1{left:8.33333333%}
.col-md-push-0{left:0}
.col-md-offset-12{margin-left:100%}
.col-md-offset-11{margin-left:91.66666667%}
.col-md-offset-10{margin-left:83.33333333%}
.col-md-offset-9{margin-left:75%}
.col-md-offset-8{margin-left:66.66666667%}
.col-md-offset-7{margin-left:58.33333333%}
.col-md-offset-6{margin-left:50%}
.col-md-offset-5{margin-left:41.66666667%}
.col-md-offset-4{margin-left:33.33333333%}
.col-md-offset-3{margin-left:25%}
.col-md-offset-2{margin-left:16.66666667%}
.col-md-offset-1{margin-left:8.33333333%}
.col-md-offset-0{margin-left:0}
}
@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}
.col-lg-12{width:100%}
.col-lg-11{width:91.66666667%}
.col-lg-10{width:83.33333333%}
.col-lg-9{width:75%}
.col-lg-8{width:66.66666667%}
.col-lg-7{width:58.33333333%}
.col-lg-6{width:50%}
.col-lg-5{width:41.66666667%}
.col-lg-4{width:33.33333333%}
.col-lg-3{width:25%}
.col-lg-2{width:16.66666667%}
.col-lg-1{width:8.33333333%}
.col-lg-pull-12{right:100%}
.col-lg-pull-11{right:91.66666667%}
.col-lg-pull-10{right:83.33333333%}
.col-lg-pull-9{right:75%}
.col-lg-pull-8{right:66.66666667%}
.col-lg-pull-7{right:58.33333333%}
.col-lg-pull-6{right:50%}
.col-lg-pull-5{right:41.66666667%}
.col-lg-pull-4{right:33.33333333%}
.col-lg-pull-3{right:25%}
.col-lg-pull-2{right:16.66666667%}
.col-lg-pull-1{right:8.33333333%}
.col-lg-pull-0{right:0}
.col-lg-push-12{left:100%}
.col-lg-push-11{left:91.66666667%}
.col-lg-push-10{left:83.33333333%}
.col-lg-push-9{left:75%}
.col-lg-push-8{left:66.66666667%}
.col-lg-push-7{left:58.33333333%}
.col-lg-push-6{left:50%}
.col-lg-push-5{left:41.66666667%}
.col-lg-push-4{left:33.33333333%}
.col-lg-push-3{left:25%}
.col-lg-push-2{left:16.66666667%}
.col-lg-push-1{left:8.33333333%}
.col-lg-push-0{left:0}
.col-lg-offset-12{margin-left:100%}
.col-lg-offset-11{margin-left:91.66666667%}
.col-lg-offset-10{margin-left:83.33333333%}
.col-lg-offset-9{margin-left:75%}
.col-lg-offset-8{margin-left:66.66666667%}
.col-lg-offset-7{margin-left:58.33333333%}
.col-lg-offset-6{margin-left:50%}
.col-lg-offset-5{margin-left:41.66666667%}
.col-lg-offset-4{margin-left:33.33333333%}
.col-lg-offset-3{margin-left:25%}
.col-lg-offset-2{margin-left:16.66666667%}
.col-lg-offset-1{margin-left:8.33333333%}
.col-lg-offset-0{margin-left:0}
}
table{max-width:100%;background-color:transparent}
th{text-align:left}
.table{width:100%;margin-bottom:20px}
.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}
.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}
.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}
.table>tbody+tbody{border-top:2px solid #ddd}
.table .table{background-color:#fff}
.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}
.table-bordered{border:1px solid #ddd}
.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}
.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}
.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}
.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}
table col[class*=col-]{position:static;float:none;display:table-column}
table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}
.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}
.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}
.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}
.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}
.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}
.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}
.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}
.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}
.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}
.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}
@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;-webkit-overflow-scrolling:touch}
.table-responsive>.table{margin-bottom:0}
.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}
.table-responsive>.table-bordered{border:0}
.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}
.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}
.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}
}
fieldset{padding:0;margin:0;border:0;min-width:0}
legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}
label{display:inline-block;margin-bottom:5px;font-weight:700}
input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}
input[type=file]{display:block}
input[type=range]{display:block;width:100%}
select[multiple],select[size]{height:auto}
input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}
.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}
.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}
.form-control::-moz-placeholder{color:#999;opacity:1}
.form-control:-ms-input-placeholder{color:#999}
.form-control::-webkit-input-placeholder{color:#999}
.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}
textarea.form-control{height:auto}
input[type=search]{-webkit-appearance:none}
input[type=date]{line-height:34px}
.form-group{margin-bottom:15px}
.radio,.checkbox{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px}
.radio label,.checkbox label{display:inline;font-weight:400;cursor:pointer}
.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{float:left;margin-left:-20px}
.radio+.radio,.checkbox+.checkbox{margin-top:-5px}
.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}
.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}
input[type=radio][disabled],input[type=checkbox][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}
.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}
select.input-sm{height:30px;line-height:30px}
textarea.input-sm,select[multiple].input-sm{height:auto}
.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}
select.input-lg{height:46px;line-height:46px}
textarea.input-lg,select[multiple].input-lg{height:auto}
.has-feedback{position:relative}
.has-feedback .form-control{padding-right:42.5px}
.has-feedback .form-control-feedback{position:absolute;top:25px;right:0;display:block;width:34px;height:34px;line-height:34px;text-align:center}
.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}
.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}
.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}
.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}
.has-success .form-control-feedback{color:#3c763d}
.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}
.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}
.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}
.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}
.has-warning .form-control-feedback{color:#8a6d3b}
.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}
.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}
.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}
.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}
.has-error .form-control-feedback{color:#a94442}
.form-control-static{margin-bottom:0}
.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}
@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}
.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}
.form-inline .input-group>.form-control{width:100%}
.form-inline .control-label{margin-bottom:0;vertical-align:middle}
.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}
.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{float:none;margin-left:0}
.form-inline .has-feedback .form-control-feedback{top:0}
}
.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}
.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}
.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}
.form-horizontal .form-control-static{padding-top:7px}
@media (min-width:768px){.form-horizontal .control-label{text-align:right}
}
.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}
.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
.btn:hover,.btn:focus{color:#333;text-decoration:none}
.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}
.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}
.btn-default{color:#333;background-color:#fff;border-color:#ccc}
.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}
.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}
.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}
.btn-default .badge{color:#fff;background-color:#333}
.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}
.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}
.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}
.btn-primary .badge{color:#428bca;background-color:#fff}
.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}
.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}
.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}
.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}
.btn-success .badge{color:#5cb85c;background-color:#fff}
.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}
.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}
.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}
.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}
.btn-info .badge{color:#5bc0de;background-color:#fff}
.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}
.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}
.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}
.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}
.btn-warning .badge{color:#f0ad4e;background-color:#fff}
.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}
.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}
.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}
.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}
.btn-danger .badge{color:#d9534f;background-color:#fff}
.btn-link{color:#428bca;font-weight:400;cursor:pointer;border-radius:0}
.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}
.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}
.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}
.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}
.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}
.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}
.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}
.btn-block{display:block;width:100%;padding-left:0;padding-right:0}
.btn-block+.btn-block{margin-top:5px}
input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}
.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}
.fade.in{opacity:1}
.collapse{display:none}
.collapse.in{display:block}
.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}
@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}
.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.glyphicon-asterisk:before{content:"\2a"}
.glyphicon-plus:before{content:"\2b"}
.glyphicon-euro:before{content:"\20ac"}
.glyphicon-minus:before{content:"\2212"}
.glyphicon-cloud:before{content:"\2601"}
.glyphicon-envelope:before{content:"\2709"}
.glyphicon-pencil:before{content:"\270f"}
.glyphicon-glass:before{content:"\e001"}
.glyphicon-music:before{content:"\e002"}
.glyphicon-search:before{content:"\e003"}
.glyphicon-heart:before{content:"\e005"}
.glyphicon-star:before{content:"\e006"}
.glyphicon-star-empty:before{content:"\e007"}
.glyphicon-user:before{content:"\e008"}
.glyphicon-film:before{content:"\e009"}
.glyphicon-th-large:before{content:"\e010"}
.glyphicon-th:before{content:"\e011"}
.glyphicon-th-list:before{content:"\e012"}
.glyphicon-ok:before{content:"\e013"}
.glyphicon-remove:before{content:"\e014"}
.glyphicon-zoom-in:before{content:"\e015"}
.glyphicon-zoom-out:before{content:"\e016"}
.glyphicon-off:before{content:"\e017"}
.glyphicon-signal:before{content:"\e018"}
.glyphicon-cog:before{content:"\e019"}
.glyphicon-trash:before{content:"\e020"}
.glyphicon-home:before{content:"\e021"}
.glyphicon-file:before{content:"\e022"}
.glyphicon-time:before{content:"\e023"}
.glyphicon-road:before{content:"\e024"}
.glyphicon-download-alt:before{content:"\e025"}
.glyphicon-download:before{content:"\e026"}
.glyphicon-upload:before{content:"\e027"}
.glyphicon-inbox:before{content:"\e028"}
.glyphicon-play-circle:before{content:"\e029"}
.glyphicon-repeat:before{content:"\e030"}
.glyphicon-refresh:before{content:"\e031"}
.glyphicon-list-alt:before{content:"\e032"}
.glyphicon-lock:before{content:"\e033"}
.glyphicon-flag:before{content:"\e034"}
.glyphicon-headphones:before{content:"\e035"}
.glyphicon-volume-off:before{content:"\e036"}
.glyphicon-volume-down:before{content:"\e037"}
.glyphicon-volume-up:before{content:"\e038"}
.glyphicon-qrcode:before{content:"\e039"}
.glyphicon-barcode:before{content:"\e040"}
.glyphicon-tag:before{content:"\e041"}
.glyphicon-tags:before{content:"\e042"}
.glyphicon-book:before{content:"\e043"}
.glyphicon-bookmark:before{content:"\e044"}
.glyphicon-print:before{content:"\e045"}
.glyphicon-camera:before{content:"\e046"}
.glyphicon-font:before{content:"\e047"}
.glyphicon-bold:before{content:"\e048"}
.glyphicon-italic:before{content:"\e049"}
.glyphicon-text-height:before{content:"\e050"}
.glyphicon-text-width:before{content:"\e051"}
.glyphicon-align-left:before{content:"\e052"}
.glyphicon-align-center:before{content:"\e053"}
.glyphicon-align-right:before{content:"\e054"}
.glyphicon-align-justify:before{content:"\e055"}
.glyphicon-list:before{content:"\e056"}
.glyphicon-indent-left:before{content:"\e057"}
.glyphicon-indent-right:before{content:"\e058"}
.glyphicon-facetime-video:before{content:"\e059"}
.glyphicon-picture:before{content:"\e060"}
.glyphicon-map-marker:before{content:"\e062"}
.glyphicon-adjust:before{content:"\e063"}
.glyphicon-tint:before{content:"\e064"}
.glyphicon-edit:before{content:"\e065"}
.glyphicon-share:before{content:"\e066"}
.glyphicon-check:before{content:"\e067"}
.glyphicon-move:before{content:"\e068"}
.glyphicon-step-backward:before{content:"\e069"}
.glyphicon-fast-backward:before{content:"\e070"}
.glyphicon-backward:before{content:"\e071"}
.glyphicon-play:before{content:"\e072"}
.glyphicon-pause:before{content:"\e073"}
.glyphicon-stop:before{content:"\e074"}
.glyphicon-forward:before{content:"\e075"}
.glyphicon-fast-forward:before{content:"\e076"}
.glyphicon-step-forward:before{content:"\e077"}
.glyphicon-eject:before{content:"\e078"}
.glyphicon-chevron-left:before{content:"\e079"}
.glyphicon-chevron-right:before{content:"\e080"}
.glyphicon-plus-sign:before{content:"\e081"}
.glyphicon-minus-sign:before{content:"\e082"}
.glyphicon-remove-sign:before{content:"\e083"}
.glyphicon-ok-sign:before{content:"\e084"}
.glyphicon-question-sign:before{content:"\e085"}
.glyphicon-info-sign:before{content:"\e086"}
.glyphicon-screenshot:before{content:"\e087"}
.glyphicon-remove-circle:before{content:"\e088"}
.glyphicon-ok-circle:before{content:"\e089"}
.glyphicon-ban-circle:before{content:"\e090"}
.glyphicon-arrow-left:before{content:"\e091"}
.glyphicon-arrow-right:before{content:"\e092"}
.glyphicon-arrow-up:before{content:"\e093"}
.glyphicon-arrow-down:before{content:"\e094"}
.glyphicon-share-alt:before{content:"\e095"}
.glyphicon-resize-full:before{content:"\e096"}
.glyphicon-resize-small:before{content:"\e097"}
.glyphicon-exclamation-sign:before{content:"\e101"}
.glyphicon-gift:before{content:"\e102"}
.glyphicon-leaf:before{content:"\e103"}
.glyphicon-fire:before{content:"\e104"}
.glyphicon-eye-open:before{content:"\e105"}
.glyphicon-eye-close:before{content:"\e106"}
.glyphicon-warning-sign:before{content:"\e107"}
.glyphicon-plane:before{content:"\e108"}
.glyphicon-calendar:before{content:"\e109"}
.glyphicon-random:before{content:"\e110"}
.glyphicon-comment:before{content:"\e111"}
.glyphicon-magnet:before{content:"\e112"}
.glyphicon-chevron-up:before{content:"\e113"}
.glyphicon-chevron-down:before{content:"\e114"}
.glyphicon-retweet:before{content:"\e115"}
.glyphicon-shopping-cart:before{content:"\e116"}
.glyphicon-folder-close:before{content:"\e117"}
.glyphicon-folder-open:before{content:"\e118"}
.glyphicon-resize-vertical:before{content:"\e119"}
.glyphicon-resize-horizontal:before{content:"\e120"}
.glyphicon-hdd:before{content:"\e121"}
.glyphicon-bullhorn:before{content:"\e122"}
.glyphicon-bell:before{content:"\e123"}
.glyphicon-certificate:before{content:"\e124"}
.glyphicon-thumbs-up:before{content:"\e125"}
.glyphicon-thumbs-down:before{content:"\e126"}
.glyphicon-hand-right:before{content:"\e127"}
.glyphicon-hand-left:before{content:"\e128"}
.glyphicon-hand-up:before{content:"\e129"}
.glyphicon-hand-down:before{content:"\e130"}
.glyphicon-circle-arrow-right:before{content:"\e131"}
.glyphicon-circle-arrow-left:before{content:"\e132"}
.glyphicon-circle-arrow-up:before{content:"\e133"}
.glyphicon-circle-arrow-down:before{content:"\e134"}
.glyphicon-globe:before{content:"\e135"}
.glyphicon-wrench:before{content:"\e136"}
.glyphicon-tasks:before{content:"\e137"}
.glyphicon-filter:before{content:"\e138"}
.glyphicon-briefcase:before{content:"\e139"}
.glyphicon-fullscreen:before{content:"\e140"}
.glyphicon-dashboard:before{content:"\e141"}
.glyphicon-paperclip:before{content:"\e142"}
.glyphicon-heart-empty:before{content:"\e143"}
.glyphicon-link:before{content:"\e144"}
.glyphicon-phone:before{content:"\e145"}
.glyphicon-pushpin:before{content:"\e146"}
.glyphicon-usd:before{content:"\e148"}
.glyphicon-gbp:before{content:"\e149"}
.glyphicon-sort:before{content:"\e150"}
.glyphicon-sort-by-alphabet:before{content:"\e151"}
.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}
.glyphicon-sort-by-order:before{content:"\e153"}
.glyphicon-sort-by-order-alt:before{content:"\e154"}
.glyphicon-sort-by-attributes:before{content:"\e155"}
.glyphicon-sort-by-attributes-alt:before{content:"\e156"}
.glyphicon-unchecked:before{content:"\e157"}
.glyphicon-expand:before{content:"\e158"}
.glyphicon-collapse-down:before{content:"\e159"}
.glyphicon-collapse-up:before{content:"\e160"}
.glyphicon-log-in:before{content:"\e161"}
.glyphicon-flash:before{content:"\e162"}
.glyphicon-log-out:before{content:"\e163"}
.glyphicon-new-window:before{content:"\e164"}
.glyphicon-record:before{content:"\e165"}
.glyphicon-save:before{content:"\e166"}
.glyphicon-open:before{content:"\e167"}
.glyphicon-saved:before{content:"\e168"}
.glyphicon-import:before{content:"\e169"}
.glyphicon-export:before{content:"\e170"}
.glyphicon-send:before{content:"\e171"}
.glyphicon-floppy-disk:before{content:"\e172"}
.glyphicon-floppy-saved:before{content:"\e173"}
.glyphicon-floppy-remove:before{content:"\e174"}
.glyphicon-floppy-save:before{content:"\e175"}
.glyphicon-floppy-open:before{content:"\e176"}
.glyphicon-credit-card:before{content:"\e177"}
.glyphicon-transfer:before{content:"\e178"}
.glyphicon-cutlery:before{content:"\e179"}
.glyphicon-header:before{content:"\e180"}
.glyphicon-compressed:before{content:"\e181"}
.glyphicon-earphone:before{content:"\e182"}
.glyphicon-phone-alt:before{content:"\e183"}
.glyphicon-tower:before{content:"\e184"}
.glyphicon-stats:before{content:"\e185"}
.glyphicon-sd-video:before{content:"\e186"}
.glyphicon-hd-video:before{content:"\e187"}
.glyphicon-subtitles:before{content:"\e188"}
.glyphicon-sound-stereo:before{content:"\e189"}
.glyphicon-sound-dolby:before{content:"\e190"}
.glyphicon-sound-5-1:before{content:"\e191"}
.glyphicon-sound-6-1:before{content:"\e192"}
.glyphicon-sound-7-1:before{content:"\e193"}
.glyphicon-copyright-mark:before{content:"\e194"}
.glyphicon-registration-mark:before{content:"\e195"}
.glyphicon-cloud-download:before{content:"\e197"}
.glyphicon-cloud-upload:before{content:"\e198"}
.glyphicon-tree-conifer:before{content:"\e199"}
.glyphicon-tree-deciduous:before{content:"\e200"}
.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}
.dropdown{position:relative}
.dropdown-toggle:focus{outline:0}
.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}
.dropdown-menu.pull-right{right:0;left:auto}
.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}
.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}
.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}
.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}
.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}
.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}
.open>.dropdown-menu{display:block}
.open>a{outline:0}
.dropdown-menu-right{left:auto;right:0}
.dropdown-menu-left{left:0;right:auto}
.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#999}
.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}
.pull-right>.dropdown-menu{right:0;left:auto}
.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}
.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}
@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}
.navbar-right .dropdown-menu-left{left:0;right:auto}
}
.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}
.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}
.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}
.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}
.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}
.btn-toolbar{margin-left:-5px}
.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}
.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}
.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}
.btn-group>.btn:first-child{margin-left:0}
.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}
.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}
.btn-group>.btn-group{float:left}
.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}
.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}
.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}
.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}
.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}
.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}
.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}
.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}
.btn .caret{margin-left:0}
.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}
.dropup .btn-lg .caret{border-width:0 5px 5px}
.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}
.btn-group-vertical>.btn-group>.btn{float:none}
.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}
.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}
.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}
.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}
.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}
.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}
.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}
.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}
.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}
.btn-group-justified>.btn-group .btn{width:100%}
[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{display:none}
.input-group{position:relative;display:table;border-collapse:separate}
.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}
.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}
.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}
select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}
textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}
.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}
select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}
textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}
.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}
.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}
.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}
.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}
.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}
.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}
.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}
.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}
.input-group-addon:first-child{border-right:0}
.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}
.input-group-addon:last-child{border-left:0}
.input-group-btn{position:relative;font-size:0;white-space:nowrap}
.input-group-btn>.btn{position:relative}
.input-group-btn>.btn+.btn{margin-left:-1px}
.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}
.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}
.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}
.nav{margin-bottom:0;padding-left:0;list-style:none}
.nav>li{position:relative;display:block}
.nav>li>a{position:relative;display:block;padding:10px 15px}
.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}
.nav>li.disabled>a{color:#999}
.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;background-color:transparent;cursor:not-allowed}
.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}
.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}
.nav>li>a>img{max-width:none}
.nav-tabs{border-bottom:1px solid #ddd}
.nav-tabs>li{float:left;margin-bottom:-1px}
.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}
.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}
.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}
.nav-tabs.nav-justified{width:100%;border-bottom:0}
.nav-tabs.nav-justified>li{float:none}
.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}
.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}
@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}
.nav-tabs.nav-justified>li>a{margin-bottom:0}
}
.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}
.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}
@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}
.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}
}
.nav-pills>li{float:left}
.nav-pills>li>a{border-radius:4px}
.nav-pills>li+li{margin-left:2px}
.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}
.nav-stacked>li{float:none}
.nav-stacked>li+li{margin-top:2px;margin-left:0}
.nav-justified{width:100%}
.nav-justified>li{float:none}
.nav-justified>li>a{text-align:center;margin-bottom:5px}
.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}
@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}
.nav-justified>li>a{margin-bottom:0}
}
.nav-tabs-justified{border-bottom:0}
.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}
.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}
@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}
.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}
}
.tab-content>.tab-pane{display:none}
.tab-content>.active{display:block}
.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}
.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}
@media (min-width:768px){.navbar{border-radius:4px}
}
@media (min-width:768px){.navbar-header{float:left}
}
.navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}
.navbar-collapse.in{overflow-y:auto}
@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}
.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}
.navbar-collapse.in{overflow-y:visible}
.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}
}
.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}
@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}
}
.navbar-static-top{z-index:1000;border-width:0 0 1px}
@media (min-width:768px){.navbar-static-top{border-radius:0}
}
.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}
@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}
}
.navbar-fixed-top{top:0;border-width:0 0 1px}
.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}
.navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px;height:50px}
.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}
@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}
}
.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}
.navbar-toggle:focus{outline:0}
.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}
.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}
@media (min-width:768px){.navbar-toggle{display:none}
}
.navbar-nav{margin:7.5px -15px}
.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}
@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}
.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}
.navbar-nav .open .dropdown-menu>li>a{line-height:20px}
.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}
}
@media (min-width:768px){.navbar-nav{float:left;margin:0}
.navbar-nav>li{float:left}
.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}
.navbar-nav.navbar-right:last-child{margin-right:-15px}
}
@media (min-width:768px){.navbar-left{float:left!important}
.navbar-right{float:right!important}
}
.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}
@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}
.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}
.navbar-form .input-group>.form-control{width:100%}
.navbar-form .control-label{margin-bottom:0;vertical-align:middle}
.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}
.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{float:none;margin-left:0}
.navbar-form .has-feedback .form-control-feedback{top:0}
}
@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}
}
@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}
.navbar-form.navbar-right:last-child{margin-right:-15px}
}
.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}
.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}
.navbar-btn{margin-top:8px;margin-bottom:8px}
.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}
.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}
.navbar-text{margin-top:15px;margin-bottom:15px}
@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}
.navbar-text.navbar-right:last-child{margin-right:0}
}
.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}
.navbar-default .navbar-brand{color:#777}
.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}
.navbar-default .navbar-text{color:#777}
.navbar-default .navbar-nav>li>a{color:#777}
.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}
.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}
.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}
.navbar-default .navbar-toggle{border-color:#ddd}
.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}
.navbar-default .navbar-toggle .icon-bar{background-color:#888}
.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}
.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}
@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}
.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}
.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}
.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}
}
.navbar-default .navbar-link{color:#777}
.navbar-default .navbar-link:hover{color:#333}
.navbar-inverse{background-color:#222;border-color:#080808}
.navbar-inverse .navbar-brand{color:#999}
.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}
.navbar-inverse .navbar-text{color:#999}
.navbar-inverse .navbar-nav>li>a{color:#999}
.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}
.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}
.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}
.navbar-inverse .navbar-toggle{border-color:#333}
.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}
.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}
.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}
.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}
@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}
.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}
.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}
.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}
.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}
.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}
}
.navbar-inverse .navbar-link{color:#999}
.navbar-inverse .navbar-link:hover{color:#fff}
.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}
.breadcrumb>li{display:inline-block}
.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}
.breadcrumb>.active{color:#999}
.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}
.pagination>li{display:inline}
.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#428bca;background-color:#fff;border:1px solid #ddd;margin-left:-1px}
.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}
.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}
.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}
.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}
.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;background-color:#fff;border-color:#ddd;cursor:not-allowed}
.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}
.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}
.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}
.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}
.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}
.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}
.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}
.pager li{display:inline}
.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}
.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}
.pager .next>a,.pager .next>span{float:right}
.pager .previous>a,.pager .previous>span{float:left}
.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;background-color:#fff;cursor:not-allowed}
.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}
.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}
.label:empty{display:none}
.btn .label{position:relative;top:-1px}
.label-default{background-color:#999}
.label-default[href]:hover,.label-default[href]:focus{background-color:gray}
.label-primary{background-color:#428bca}
.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}
.label-success{background-color:#5cb85c}
.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}
.label-info{background-color:#5bc0de}
.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}
.label-warning{background-color:#f0ad4e}
.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}
.label-danger{background-color:#d9534f}
.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}
.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#999;border-radius:10px}
.badge:empty{display:none}
.btn .badge{position:relative;top:-1px}
.btn-xs .badge{top:0;padding:1px 5px}
a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}
a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}
.nav-pills>li>a>.badge{margin-left:3px}
.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}
.jumbotron h1,.jumbotron .h1{color:inherit}
.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}
.container .jumbotron{border-radius:6px}
.jumbotron .container{max-width:100%}
@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}
.container .jumbotron{padding-left:60px;padding-right:60px}
.jumbotron h1,.jumbotron .h1{font-size:63px}
}
.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}
.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}
a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}
.thumbnail .caption{padding:9px;color:#333}
.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}
.alert h4{margin-top:0;color:inherit}
.alert .alert-link{font-weight:700}
.alert>p,.alert>ul{margin-bottom:0}
.alert>p+p{margin-top:5px}
.alert-dismissable{padding-right:35px}
.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}
.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}
.alert-success hr{border-top-color:#c9e2b3}
.alert-success .alert-link{color:#2b542c}
.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}
.alert-info hr{border-top-color:#a6e1ec}
.alert-info .alert-link{color:#245269}
.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}
.alert-warning hr{border-top-color:#f7e1b5}
.alert-warning .alert-link{color:#66512c}
.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}
.alert-danger hr{border-top-color:#e4b9c0}
.alert-danger .alert-link{color:#843534}
@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}
to{background-position:0 0}
}
@keyframes progress-bar-stripes{from{background-position:40px 0}
to{background-position:0 0}
}
.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}
.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}
.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}
.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}
.progress-bar-success{background-color:#5cb85c}
.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}
.progress-bar-info{background-color:#5bc0de}
.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}
.progress-bar-warning{background-color:#f0ad4e}
.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}
.progress-bar-danger{background-color:#d9534f}
.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}
.media,.media-body{overflow:hidden;zoom:1}
.media,.media .media{margin-top:15px}
.media:first-child{margin-top:0}
.media-object{display:block}
.media-heading{margin:0 0 5px}
.media>.pull-left{margin-right:10px}
.media>.pull-right{margin-left:10px}
.media-list{padding-left:0;list-style:none}
.list-group{margin-bottom:20px;padding-left:0}
.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}
.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}
.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}
.list-group-item>.badge{float:right}
.list-group-item>.badge+.badge{margin-right:5px}
a.list-group-item{color:#555}
a.list-group-item .list-group-item-heading{color:#333}
a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}
a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}
a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}
a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7}
.list-group-item-success{color:#3c763d;background-color:#dff0d8}
a.list-group-item-success{color:#3c763d}
a.list-group-item-success .list-group-item-heading{color:inherit}
a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}
a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}
.list-group-item-info{color:#31708f;background-color:#d9edf7}
a.list-group-item-info{color:#31708f}
a.list-group-item-info .list-group-item-heading{color:inherit}
a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}
a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}
.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}
a.list-group-item-warning{color:#8a6d3b}
a.list-group-item-warning .list-group-item-heading{color:inherit}
a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}
a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}
.list-group-item-danger{color:#a94442;background-color:#f2dede}
a.list-group-item-danger{color:#a94442}
a.list-group-item-danger .list-group-item-heading{color:inherit}
a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}
a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}
.list-group-item-heading{margin-top:0;margin-bottom:5px}
.list-group-item-text{margin-bottom:0;line-height:1.3}
.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}
.panel-body{padding:15px}
.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}
.panel-heading>.dropdown .dropdown-toggle{color:inherit}
.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}
.panel-title>a{color:inherit}
.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}
.panel>.list-group{margin-bottom:0}
.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}
.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}
.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}
.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}
.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}
.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}
.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}
.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}
.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}
.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}
.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}
.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}
.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}
.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}
.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}
.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}
.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}
.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}
.panel>.table-responsive{border:0;margin-bottom:0}
.panel-group{margin-bottom:20px}
.panel-group .panel{margin-bottom:0;border-radius:4px;overflow:hidden}
.panel-group .panel+.panel{margin-top:5px}
.panel-group .panel-heading{border-bottom:0}
.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}
.panel-group .panel-footer{border-top:0}
.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}
.panel-default{border-color:#ddd}
.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}
.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}
.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}
.panel-primary{border-color:#428bca}
.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}
.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}
.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}
.panel-success{border-color:#d6e9c6}
.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}
.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}
.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}
.panel-info{border-color:#bce8f1}
.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}
.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}
.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}
.panel-warning{border-color:#faebcc}
.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}
.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}
.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}
.panel-danger{border-color:#ebccd1}
.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}
.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}
.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}
.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}
.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}
.well-lg{padding:24px;border-radius:6px}
.well-sm{padding:9px;border-radius:3px}
.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}
.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}
button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}
.modal-open{overflow:hidden}
.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}
.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}
.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}
.modal-dialog{position:relative;width:auto;margin:10px}
.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}
.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}
.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}
.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}
.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}
.modal-header .close{margin-top:-2px}
.modal-title{margin:0;line-height:1.42857143}
.modal-body{position:relative;padding:20px}
.modal-footer{margin-top:15px;padding:19px 20px 20px;text-align:right;border-top:1px solid #e5e5e5}
.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}
.modal-footer .btn-group .btn+.btn{margin-left:-1px}
.modal-footer .btn-block+.btn-block{margin-left:0}
@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}
.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}
.modal-sm{width:300px}
}
@media (min-width:992px){.modal-lg{width:900px}
}
.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}
.tooltip.in{opacity:.9;filter:alpha(opacity=90)}
.tooltip.top{margin-top:-3px;padding:5px 0}
.tooltip.right{margin-left:3px;padding:0 5px}
.tooltip.bottom{margin-top:3px;padding:5px 0}
.tooltip.left{margin-left:-3px;padding:0 5px}
.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}
.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}
.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}
.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}
.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}
.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}
.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}
.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}
.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}
.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}
.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);white-space:normal}
.popover.top{margin-top:-10px}
.popover.right{margin-left:10px}
.popover.bottom{margin-top:10px}
.popover.left{margin-left:-10px}
.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}
.popover-content{padding:9px 14px}
.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}
.popover>.arrow{border-width:11px}
.popover>.arrow:after{border-width:10px;content:""}
.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}
.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}
.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}
.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}
.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}
.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}
.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}
.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}
.carousel{position:relative}
.carousel-inner{position:relative;overflow:hidden;width:100%}
.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}
.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}
.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}
.carousel-inner>.active{left:0}
.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}
.carousel-inner>.next{left:100%}
.carousel-inner>.prev{left:-100%}
.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}
.carousel-inner>.active.left{left:-100%}
.carousel-inner>.active.right{left:100%}
.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}
.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}
.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}
.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}
.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%}
.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%}
.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}
.carousel-control .icon-prev:before{content:'\2039'}
.carousel-control .icon-next:before{content:'\203a'}
.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}
.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}
.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}
.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.carousel-caption .btn{text-shadow:none}
@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}
.carousel-caption{left:20%;right:20%;padding-bottom:30px}
.carousel-indicators{bottom:20px}
}
.clearfix:before,.clearfix:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}
.clearfix:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}
.center-block{display:block;margin-left:auto;margin-right:auto}
.pull-right{float:right!important}
.pull-left{float:left!important}

.show{display:block!important}
.invisible{visibility:hidden}
.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}
.hidden{display:none!important;visibility:hidden!important}
.affix{position:fixed}
@-ms-viewport{width:device-width}
.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}
@media (max-width:767px){.visible-xs{display:block!important}
table.visible-xs{display:table}
tr.visible-xs{display:table-row!important}
th.visible-xs,td.visible-xs{display:table-cell!important}
}
@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}
table.visible-sm{display:table}
tr.visible-sm{display:table-row!important}
th.visible-sm,td.visible-sm{display:table-cell!important}
}
@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}
table.visible-md{display:table}
tr.visible-md{display:table-row!important}
th.visible-md,td.visible-md{display:table-cell!important}
}
@media (min-width:1200px){.visible-lg{display:block!important}
table.visible-lg{display:table}
tr.visible-lg{display:table-row!important}
th.visible-lg,td.visible-lg{display:table-cell!important}
}
@media (max-width:767px){.hidden-xs{display:none!important}
}
@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}
}
@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}
}
@media (min-width:1200px){.hidden-lg{display:none!important}
}
.visible-print{display:none!important}
@media print{.visible-print{display:block!important}
table.visible-print{display:table}
tr.visible-print{display:table-row!important}
th.visible-print,td.visible-print{display:table-cell!important}
}
@media print{.hidden-print{display:none!important}
}
@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: 'codropsicons';
	src:url('../fonts/codropsicons/codropsicons.eot');
	src:url('../fonts/codropsicons/codropsicons.eot?#iefix') format('embedded-opentype'),
		url('../fonts/codropsicons/codropsicons.woff') format('woff'),
		url('../fonts/codropsicons/codropsicons.ttf') format('truetype'),
		url('../fonts/codropsicons/codropsicons.svg#codropsicons') format('svg');
}

@font-face {
	font-family: 'linecons';
	src:url('../fonts/linecons/linecons.eot?-kux0c3');
	src:url('../fonts/linecons/linecons.eot?#iefix-kux0c3') format('embedded-opentype'),
		url('../fonts/linecons/linecons.woff?-kux0c3') format('woff'),
		url('../fonts/linecons/linecons.ttf?-kux0c3') format('truetype'),
		url('../fonts/linecons/linecons.svg?-kux0c3#linecons') format('svg');
	font-weight: normal;
	font-style: normal;
}

.icon:before {
	font-family: 'linecons';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	font-size: 2em;
	display: inline-block;
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-search:before {
	content: "\e600";
}
.icon-settings:before {
	content: "\e601";
}
.icon-southAmerica:before {
	content: "\e602";
}
.icon-asia:before {
	content: "\e603";
}
.icon-oceania:before {
	content: "\e604";
}
.icon-china:before {
	content: "\e605";
}
.icon-india:before {
	content: "\e606";
}
.icon-world1:before {
	content: "\e607";
}
*, *:after, *:before { -webkit-box-sizing: border-box; box-sizing: border-box; }
.clearfix:before, .clearfix:after { content: ''; display: table; }
.clearfix:after { clear: both; }

html, body {
	height: 100%;
}

body {
	background: #27ae60;
	color: #f5f3ec;
	font-weight: 400;
	font-size: 1em;
	line-height: 1.25;
	position: relative; z-index: 1;
	font-family: 'Raleway', Calibri, Arial, sans-serif;
}

a, button {
	outline: none;
}

a {
	color: rgba(0,0,0,0.5);
	text-decoration: none;
}

a:hover, a:focus {
	color: #fff;
}

.container {
	min-height: 100%;
}

.color-2 { background: #729DBF; }
.color-3 { background: #72BF7B; }
.color-4 { background: #484860; }
.color-5 { background: #7772BF; }
.color-6 { background: #B3BF72; }
.color-7 { background: #72BFB9; }
.color-8 { background: #BFA372; }
.color-9 { background: #6cc1ed; }
.color-9 { color: rgba(0,0,0,0.6); }
.color-10 { background: #00cfbe; }
.color-11 { background: #00a2d3;}

section {
	padding: 1em;
	text-align: center;
}

/* Header */
.codrops-header {
	margin: 0 auto;
	padding: 0 2em 0em;
	text-align: center;
}

.codrops-header h1 {
	margin: 0;
	font-size: 3.5em;
	line-height: 1.3;
}

.codrops-header h1 span {
	display: block;
	padding: 0.4em 0 0.6em 0.1em;
	font-size: 46%;
	font-weight: 300;
	opacity: 0.7;
}

/* To Navigation Style */
.codrops-top {
	width: 100%;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 0.69em;
	text-align: center;
	padding: 2em 0;
}

.codrops-top a {
	display: inline-block;
	padding: 1.5em;
	text-decoration: none;
	letter-spacing: 1px;
}

.codrops-icon:before {
	margin: 0 4px;
	text-transform: none;
	font-weight: normal;
	font-style: normal;
	font-variant: normal;
	font-family: 'codropsicons';
	line-height: 1;
	speak: none;
	-webkit-font-smoothing: antialiased;
}

.codrops-icon-drop:before {
	content: "\e001";
}

.codrops-icon-prev:before {
	content: "\e004";
}

/* Demo Buttons Style */
.codrops-demos {
	padding-top: 1em;
	font-size: 0.8em;
}

.codrops-demos div {
	margin-left: 90px;
	padding-bottom: 1em;
}

.codrops-demos a {
	display: inline-block;
	margin: 0.35em 0.1em;
	padding: 0.35em 0.9em 0.35em;
	outline: none;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
	background: rgba(255,255,255,0.3);
	color: #fff;
	border-radius: 2px;
	font-size: 110%;
}

.codrops-demos a:hover,
.codrops-demos a.current-demo {
	background: rgba(0,0,0,0.2);
}

.codrops-demos h3 {
	margin: 0;
	padding: 1em 0 0.5em 0;
	font-size: 0.9em;
	float: left;
	min-width: 90px;
	clear: left;
}

.codrops-demos div:not(:first-child) h3 {
	padding-top: 2em;
}

.codrops-demos a:hover,
.codrops-demos a.current-demo {
	color: inherit;
	border-color: initial;
}

/* Main content */
.main {
	max-width: 69em;
	margin: 0 auto;
	padding: 3% 0 10%;
}

.column {
	float: left;
	width: 50%;
	padding: 0 2.5em;
	min-height: 200px;
	position: relative;
}

.column:first-child {
	box-shadow: inset -1px 0 0 rgba(0,0,0,0.1);
	text-align: right;
}

.column p {
	font-weight: 300;
	font-size: 1.8em;
	padding: 0 0 0.5em;
	margin: 0;
	line-height: 1.5;
}

.column p.small {
	font-size: 1em;
	padding: 0.75em 0 1em;
	font-weight: 700;
	line-height: 1.2;
}

.progress-button {
	position: relative;
	display: inline-block;
	padding: 0 3em;
	outline: none;
	border: none;
	color: #fff;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 1px;
	font-size: 1em;
	z-index: 50;
	line-height: 4;
	overflow: hidden;
	border-radius: 5px;
	background: rgba(0,0,0,0.2);
}

.progress-button .content {
	position: relative;
	display: block;
	z-index: 10;
	-webkit-transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
}

.progress-button .progress {
	position: absolute;
	left: 0;
	background: rgba(0,0,0,0.2);
	top: 0;
	width: 0%;
	opacity: 0;
	height: 100%;
	z-index: 0;
	-webkit-transition: width 0s 0.3s, opacity 0.3s;
	transition: width 0s 0.3s, opacity 0.3s;
}

.progress-button.active .progress {
	opacity: 1;
	width: 100%;
	-webkit-transition: width 1.2s;
	transition: width 1.2s;
}

/* Related demos */
.related {
	clear: both;
	padding: 5em 0 8em;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.related p {
	font-size: 1.5em;
	font-weight: 700;
}

.related > a {
	border: 2px solid black;
	border-color: initial;
	display: inline-block;
	text-align: center;
	margin: 20px 10px;
	padding: 25px;
	border-radius: 5px;
}

.related a img {
	max-width: 100%;
	opacity: 0.8;
}

.related a:hover img,
.related a:active img {
	opacity: 1;
}

.related a h3 {
	margin: 0;
	padding: 0.5em 0 0.3em;
	max-width: 300px;
	text-align: left;
}

@media screen and (max-width: 46.5em) {
	.column {
		width: 100%;
		min-width: auto;
		min-height: auto;
		padding: 2em; 
		font-size: 90%;
	}

	.column:first-child {
		text-align: center;
		box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
	}
}

@media screen and (max-width: 25em) {

	.codrops-header h1 {
		font-size: 2.5em;
	}

	.codrops-top a {
		font-size: 1.6em;
		border: 2px solid black;
		border-color: initial;
		padding: 0.5em;
		border-radius: 3px;
	}

	.codrops-icon span {
		display: none;
	}

}
.footer-base .logo-footer {
    background: url(../img/logo-footer.png) no-repeat;
    width: 156px;
    height: 53px;
    margin: -20px auto;
    transition: .5s;
    -o-transition: .5s;
    -moz-transition: .5s;
    -webkit-transition: .5s;
}

.designlicks2 a{
width:100px;
height:58px;
text-indent:-9000px;
display:block;
background: url(../img/designlickC.png) no-repeat;
}

.designlicks a{
width:100px;
height:58px;
text-indent:-9000px;
display:block;
background: url(../img/designlickA.png) no-repeat;
}

.designlicks3 a{
width:100px;
height:58px;
text-indent:-9000px;
display:block;
background: url(../img/designlickD.png) no-repeat;
}

.footer-base .logo-footer {
    background: url(../img/logofooter.png) no-repeat;
    width: 156px;
    height: 53px;
    margin: -20px auto;
    transition: .5s;
    -o-transition: .5s;
    -moz-transition: .5s;
    -webkit-transition: .5s;
}
<svg xmlns="http://www.w3.org/2000/svg">
 <filter id="grayscale">
  <feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"/>
 </filter>
</svg>

.footer-base .logo-footer {
    background: url(../img/logo-footer.png) no-repeat;
    width: 156px;
    height: 53px;
    margin: -20px auto;
    transition: .5s;
    -o-transition: .5s;
    -moz-transition: .5s;
    -webkit-transition: .5s;
}

.designlicks2 a{
width:100px;
height:58px;
text-indent:-9000px;
display:block;
background: url(../img/designlickCF.png) no-repeat;
}

.designlicks a{
width:100px;
height:58px;
text-indent:-9000px;
display:block;
background: url(../img/designlickAF.png) no-repeat;
}

.designlicks3 a{
width:100px;
height:58px;
text-indent:-9000px;
display:block;
background: url(../img/designlickDF.png) no-repeat;
}


.footer-base .logo-footer {
    background: url(../img/logo-footer.png) no-repeat;
    width: 156px;
    height: 53px;
    margin: -20px auto;
    transition: .5s;
    -o-transition: .5s;
    -moz-transition: .5s;
    -webkit-transition: .5s;
}
.jvectormap-label {
    position: absolute;
    display: none;
    border: solid 1px #CDCDCD;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background: #292929;
    color: white;
    font-family: sans-serif, Verdana;
    font-size: smaller;
    padding: 3px;
}

.jvectormap-zoomin, .jvectormap-zoomout {
    position: absolute;
    left: 10px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background: #292929;
    padding: 3px;
    color: white;
    width: 10px;
    height: 10px;
    cursor: pointer;
    line-height: 10px;
    text-align: center;
}

.jvectormap-zoomin {
    top: 10px;
}

.jvectormap-zoomout {
    top: 30px;
}
ï»¿@import url(http://fonts.googleapis.com/css?family=Dosis);


.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.clearfix{zoom:1}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}
@keyframes controller-text {}@-moz-keyframes controller-text {}@-webkit-keyframes controller-text{0%{opacity:0}3%{opacity:1}17%{opacity:1}20%{opacity:0}100%{opacity:0}}@-ms-keyframes controller-text {}@-o-keyframes controller-text {}@keyframes pulse{0%{-webkit-transform:scale(0.1);-moz-transform:scale(0.1);-ms-transform:scale(0.1);-o-transform:scale(0.1);transform:scale(0.1);opacity:1}30%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-moz-keyframes pulse{0%{-webkit-transform:scale(0.1);-moz-transform:scale(0.1);-ms-transform:scale(0.1);-o-transform:scale(0.1);transform:scale(0.1);opacity:1}30%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(0.1);-moz-transform:scale(0.1);-ms-transform:scale(0.1);-o-transform:scale(0.1);transform:scale(0.1);opacity:1}30%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-ms-keyframes pulse{0%{-webkit-transform:scale(0.1);-moz-transform:scale(0.1);-ms-transform:scale(0.1);-o-transform:scale(0.1);transform:scale(0.1);opacity:1}30%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-o-keyframes pulse{0%{-webkit-transform:scale(0.1);-moz-transform:scale(0.1);-ms-transform:scale(0.1);-o-transform:scale(0.1);transform:scale(0.1);opacity:1}30%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@keyframes controller-pulse{0%{-webkit-transform:scale(0.35);-moz-transform:scale(0.35);-ms-transform:scale(0.35);-o-transform:scale(0.35);transform:scale(0.35);opacity:0}30%{opacity:.4}80%{opacity:.4}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-moz-keyframes controller-pulse{0%{-webkit-transform:scale(0.35);-moz-transform:scale(0.35);-ms-transform:scale(0.35);-o-transform:scale(0.35);transform:scale(0.35);opacity:0}30%{opacity:.4}80%{opacity:.4}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-webkit-keyframes controller-pulse{0%{-webkit-transform:scale(0.35);-moz-transform:scale(0.35);-ms-transform:scale(0.35);-o-transform:scale(0.35);transform:scale(0.35);opacity:0}30%{opacity:.4}80%{opacity:.4}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-ms-keyframes controller-pulse{0%{-webkit-transform:scale(0.35);-moz-transform:scale(0.35);-ms-transform:scale(0.35);-o-transform:scale(0.35);transform:scale(0.35);opacity:0}30%{opacity:.4}80%{opacity:.4}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@-o-keyframes controller-pulse{0%{-webkit-transform:scale(0.35);-moz-transform:scale(0.35);-ms-transform:scale(0.35);-o-transform:scale(0.35);transform:scale(0.35);opacity:0}30%{opacity:.4}80%{opacity:.4}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}}@keyframes play-pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1}60%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2);opacity:0}}@-moz-keyframes play-pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1}60%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2);opacity:0}}@-webkit-keyframes play-pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1}60%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2);opacity:0}}@-ms-keyframes play-pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1}60%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2);opacity:0}}@-o-keyframes play-pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1}60%{opacity:1}80%{opacity:0}100%{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2);opacity:0}}*,*:after,*:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{font-family:'gotham-light', sans-serif}body a{text-decoration:none;-webkit-transition:0.1s;-moz-transition:0.1s;-o-transition:0.1s;transition:0.1s}body a:hover{-webkit-transition:0.1s;-moz-transition:0.1s;-o-transition:0.1s;transition:0.1s}body a:active{-webkit-transform:translateY(1px);-moz-transform:translateY(1px);-ms-transform:translateY(1px);-o-transform:translateY(1px);transform:translateY(1px);-webkit-transition:0.1s;-moz-transition:0.1s;-o-transition:0.1s;transition:0.1s}body b{font-family:'gotham-book', 'gotham-light', sans-serif}body{-webkit-animation:bugfix infinite 1s}@-webkit-keyframes bugfix{0%{padding:0}100%{padding:0}}button,input,select{outline:0}.none{display:none}

@font-face {
    font-family: 'Angelina';
    src: url('../fonts/Angelina.eot?') format('eot'), 
         url('../fonts/Angelina.woff') format('woff'), 
         url('../fonts/Angelina.ttf')  format('truetype'),
         url('../fonts/Angelina.svg#Angelina') format('svg');
}

body, html {
    height: 100%;
}

body {
    font-family: 'Asap', sans-serif;
    width: 100%;
    background:#1c1c1d;
}

.fbCenter{
   width: 600px;
   margin: auto;
}
.AddCenter{
    margin: auto;
    color: black;
    font-size: 30px;
    text-align: center;
    
}

.centreImgTime{
margin: auto;
position: absolute;
top:0;
bottom:0;
left:0;
right: 0;
}

.espace{
    margin-bottom: 15px;
}
.discover:hover{
   text-decoration: underline; 
}

.article-name:hover{
    color: #ff0000;
    text-decoration: underline;
}
#header{
 height: 200px;
}

#global
{
    width: 1000px;
    height: auto;
    border: solid yellow 5px;
}
 
#carte{
    margin-left: 200px;
    width: 500px;
    float: left;
    border: solid black 2px;
}
 
 #c1{
    height: 400px;
    border: solid green 1px;
 }
 
 #c2{
    height: 400px;
    border: solid red 1px;
 }
 
 #c3{
    height: 400px;
    border: solid green 1px;
 }
 
 #c4{
    height: 400px;
    border: solid blue 1px;
 }

 #texte{
    height: 2000px;
    width: 500px;
    margin-left: 300px;
    border: solid black 1px;
}
 
.centre{
    height: 100px;
    width: 100px;
    margin-left: 100px;
    margin-top: 500px;
}

.clear {    clear: both;}

.hide { display: block; }
* { margin:0; padding:0; }
body { background-color: #389bd3 !important; height:100%; }
body.noscroll{position:fixed}
img { border:none; }

.car{
    text-align: center;
    padding-top: 100px;
    color: red;
    font-size: 30px;

}

.backtop {
    position: fixed;
    bottom: 0;
    right: 20px;
    z-index: 999999;
}
#gros{
    font-size: 380px; 
}

.paddingZero{
padding-top: 0px;
}

.vide{
    margin-bottom: 30px;
    margin-top: 30px;
}
.pcontact{
    font-size: 25px;
    font-style: italic;
}
.contacta{
    font-size: 30px;
    color: white;
    margin-right: 30px;
}
.article-name{
    font-size: 16px;
}
.fancybox-iframe{
    width: 100%;
    height: 100%;
}

.contacta:visited{
    color: white;
}

.photo-link     { padding:5px; margin:5px; border:1px solid #ccc; display:block; width:200px; float:left; }
.photo-link:hover   { border-color:#999; }


.text-align{
    text-align: center;
}

/*======================= Awards + Ulule ======================*/

.paypal {
    position: absolute;
    z-index: 100;
    margin-top: -40px;
    margin-left: -150px
}

.designlicks{
position:fixed;
top:100px;
left:0px;
z-index:999;
}

.designlicks2{
position:fixed;
top:180px;
left:0px;
z-index:999;
}

.designlicks3{
position:fixed;
top:260px;
left:0px;
z-index:999;
}

/*======================= MENU + Ellipse ======================*/

.bar-nav {
    max-width: 905px;
    margin: 0 auto;
}

.fixed-top .ellipse {
    float: right;
    font-family: 'dosis', arial, sans-serif;
    color: white;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    background: url(../img/ellipse.png) no-repeat 0 -50px ;
    height: 96px;
    width: 146px;
    padding-top: 26px;
    text-align: center;
}

.bar-nav .logo {
    padding: 20px 0 0;
    margin: 0 auto;
    display: block;
    width: 173px;
    position: absolute;
    left: 50%;
    margin-left: -77px;
}

.fixed-top {
    width: 100%;
    position: fixed;
    z-index:200;
    height: 0px;
}

.fixed-top #left-border{
    width:980px;
    margin:auto;
    padding-right:20px;
}

/*======================= HEADER ======================*/

header {
    height: 70px;
    background: white;
    width: 100%;
}

header .menu {
    width: 100%;
    margin: 0px auto;
    text-align: center;
    padding-left: 50px;
    padding-top: 20px;
}

header ul {
    margin-top: 0px;
    text-align: center;
    display: inline-block;
    padding-left: 0px;
}

header ul li{
    display: inline-block;
    text-decoration: none;
    margin: 0 10px;
    text-align: center;
}

header ul li a, header ul li a:visited {
    font-family: 'dosis', arial, sans-serif;
    text-transform: uppercase;
    display: inline-block;
    color: #404040;
    font-weight: bold;
    text-align: center;
    transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    -webkit-transition: .3s;
}

header ul li a:hover {
    color: #2993d9;
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0px;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 160px;
    padding: 5px 0px;
    margin: 2px 0px 0px;
    list-style: none outside none;
    font-size: 14px;
    background-color: #FFF;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.176);
    background-clip: padding-box;
}

.dropdown-menu >li>a{
    
    padding: 3px 30px;
    
    }
    
.dropdown-header{
display:block;padding:3px 10px;font-size:14px;line-height:0.5;color:#555; background-color: #BBC;
}


.dropdown-menu>.dropdown-header{border-color:#555555}
/*de ul a ulul*/

header ul ul {
    margin-top: 20px;
    text-align: center;
    display: inline-block;
    padding-left: 0px;
}


header ul ul li{
    display: inline-block;
    text-decoration: none;
    margin: 0 10px;
    text-align: center;

}

header ul ul li a, header ul ul li a:visited {
    font-size: 16px;
     font-family: 'dosis', arial, sans-serif;
    text-transform: uppercase;
    display: inline-block;
    color: #404040;
    font-weight: bold;
    text-align: center;
    transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    -webkit-transition: .3s;

}

header ul ul li a:hover {
    color: #2993d9;
       font-size: 14px;
}


/* ulul fini*/

header .ellipse {
    font-family: 'dosis', arial, sans-serif;
    color: white;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    background: url(../img/ellipse.png) no-repeat 0 -35px ;
    padding-top: 29px;
    height: 70px;
    width: 146px;
    text-align: center;
}

header .ellipse:hover {
    color: white;
}



/*======================= FOOTER ======================*/

footer {
    z-index: 10000;
    position: fixed;
    bottom: 0px;
    left: 0;
    width: 100%;
    margin: 0 auto;
    font-size: 20px;
    color: white;
    cursor: pointer;
}

.footer-base {
    text-align: center;
    background: #1e1e1e;
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 34px;
    line-height: 0;
}

#footer_drop {
    border-top: solid 3px #3794ce;
    z-index: 10000;
    width:100%;
    background: #474747 url(../img/bg-footer.jpg) no-repeat;
    -webkit-background-size: cover; /* pour Chrome et Safari */
    -moz-background-size: cover; /* pour Firefox */
    -o-background-size: cover; /* pour Opera */
    background-size: cover; /* version standardisee */
    font-family: 'dosis', arial, sans-serif;
    color: white;
    font-size: 16px;
    /*padding: 6px 0 25px;*/
    cursor: auto;
}

div.tagcloud p{
    text-align: center;
}

.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:0px !important;padding-right:0px !important}

div.flag-carroussel{
    margin-top: 10px;
    display: block;
    height: 100px;
    vertical-align: middle;
}

.triple a img{
    height:50px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.triple .a .col-lg-4 {
  text-align: center;
}

.triplet{
   margin-top: 20px; 
}

.col-lg-4 {
  text-align: center;
}

.r img{
display: block;
    margin-left: auto;
    margin-right: auto;
}

#footer_drop .contact a{
    color: white;
    line-height: 50px;
}

fieldset{
border: 0px solid #C0C0C0 !important;
}

#footer_drop #footer_content {
    /*width: 980px;*/
    margin: 0 auto;
    display: none;
}

#footer_drop .contact, .follow, .condition {
    float: left;
    width: 30%;
    font-size: 19px;
}

.follow {
    padding: 0px 5px;
    margin: 20px auto 0;
    font-size: 20px;
    color: #cdcdcd;
    display: block;
    width: 40%;
}

.follow a {
    float: left;
    padding-bottom:20px;
    margin-top: 18px;
    margin-left: 5px;
}

.follow .like-button{
   margin-top: 19px;
    margin-left: 10px;
}

.condition {
    padding-top: 0px;
    float: right;
    width: 220px;
}

.condition a{
    font-family: 'dosis', arial, sans-serif;
    color: white;
    font-size: 20px;
    padding-right: 25px;
    float: left;
    transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    -webkit-transition: .3s;
    line-height: 50px;
}

.condition a img{
     max-width:120%;
}

@-moz-document url-prefix() {
   .condition a img{
     max-width:50%;
}
}

.condition a:hover {
    color: #2993d9;
}

.dot {
    float: left;
    height: 52px;
    width: 40px;
    background: url(../img/dot.png) no-repeat center center;
}

.footer-base .contact{
    font-size:17px;
}

.font20{
    font-size: 20px;
}


/*======================= INTRO ======================*/

.inside{
    width: 100%;
    margin:0 auto;
    position:relative
}

.intro{
    width: 100%;
    background:#fff url(../img/Home81.jpg) no-repeat center fixed;
    margin:0;
    padding:0;
    -webkit-background-size: cover; /* pour Chrome et Safari */
    -moz-background-size: cover; /* pour Firefox */
    -o-background-size: cover; /* pour Opera */
    background-size: cover; /* version standardisee */
    padding: 0 0 0% 0;
    height: 922px;
}

.intro .inside {
    height: 100%;
    padding: 0 0 45% 0;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    -webkit-transition: .3s;
}

.intro .play {
    z-index: 1;
    background: url(../img/btn-play.png) no-repeat center center;
    position: absolute;
    width: 128px;
    height: 128px;
    top: 30%;
    left: 50%;
    margin-top:-59px;
    margin-left: -64px;
    transition: .5s;
    -o-transition: .5s;
    -moz-transition: .5s;
    -webkit-transition: .5s;
}

.intro .play:hover {
    background: url(../img/btn-playHover.png) no-repeat center center;
    transition: .5s;
    -webkit-transition: background .5s;
    -moz-transition: background .5s;
    -o-transition: background .5s;
}

.intro .right {
    width: 50%;
    padding: 10px;
    position: absolute;
    right: 0px;
    top: 50%;
    margin-top: -70px;
    color: #FF0000;
    font-family: 'dosis', arial, sans-serif;
    font-weight: bold;
    font-size: 30px;
    text-align: center;
}

.enGros{
    font-size: 87px;
    line-height: 68px;
}

#confort {
font-size: 50px;
}

.intro .right p{
    margin: 0 2% 0 15%;
    max-width: 646px;
    float: right;
    transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    -webkit-transition: .3s;
    font-size: 38px;
}

.intro .scroll {
    background: url(../img/scroll-bg.png) no-repeat center center;
    height: 77px;
    width: 250px;
    position: fixed;
    bottom: 35px;
    left: 50%;
    margin-left: -125px;
    font-family: 'dosis', arial, sans-serif;
    color: #488cca;
    font-size: 15px;
    text-align: center;
    font-weight: bold;
    line-height: 0;
}

.scroll img {
    width: 24px;
    margin: 5px auto;
    display: block;
}

/*================================= VIDEO LIGHTBOX ==============================*/

.video-popup{
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.6);
    position:fixed;top:0;
    left:0;z-index:10;
    opacity:0;
    visibility:hidden;
}

.video-popup.show{
    opacity:1;
    visibility:visible;
}

.video-container{
    width:960px;
    height:540px;
    position:fixed;
    top:50%;
    left:50%;
    margin-top:-300px;
    margin-left:-480px;
    background:#bebebe;
    background:black
}

.video-popup .video-container .fancybox-close{
    top: -13px;
    right: -12px;
}
.fancybox-type-swf .fancybox-close{
    top: 0;
}
.fancybox-type-swf .fancybox-outer {
    background: #000;
}
/*================================= TIMELINE ==============================*/


.timeline{
    position:relative;
    overflow:hidden;
    z-index:20;
}

.timeline .inside{
    overflow:hidden
}

.timeline.fixed .timeline-controller{
    position:fixed;
    width:50%;
    left:inherit;

}

.timeline.fixed .clocks{
    position:fixed
}

.timeline.fixed .timeline-bg{
    position:fixed
}

.timeline.done .timeline-controller{
    top:auto;
    bottom:154px;
    /*left:50.5%;*/
    /*margin-left: -557px;*/
    width: 50%;
}

.timeline.done .clocks{
    top:auto;bottom:365px;
    left:50%;
    margin-left: -58px;
}

.timeline.done .timeline-bg{
    position:absolute;
    top:auto;
    bottom:0;
    left:0
}

.timeline .timeline-bg{
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
    opacity:0;
    -webkit-transition:opacity 0.8s ease-out;
    -moz-transition:opacity 0.8s ease-out;-o-transition:opacity 0.8s ease-out;
    transition:opacity 0.8s ease-out;
    -webkit-transform:translate3d(0, 0, 0);
    -moz-transform:translate3d(0, 0, 0);
    -ms-transform:translate3d(0, 0, 0);
    -o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)
}

.timeline .timeline-bg.show{
    opacity:1;
    -webkit-transition:opacity 0.8s ease-out;
    -moz-transition:opacity 0.8s ease-out;
    -o-transition:opacity 0.8s ease-out;
    transition:opacity 0.8s ease-out
}


/*bleu ciel*/
.timeline .timeline-bg{
    background:#009bd3;
}

/*jaune*/
.timeline .timeline-bg.timeline-bg6{
    background:#ffff00;
}

/*bleu ciel*/
.timeline .timeline-bg.timeline-bg2{
    background:#009bd3;
}
/*gris fonce*/
.timeline .timeline-bg.timeline-bg3{
    background:#777777;
}

/*gris blanc*/
.timeline .timeline-bg.timeline-bg1{
    background:#bbbbbb;
}

/*rouge*/
.timeline .timeline-bg.timeline-bg5{
    background:#ff0000;
}
/*vert pomme*/
.timeline .timeline-bg.timeline-bg4{
    background:#00dd11;
}
/*rose*/
.timeline .timeline-bg.timeline-bg7 {
    background:#FF9bd3;
}

/*bleu fonce*/
.timeline .timeline-bg.timeline-bg8{
    background:#0000ff;
}


.timeline .timeline-bg.timeline-bg9{
    background:#00ffff;
}

.timeline .timeline-bg.timeline-bg10{
    background:#ff00ff;
}

.timeline .timeline-controller{
    height:532px;
    width:418px;
   
   width:50%;
    position:absolute;
    top:132px;
    /*left:50%;*/
    /*margin-left:-548px;*/
    -webkit-transform:translate3d(0, 0, 0);
    -moz-transform:translate3d(0, 0, 0);
    -ms-transform:translate3d(0, 0, 0);
    -o-transform:translate3d(0, 0, 0);
    transform:translate3d(0, 0, 0)
}

.timeline .timeline-controller .mode-icon{
    position:absolute;opacity:0;
    -webkit-transition:opacity 0.3s ease-out;
    -moz-transition:opacity 0.3s ease-out;
    -o-transition:opacity 0.3s ease-out;
    transition:opacity 0.3s ease-out
}

.timeline .timeline-controller .mode-icon.show{
    opacity:1;
    -webkit-transition:opacity 0.3s ease-out;
    -moz-transition:opacity 0.3s ease-out;
    -o-transition:opacity 0.3s ease-out;
    transition:opacity 0.3s ease-out
}

.timeline .timeline-controller .mode-icon1{
    height:600px;
    width:468px;
    background-size: auto 530px;
    background-repeat: no-repeat;
    background-position: center;
    top:0px;
    left:0px;
    position: absolute;
    top:0;
    bottom:0;
    left:0;
    right: 0;
}


.timeline .clocks{
    width:117px;
    height:117px;
    background: url(../img/numb-step.png) no-repeat;
    position:absolute;
    top:0;
    left:50%;
    line-height:113px;
    margin-left:-58px;
    color:white;
    font-family: 'dosis', arial, sans-serif;
    font-size:70px;
    text-align:center;
    font-weight: bold;
}

.timeline .clocks .time{
    width:117px;
    height:20px;
    font-size:70px;
    text-align:center;
    position:absolute;
    top:0;
    left:2px
}

.timeline .modes{
    float:right;
    line-height:normal;
    margin:0;
    width: 50%;
    background: url(../img/bg-timeline.png) ;
}


.mode1{
    margin-top: -300px !important;
}

.timeline .modes .mode{
    width:77%;
    font-size:30px;
    color:white;
    padding-top:164px;
    margin:30px auto;
    text-align: center;
    font-weight: bold;
}

.timeline .timeline-controller .mode-icon{
            height:600px;
            width:468px;
            background-size: auto 530px;
            background-repeat: no-repeat;
            background-position: center;
            top:0px;
            left:0px;  
            margin-left: 25%;
            margin: auto;
            position: absolute;
            top:0;
            bottom:0;
            left:0;
            right: 0;
}

.timeline .modes[title="article"]{
    font-size: inherit;
}


.timeline .modes[title="challenge"]{
    font-size: inherit;
}

.timeline .modes .mode:last-child{
    padding-bottom:164px
}

.sstitreArticle{
    font-size: 23px;
    font-style: italic;
}
.titreArticle{
    font-size: 45px;
    line-height: 36px;
}

.minutes {
    display: none;
}

.timeline #concept .logo{
    border-radius: 42px;
    position: absolute;
    width: 350px;
    right: 6%;

}
.fixed #concept .logo{top: 53%;}
.done #concept .logo{top: 53%;}


/*================================= Valeurs ==============================*/
 
 

.circle h2 {
    padding-top: 30px;
}

.circle {
    height: 155px;
    float: left;
}

.icon {
    cursor: pointer;
    height: 85%;
    width: 90%;
    margin: 0 auto;
    padding-top: 20px;
}
.icon .circle2{width: 65%;}
.circle2{padding: 0 0%;}
.circle1{padding-left:3%;}
.circle1,.circle3{width:29%;}
.circle2{width:42%}

.inside .icon-move-1, .icon-move-3{
    -webkit-transition-duration: 0.8s;
    -moz-transition-duration: 0.8s;
    -o-transition-duration: 0.8s;
    transition-duration: 0.8s;

    -webkit-transition-property: -webkit-transform;
    -moz-transition-property: -moz-transform;
    -o-transition-property: -o-transform;
    transition-property: transform;
}

.inside .icon-move-3:hover {
    -webkit-transform:rotate(360deg);
    -moz-transform:rotate(360deg);
    -o-transform:rotate(360deg);
}


.inside .icon-move-2 {
    width: 78px;
    height: 85px;
    margin: 0 auto;
    background: url(../img/icon-light.png) no-repeat center center;
    transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    -webkit-transition: .3s;
}

.inside .icon-move-2:hover {
    background: url(../img/icon-light2.gif) no-repeat center center;
}



/*================================= Caracteristique ==============================*/

.inside-spec {

}

.inside-spec .circle-icon {
   background: url(../img/bubbles.png) no-repeat;

    height: 192px;
    background-size: 100%;
    max-width: 480px;
}

.inside-spec .circle4 {
    margin-left: 54px;
}

.inside-spec h2 {
    padding-top: 40px;
}

.caract {
    background: #fff;
    /*padding: 40px 0;*/
    height: 620px;
}

/* ====================== GALLERY ==================*/




/* Loading
***********************/
.loading #container {
    opacity: 0;
}

.loading:before  {
    content: 'LOADING';
    display: block;
    margin: 100px 0 0;
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 60px;
    opacity: 0.3;
}


/* Browser Resets
*********************************/
.flex-container a:active,
.flexslider a:active,
.flex-container a:focus,
.flexslider a:focus  {
    outline: none;
}
.slides,
.flex-direction-nav {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* FlexSlider Necessary Styles
*********************************/
.flexslider {
    margin: 0;
    padding: 0;
}

.flexslider .slides > li a img{visibility:visible !important; opacity:1 !important;filter:alpha(opacity=100) !important;}

.flexslider .slides > li {
    display: none;
    -webkit-backface-visibility: hidden;
} /* Hide the slides before the JS is loaded. Avoids image jumping */


.flexslider .slides img {
    width: 100%;
    display: block;
}

/* Clearfix for the .slides element */
.slides:after {
    content: "\0020";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

html[xmlns] .slides {
    display: block;
}

* html .slides {
    height: 1%;
}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child {
    display: block;
}

/* FlexSlider Default Theme
*********************************/
.flexslider {
    margin: 0;
    background: #fff;
    position: relative;
   
}

.flex-viewport {
    max-height: 2000px;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease;
}

.loading .flex-viewport {
    max-height: 300px;
}



.carousel li {
    margin-right: 5px;
    text-align: center;
    width: 50px;
     float: left; 
     display: block;
}

#lesArticles{
padding-top: 70px;
}

.ourArticles{
    
    opacity: 0.5;
 text-align: center;
    font-size: 40px;
}
/* Direction Nav */
.flexslider .flex-direction-nav {height: 0;}
.flexslider .flex-direction-nav a  {
    text-decoration:none;
    display: block;
    margin: 0px 0 0;
    position: absolute;
    top: 0;
    z-index: 10;
    overflow: hidden;
    opacity: 0;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    transition: all .3s ease;
    width: 150px;
    height: 100%;
    text-indent: -9999px;
}

.flex-direction-nav .flex-prev {
    background: url(../img/left-arrow.png) no-repeat center center;
    left: 0px;
}

.flex-direction-nav .flex-next {
    right: 0px;
    background: url(../img/right-arrow.png) no-repeat center center;
}

.flexslider:hover .flex-prev {
    opacity: 0.7;
    left: 0px;
}

.flexslider:hover .flex-next {
    opacity: 0.7;
    right: 0px;
}

.flexslider:hover .flex-next:hover,
.flexslider:hover .flex-prev:hover {
    opacity: 1;
}

.flex-direction-nav .flex-disabled {
    opacity: 0!important;
    filter:alpha(opacity=0);
    cursor: default;
}

.flex-control-nav {
    display: none;
}

.carousel {
    background: #FFF;
    padding-top: 15px;
}

.flex-slider {
    margin: 0 10%;
    position: relative;
}

.flex-slider .flex-direction-nav {
    left: 0;
    margin-top: -19px;
    position: absolute;
    top: 50%;
    width: 100%;
}

.flex-slider .flex-direction-nav li {
    margin: 0;
    padding: 0;
}

.flex-slider .flex-direction-nav a {
    display: block;
    height: 60px;
    position: absolute;
    text-indent: -9999px;
    top: -19px;
    width: 38px;
}

.flex-slider .flex-direction-nav .flex-prev {
    left: -50px;
}

.flex-slider .flex-direction-nav .flex-next {
    right: -50px;
}

.flex-slider {
    display: none;
}

.flex-slider img {
    height: 160px;
    filter: url(filters.svg#grayscale); /* Firefox 3.5+ */
    filter: gray; /* IE6-9 */
    -webkit-filter: grayscale(1); /* Google Chrome, Safari 6+ & Opera 15+ */
}

.flex-slider .nonfilter img { filter: none; }

.flex-slider a:hover img {
    filter: none;
    -webkit-filter: grayscale(0);
}

.carousel {
    padding-bottom: 20px;
}


/*============================== LIGHTBOX ==================================*/
/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp
{
    padding: 0;
    margin: 0;
    border: 0;
    outline: none;
    vertical-align: top;
}

.fancybox-wrap {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 8020;
}

.fancybox-opened {
    z-index: 8030;
}

#fancybox-loading{
    background-image: url('../img/fancybox_sprite.html');
}



#fancybox-loading {
    position: fixed;
    top: 50%;
    left: 50%;
    margin-top: -22px;
    margin-left: -22px;
    background-position: 0 -108px;
    opacity: 0.8;
    cursor: pointer;
    z-index: 8060;
}

#fancybox-loading div {
    width: 44px;
    height: 44px;
    background: url('../img/fancybox_loading.gif') center center no-repeat;
}

.fancybox-close {
    position: absolute;
    top: 55px;
    right: 5px;
    width: 26px;
    height: 29px;
    cursor: pointer;
    z-index: 8040;
    background: url('../img/close.png');
}

.fancybox-close:hover {
    background: url('../img/close2.png');
}

/* Overlay helper */

.fancybox-overlay {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    display: none;
    z-index: 8010;
    background: url('../img/fancybox_overlay.png');
}

.fancybox-overlay-fixed {
    position: fixed;
    bottom: 0;
    right: 0;
}

.fancybox-lock .fancybox-overlay {
    overflow: auto;
    overflow-y: scroll;
}

#particulier, #professionnel{
    line-height: 30px;
}


#particulier li, #professionnel li{
    text-align: center;
    font-weight: bold;
    font-size: 19px;
    margin-bottom: 10px;
    font-family: arial, sans-serif;
    line-height: 35px;
}

#particulier #addresses, #professionnel #addresses2{
    width: 60%;
    margin: auto;
}

.answer #answer-button,.answer #answer-button2{
    -webkit-box-shadow: 0 4px 0 0 rgba(40,40,40,1);
    box-shadow: 0 4px 0 0 rgba(40,40,40,1);
    -webkit-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
    width: 50%;
    background-color: #3f3f3f;
    height: 38px;
    margin: auto;
    color: white;
    /*font-weight: bold;*/
    padding: 6px;
    text-align: center;
    font-family: 'dosis', arila, sans-serif;
    letter-spacing: 1px;
}

.answer #answer-button:hover, #answer-button2:hover{
    -webkit-box-shadow: 0 0px 0 0 rgba(40,40,40,1);
    box-shadow: 0 0px 0 0 rgba(40,40,40,1);
    margin-top:4px;
}

/*Retina graphics!*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
       only screen and (min--moz-device-pixel-ratio: 1.5),
       only screen and (min-device-pixel-ratio: 1.5){

    #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
        background-image: url('../img/fancybox_sprite%402x.html');
        background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/
    }

    #fancybox-loading div {
        background-image: url('../img/fancybox_loading%402x.gif');
        background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
    }
}



/*=========================== CONTENT TAB ===============================*/

#lightbox .list-wrap {
    background: #e9e9e9;
    color: #444;
    width: 767px;
    min-height: 340px;
}

#lightbox .bg-lightbox {
    background: url(../img/bg-lightbox.png) no-repeat;
    height: 26px;
}

#lightbox ul ,#lightbox-faq ul, #lightbox-why ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

#lightbox ul li a,#lightbox-faq ul li div, #lightbox-why li div{
    display: block;
}

#lightbox .nav,#lightbox-faq .nav, #lightbox-why .nav {
    overflow: hidden;
}

#lightbox .nav li,#lightbox-faq .nav li, #lightbox-why .nav li div{
    width: 277px;
    height: 54px;
    float: left;
    margin: 0 1px 0 0;
}

#lightbox .nav li a, #lightbox-faq .nav li div, #lightbox-why .nav li div{
    display: block;
    font-size: 25px;
    color: #fff;
    font-weight: bold;
    font-family: 'dosis', arila, sans-serif;
    text-align: center;
    border: 0;
    padding: 8px 0 15px;
    transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    -webkit-transition: .3s;
}

#lightbox li a.current,
#lightbox li a.current:hover,
#lightbox-faq li div.current, #lightbox-why li div.current{
    color: #3794ce;
    background: url(../img/tab1-thumb.png) no-repeat;
}

#lightbox .nav li a:hover,
#lightbox .nav li a:focus {
    background: url(../img/tab1-thumb.png) no-repeat;
    color: #3794ce;
}


.nav-one, .nav-two {
    background: url(../img/tab2-thumb.png) no-repeat;
    width: 277px;
    height: 54px;
}


#lightbox h2 {

    text-align: center;
    padding: 20px 0;
}

.fancybox-inner h2{
    font-family: 'dosis', arial, sans-serif;
    color: #3794ce;
    font-size: 20px;
    font-weight: bold;
}


/*======= Professionnel ======*/


#lightbox h3 {
    font-family: 'dosis', arial, sans-serif;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    padding: 20px 0;
    background: #3794ce;
}

#lightbox .tableau h2{
    color: #404040;
}

#lightbox span {
    color: #3794ce;

}

#lightbox .bloc {
    border-right: solid 1px #d7d7d7;
    border-bottom: solid 1px #d7d7d7;
    float: left;
    width: 25%;
    padding-bottom: 20px;
    text-align: center;
    font-family: 'dosis', arial, sans-serif;
    color: #404040;
    font-size: 16px;
    font-weight: bold;
}

#lightbox .bloc p {
    width: 150px;
    margin: 0 auto;
}



/*======================================= Media Queries ==================================*/


@media screen and (max-width: 1350px){
    .intro .inside {
    }

    .intro .right p{
        margin: 0 1% 0 13%;
        font-size: 25px;
    }

    .enGros {
        font-size: 83px;
        line-height: 49px;
    }
    #confort {
        font-size: 40px;
    }

}

header ul ul li a, header ul ul li a:visited {
    font-size: 13px;
}

.scroller_anchor{height:0px; margin:0; padding:0;}


.fixedTop{
    position:fixed;
    top:0;
    z-index:199;
}

/*======================================= Mobil Devices ==================================*/
.contact {
    padding-right: 10%;
}
.mobile-media { display: none;}
@media screen and (min-width: 980px){
    body{min-width: 980px;}
}

.mobile-content{display:none;}
.phone{display:none;}
.desktop{display: block;}

@media screen and (max-width: 1024px){
    .mobile-media { display: block;}
    .fancybox-media {display: none;}
    


header ul ul li a, header ul ul li a:visited {
    font-size: 12px;
}
}

@media screen and (max-width: 980px){
.notification-shape {
	display:none;
}

 #nav4, #nav1{
	display:none;
}

.ourArticles{  font-size: 30px;} /* par Pierre*/
.carousel{ padding-top: 5px;}
   #beno{display: none;}
    #piro{display: none;}
    .fixed-top #left-border {width: 100%;}
    /*vieux carroussel
    .timeline{display:none;}
    .mobile-content{
        display:block;
    	
    }/*jusque ici                      ddddddddddddddddddddddddddddddddddddddddddddddddd    */
    .timeline .timeline-controller{
        display: none;
    }  
    .clocks{
        display: none !important;
    }
    .modes{
        width: 100% !important;
    }
    
    .mode{
        width: 70% !important;
    }
    .mode1{
        padding-top: 401px !important;
    }
    .mobile-content .flexslider{
        background: #389bd3;
        height: 430px;
        padding-top: 80px;
        }
    .mobile-content .clock{
        background: url(../img/numb-step.png) no-repeat;
        height: 117px;
        width: 117px;
        margin: auto;
        text-align: center;
        padding: 10px;
        font-size: 70px;
        color: white;
        font-family: 'dosis', arial, sans-serif;
        font-weight: bold;
    }
    .mobile-content p{
        font-size: 30px;
        color: white;
        text-align: center;
        font-family: 'dosis', arial, sans-serif;
        font-weight: bold;
        width: 450px;
        margin: auto;
    }
    .font20{         display: none;     }
    #footer_drop #footer_content {
        height: auto;
        float: none;
        
        margin: 0 auto;
        margin-bottom: 20px;
    }
    #footer_content {
        text-align: center;
    }
    .produit {
        width: 650px;
    }
    .produit .descript {
        width: 100px;
    }
    .inside-spec h2 {
        line-height: 1;
        padding-top: 0;
    }
   
    .follow p {
        display: none;
    }
    .contact {
        padding-right: 0;
    }
    header ul ul li a, header ul ul li a:visited {
    font-size: 10px;
}
}

@media screen and (max-width: 650px){
    .intro .play {
	display:none;
} /* virer la video*/
 
header ul ul li a, header ul ul li a:visited {
    font-size: 10px;
}
    .mode{
        width: 70% !important;
    }
    .designlicks{display: none;}
    .designlicks2{display: none;}
    .designlicks3{display: none;}
    .jack{display: none;}
    .pierre{display: none;}
    .phone{display:block;}
    .desktop{display: none;}
    header .menu{
        padding-left:0px;
    }
    .intro{
        height: 650px;
    }
    .intro .right {
        top: 70%;
    }
    #confort {
        font-size: 26px;
    }
    .enGros {
        font-size: 54px;
        line-height: 40px;
    }
    .intro .right p {
        font-size: 16px;
    }
    .produit {
        width: 500px;
        background-size:100%;
    }
    .produit .descript-1{
        top: 85px;
        left: 120px;
    }
    .produit .descript {
        width: 200px;
    }
    .produit .descript p {
        background: #3786c8;
        border-radius: 9px;
        padding-left: 5px;
        color: white;
    }
    .produit .point,.produit .line{float:left}
    .produit span {
        color: white;
    }
    .produit .descript-2{left:90px;}
    .produit .descript-3{right: 115px;}
    .produit .descript-3 p {
        text-align: inherit;
        float: none;
    }
    .produit .descript-3 .point, .produit .descript-3 .line {
        float: right;}
    #footer_drop .contact a.phone{
        background: none;
    }
}

@media screen and (max-width: 480px){

    .intro .right {
        width: 100%;
        margin-top: 0;
    }
    .intro .right p {
        margin: 0 auto;
    }
    #lightbox .nav li, #lightbox-faq .nav li, #lightbox-why.nav li  {
        float: none;
        margin: 0 auto;
    }
    #lightbox .list-wrap {
        width: auto;
    }
    .answer #answer-button, .answer #answer-button2 {
        width: 90%;
        padding-bottom: 30px;
        height: auto;
    }

    /*.scroller {
        display: none;
    }*/
    .produit {
        width: 100%;
    }
    .mobile-content p {
        width: auto;
    }
    .inside-spec h2 {
        line-height: 1;
        padding-top: 0;
    }
    .caract {
        height: auto;
    }
    #footer_drop .contact, .condition, .follow {
        font-size: 19px;
        width: auto;
        margin: 0 auto;
        float: none;
    }
    .condition {
        width: 200px;
    }
    #footer_drop .contact {
        width: 185px;
        float: none;
    }
    #footer_drop #footer_content {
        width: auto;
    }
    #footer_content {
        padding-bottom: 30px;
    }
    .contact .tel {
        margin: 10px auto;
    }
    .follow a, .follow p, .follow iframe {
        float: none;
        display: inline-block;
        vertical-align: top;
    }

    .flex-slider {
    margin: 0;
    position: relative;
    }

    .flex-slider .flex-direction-nav .flex-prev {
        left: 0px;
    }

    .flex-slider .flex-direction-nav .flex-next {
        right: 0px;
    }

    .produit .descript-1{
        top: 130px;
        left: 65px;
    }

    .produit .descript-2 {
        left: 50px;
        top: 240px;
    }

    .produit .descript-3 {
        right: 55px;
    }
}
/*------------FAQ-------------*/

#display-faq, #display-why{
    width: 980px;
    height: 600px;
    background: #e9e9e9;
    padding: 20px 0 20px 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    font-family: arial, sans-serif;
    font-size: 20px;
}

.faq-lightbox .fancybox-close{top:3px;}
.why-lightbox .fancybox-close{top:3px;}

#display-faq .content,#display-why .content{
    width: 965px;
    height: 560px;
    overflow: auto;
}

#display-faq .content li,#display-why .content li{
    list-style-type: disc;
    margin-left: 60px;
}#display-faq .content p{
    margin-left: 20px;
}
#display-faq h2,#display-why h2{
    padding: 20px;
    font-size: 28px;
}
/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #222;
}

body {
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */

img {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Chrome Frame prompt
   ========================================================================== */

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/*! normalize.css v1.1.1 | MIT License | git.io/normalize */

/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
    display: block;
}

/**
 * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 */

audio,
canvas,
video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
    display: none;
    height: 0;
}

/**
 * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
 * Known issue: no IE 6 support.
 */

[hidden] {
    display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */

/**
 * 1. Prevent system color scheme's background color being used in Firefox, IE,
 *    and Opera.
 * 2. Prevent system color scheme's text color being used in Firefox, IE, and
 *    Opera.
 * 3. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
 *    `em` units.
 * 4. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
    background: #fff; /* 1 */
    color: #000; /* 2 */
    font-size: 100%; /* 3 */
    -webkit-text-size-adjust: 100%; /* 4 */
    -ms-text-size-adjust: 100%; /* 4 */
}

/**
 * Address `font-family` inconsistency between `textarea` and other form
 * elements.
 */

html,
button,
input,
select,
textarea {
    font-family: 'dosis', arial, sans-serif;
}

/**
 * Address margins handled incorrectly in IE 6/7.
 */

body {
    margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */

a:focus {
    outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
    outline: 0;
}

/**
 * Address styling not present in IE 7/8/9, Safari 5, and Chrome.
 */

abbr[title] {
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
 */

b,
strong {
    font-weight: bold;
}

blockquote {
    margin: 1em 40px;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */

dfn {
    font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 * Known issue: no IE 6/7 normalization.
 */

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

/**
 * Address styling not present in IE 6/7/8/9.
 */

mark {
    background: #ff0;
    color: #000;
}

/**
 * Address margins set differently in IE 6/7.
 */

p,
pre {
    margin: 1em 0;
}

/**
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */

code,
kbd,
pre,
samp {
    font-family: 'dosis', arial, sans-serif;
    font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}

/**
 * Address CSS quotes not supported in IE 6/7.
 */

q {
    quotes: none;
}

/**
 * Address `quotes` property not supported in Safari 4.
 */

q:before,
q:after {
    content: '';
    content: none;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* ==========================================================================
   Lists
   ========================================================================== */

/**
 * Address margins set differently in IE 6/7.
 */

dl,
menu,
ol,
ul {
    margin: 1em 0;
}

dd {
    margin: 0 0 0 40px;
}

/**
 * Address paddings set differently in IE 6/7.
 */

menu,
ol,
ul {
    padding: 0 0 0 40px;
}

/**
 * Correct list images handled incorrectly in IE 7.
 */

nav ul,
nav ol {
    list-style: none;
    list-style-image: none;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */

/**
 * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
 * 2. Improve image quality when scaled in IE 7.
 */

img {
    border: 0; /* 1 */
    -ms-interpolation-mode: bicubic; /* 2 */
}

/**
 * Correct overflow displayed oddly in IE 9.
 */

svg:not(:root) {
    overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */

/**
 * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
 */

figure {
    margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */

/**
 * Correct margin displayed oddly in IE 6/7.
 */

form {
    margin: 0;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct color not being inherited in IE 6/7/8/9.
 * 2. Correct text not wrapping in Firefox 3.
 * 3. Correct alignment displayed oddly in IE 6/7.
 */

legend {
    border: 0; /* 1 */
    padding: 0;
    white-space: normal; /* 2 */
    *margin-left: -7px; /* 3 */
}

/**
 * 1. Correct font size not being inherited in all browsers.
 * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
 *    and Chrome.
 * 3. Improve appearance and consistency in all browsers.
 */

button,
input,
select,
textarea {
    font-size: 100%; /* 1 */
    margin: 0; /* 2 */
    vertical-align: baseline; /* 3 */
    *vertical-align: middle; /* 3 */
}

/**
 * Address Firefox 3+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

button,
input {
    line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */

button,
select {
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
    *overflow: visible;  /* 4 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
    cursor: default;
}

/**
 * 1. Address box sizing set to content-box in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 * 3. Remove excess padding in IE 7.
 *    Known issue: excess padding remains in IE 6.
 */

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
    *height: 13px; /* 3 */
    *width: 13px; /* 3 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 3+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 6/7/8/9.
 * 2. Improve readability and alignment in all browsers.
 */

textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
    border-collapse: collapse;
    border-spacing: 0;
}
/* Common, default styles for the notification box */

.ns-box {
	position: fixed;
	background: rgba(42,45,50,0.85);
	padding: 22px;
	line-height: 1.4;
	z-index: 1000;
	pointer-events: none;
	color: rgba(250,251,255,0.95);
	font-size: 78%;
	font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, Arial, sans-serif;
}

.ns-box.ns-show {
	pointer-events: auto;
}

.ns-box a {
	color: inherit;
	opacity: 0.7;
	font-weight: 700;
}

.ns-box a:hover,
.ns-box a:focus {
	opacity: 1;
}

.ns-box p {
	margin: 0;
}

.ns-box.ns-show,
.ns-box.ns-visible {
	pointer-events: auto;
}

.ns-close {
	width: 20px;
	height: 20px;
	position: absolute;
	right: 4px;
	top: 4px;
	overflow: hidden;
	text-indent: 100%;
	cursor: pointer;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.ns-close:hover, 
.ns-close:focus {
	outline: none;
}

.ns-close::before,
.ns-close::after {
	content: '';
	position: absolute;
	width: 3px;
	height: 60%;
	top: 50%;
	left: 50%;
	background: #6e6e6e;
}

.ns-close:hover::before,
.ns-close:hover::after {
	background: #fff;
}

.ns-close::before {
	-webkit-transform: translate(-50%,-50%) rotate(45deg);
	transform: translate(-50%,-50%) rotate(45deg);
}

.ns-close::after {
	-webkit-transform: translate(-50%,-50%) rotate(-45deg);
	transform: translate(-50%,-50%) rotate(-45deg);
}
.notification-shape {
	position: fixed;
	z-index: 1000;
}

.notification-shape svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

[class^="ns-effect-"].ns-other.ns-hide,
[class*=" ns-effect-"].ns-other.ns-hide {
	-webkit-animation-direction: reverse;
	animation-direction: reverse;
}

/* Individual Effects */

/* Expand SVG corner */
.ns-effect-cornerexpand {
	width: 170px;
	min-height: 170px;
	background: #5a7d98;
	text-align: center;
	position: relative;
	z-index: 100;
}

.shape-box {
	top: 0;
	right: 0;
	width: 170px;
	min-height: 170px;
}

.shape-box path {
	fill: #3b5163;
}

.ns-effect-cornerexpand .icon {
	color: #5a7d98;
	background: #fff;
	display: block;
	width: 4em;
	height: 4em;
	line-height: 5.3;
	margin: 0.5em auto 1.25em;
	border-radius: 50%;
	padding-top: initial;
}

.ns-effect-cornerexpand .ns-close {
	top: 12px;
	right: 12px;
}

.ns-effect-cornerexpand .ns-close::before,
.ns-effect-cornerexpand .ns-close::after {
    background: #3b5163;
}

.ns-effect-cornerexpand .ns-close:hover::before,
.ns-effect-cornerexpand .ns-close:hover::after {
    background: #fff;
}

.ns-effect-cornerexpand a {
	color: #3b5163;
	opacity: 1;
}

.ns-effect-cornerexpand a:hover,
.ns-effect-cornerexpand a:focus {
	color: #fff;
}

.ns-effect-cornerexpand.ns-show,
.ns-effect-cornerexpand.ns-hide {
	-webkit-animation-name: animScale;
	animation-name: animScale;
	-webkit-animation-duration: 0.3s;
	animation-duration: 0.3s;
}

.ns-effect-cornerexpand.ns-show {
	opacity: 0;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-delay: 0.2s;
	animation-delay: 0.2s;
}

@-webkit-keyframes animScale {
	0% { opacity: 0; -webkit-transform: scale3d(0.4,0.4,1); }
	100% { opacity: 1; -webkit-transform: scale3d(1,1,1); }
}

@keyframes animScale {
	0% { opacity: 0; -webkit-transform: scale3d(0.4,0.4,1); transform: scale3d(0.4,0.4,1); }
	100% { opacity: 1; -webkit-transform: scale3d(1,1,1); transform: scale3d(1,1,1); }
}

/*


This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

 mainslib is based on Underscores http://underscores.me/, (C) 2012-2013 Automattic, Inc.

Resetting and rebuilding styles have been helped along thanks to the fine work of
Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
and Blueprint http://www.blueprintcss.org/
*/


/* =Reset
-------------------------------------------------------------- */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
html {
	font-size: 62.5%; /* Corrects text resizing oddly in IE6/7 when body font-size is set using em units http://clagnut.com/blog/348/#c790 */
	overflow-y: scroll; /* Keeps page centered in all browsers regardless of content height */
	-webkit-text-size-adjust: 100%; /* Prevents iOS text size adjust after orientation change, without disabling user zoom */
	-ms-text-size-adjust:     100%; /* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ */
}
*,
*:before,
*:after { /* apply a natural box layout model to all elements; see http://www.paulirish.com/2012/box-sizing-border-box-ftw/ */
	-webkit-box-sizing: border-box; /* Not needed for modern webkit but still used by Blackberry Browser 7.0; see http://caniuse.com/#search=box-sizing */
	-moz-box-sizing:    border-box; /* Still needed for Firefox 28; see http://caniuse.com/#search=box-sizing */
	box-sizing:         border-box;
}
body {
	background: #fff;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section {
	display: block;
}
ol, ul {
	list-style: none;
}
table { /* tables still need 'cellspacing="0"' in the markup */
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	font-weight: normal;
	text-align: left;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
a:focus {
	outline: thin dotted;
}
a:hover,
a:active {
	outline: 0;
}
a img {
	border: 0;
}


/* =Global
----------------------------------------------- */

body,
button,
input,
select,
textarea {
	color: #404040;
	font-family: sans-serif;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.5;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
	clear: both;
}
hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

/* Text elements */
p {
	margin-bottom: 1.5em;
}
ul, ol {
	margin: 0 0 1.5em 3em;
}
ul {
	list-style: disc;
}
ol {
	list-style: decimal;
}
li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}
dt {
	font-weight: bold;
}
dd {
	margin: 0 1.5em 1.5em;
}
b, strong {
	font-weight: bold;
}
dfn, cite, em, i {
	font-style: italic;
}
blockquote {
	margin: 0 1.5em;
}
address {
	margin: 0 0 1.5em;
}
pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}
code, kbd, tt, var {
	font: 15px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}
abbr, acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}
mark, ins {
	background: #fff9c0;
	text-decoration: none;
}
sup,
sub {
	font-size: 75%;
	height: 0;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	bottom: 1ex;
}
sub {
	top: .5ex;
}
small {
	font-size: 75%;
}
big {
	font-size: 125%;
}
figure {
	margin: 0;
}
table {
	margin: 0 0 1.5em;
	width: 100%;
}
th {
	font-weight: bold;
}
img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}
button,
input,
select,
textarea {
	font-size: 100%; /* Corrects font size not being inherited in all browsers */
	margin: 0; /* Addresses margins set differently in IE6/7, F3/4, S5, Chrome */
	vertical-align: baseline; /* Improves appearance and consistency in all browsers */
	vertical-align: middle; /* Improves appearance and consistency in all browsers */
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid #ccc;
	border-color: #ccc #ccc #bbb #ccc;
	border-radius: 3px;
	background: #e6e6e6;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 15px 17px rgba(255, 255, 255, 0.5), inset 0 -5px 12px rgba(0, 0, 0, 0.05);
	color: rgba(0, 0, 0, .8);
	cursor: pointer; /* Improves usability and consistency of cursor style between image-type 'input' and others */
	-webkit-appearance: button; /* Corrects inability to style clickable 'input' types in iOS */
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1;
	padding: .6em 1em .4em;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa #bbb;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 0 15px 17px rgba(255, 255, 255, 0.8), inset 0 -5px 12px rgba(0, 0, 0, 0.02);
}
button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
	border-color: #aaa #bbb #bbb #bbb;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.5), inset 0 2px 5px rgba(0, 0, 0, 0.15);
}
input[type="checkbox"],
input[type="radio"] {
	padding: 0; /* Addresses excess padding in IE8/9 */
}
input[type="search"] {
	-webkit-appearance: textfield; /* Addresses appearance set to searchfield in S5, Chrome */
	-webkit-box-sizing: content-box; /* Addresses box sizing set to border-box in S5, Chrome (include -moz to future-proof) */
	-moz-box-sizing:    content-box;
	box-sizing:         content-box;
}
input[type="search"]::-webkit-search-decoration { /* Corrects inner padding displayed oddly in S5, Chrome on OSX */
	-webkit-appearance: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner { /* Corrects inner padding and border displayed oddly in FF3/4 www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/ */
	border: 0;
	padding: 0;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus {
	color: #111;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"] {
	padding: 3px;
}
textarea {
	overflow: auto; /* Removes default vertical scrollbar in IE6/7/8/9 */
	padding-left: 3px;
	vertical-align: top; /* Improves readability and alignment in all browsers */
	width: 98%;
}

/* Links */
a {
	color: royalblue;
}
a:visited {
	color: purple;
}
a:hover,
a:focus,
a:active {
	color: midnightblue;
}

/* Alignment */
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}
.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}
.aligncenter {
	clear: both;
	display: block;
	margin: 0 auto;
}

/* Text meant only for screen readers */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
}

.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar */
}

/* Clearing */
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: '';
	display: table;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}


/* =Menu
----------------------------------------------- */

.main-navigation {
	clear: both;
	display: block;
	float: left;
	width: 100%;
}
.main-navigation ul {
	list-style: none;
	margin: 0;
	padding-left: 0;
}
.main-navigation li {
	float: left;
	position: relative;
}
.main-navigation a {
	display: block;
	text-decoration: none;
}
.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	display: none;
	float: left;
	left: 0;
	position: absolute;
	top: 1.5em;
	z-index: 99999;
}
.main-navigation ul ul ul {
	left: 100%;
	top: 0;
}
.main-navigation ul ul a {
	width: 200px;
}
.main-navigation ul ul li {
}
.main-navigation li:hover > a {
}
.main-navigation ul ul :hover > a {
}
.main-navigation ul ul a:hover {
}
.main-navigation ul li:hover > ul {
	display: block;
}
.main-navigation .current_page_item a,
.main-navigation .current-menu-item a {
}

/* Small menu */
.menu-toggle {
	cursor: pointer;
	display: none;
}

@media screen and (max-width: 600px) {
	.menu-toggle,
	.main-navigation.toggled .nav-menu {
		display: block;
	}

	.main-navigation ul {
		display: none;
	}
}


/* =Content
----------------------------------------------- */

.sticky {
}
.hentry {
	margin: 0 0 1.5em;
}
.byline,
.updated {
	display: none;
}
.single .byline,
.group-blog .byline {
	display: inline;
}
.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}
.page-links {
	clear: both;
	margin: 0 0 1.5em;
}


/* =Asides
----------------------------------------------- */

.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
	display: none;
}


/* =Media
----------------------------------------------- */

.page-content img.wp-smiley,
.entry-content img.wp-smiley,
.comment-content img.wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}
.wp-caption {
	border: 1px solid #ccc;
	margin-bottom: 1.5em;
	max-width: 100%;
}
.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 1.2% auto 0;
	max-width: 98%;
}
.wp-caption-text {
	text-align: center;
}
.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}
.site-main .gallery {
	margin-bottom: 1.5em;
}
.gallery-caption {
}
.site-main .gallery a img {
	border: none;
	height: auto;
	max-width: 90%;
}
.site-main .gallery dd {
	margin: 0;
}
.site-main .gallery-columns-4 .gallery-item {
}
.site-main .gallery-columns-4 .gallery-item img {
}

/* Make sure embeds and iframes fit their containers */
embed,
iframe,
object {
	max-width: 100%;
}


/* =Navigation
----------------------------------------------- */

.site-main [class*="navigation"] {
	margin: 0 0 1.5em;
	overflow: hidden;
}
[class*="navigation"] .nav-previous {
	float: left;
	width: 50%;
}
[class*="navigation"] .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}


/* =Comments
----------------------------------------------- */

.comment-content a {
	word-wrap: break-word;
}
.bypostauthor {
}


/* =Widgets
----------------------------------------------- */

.widget {
	margin: 0 0 1.5em;
}

/* Make sure select elements fit in widgets */
.widget select {
	max-width: 100%;
}

/* Search widget */
.widget_search .search-submit {
	display: none;
}


/* =Infinite Scroll
----------------------------------------------- */

/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .paging-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before */
.infinity-end.neverending .site-footer {
	display: block;
}
<?php   require("destination/triposo.php");
        require("w/0fonctions.php");
        require("w/1head.php");
        
?>

<style type="text/css">
    <?php    
    IconBackground();
    
    ?>
</style>
</head>

<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
<?php require("w/2lightbox.php");?>
<?php require("w/4headerScroller.php");?>

<?php 
$show_notif = (isset($_GET['dest'])) ? htmlspecialchars($_GET['dest']) : "" ;
?>

<?php if (($show_notif =="southAmerica")||($show_notif =="oceania")||($show_notif =="asia")||($show_notif =="china")||($show_notif =="india"))     {
require("w/5notification.php");
} ?>
    <div class="mobile-content">
        <div class="flexslider">
            <ul class="slides">
                <?php 
                DestinationClock();
                ?>

            </ul>
        </div>
    </div>
    <div class='timeline' style="">
        <div class='timeline-bg timeline-bg1 show'></div>
        <div class='timeline-controller'>
            <div class='mode-icon mode-icon1 show' ></div>
        </div>

        <div class='inside'>
            <div class='clocks'>
                <div class='time'>
                    <span class='hours'>1</span>
                </div>
            </div>
            <div class='modes' id="dest">
                <?php 
               DestinationTime();
                ?>
            </div>
        </div>
    </div>

    <div id="caracteristiques"></div><!--INDISPENSABLE : WHY?-->

    <div class="galery" id="gallery"></div>

<?php require("w/8footer.php");?>
<?php require("w/9end.php");?>
 <?php
 	$DISCOVER='Discover ';
	$WITHPIERREANDBEN='with Pierre and Beno&icirc;t.';
	$VOUS='you?';
	$INTRO = array ("We will start with ", "Then we continue in ", "We will visit also ", "And we will see ", "And also we will discover ", "Finally we will see ", "Lastly we see ","We visit ","We will visit ", "We will visit ","We will visit ","We will visit ");
	$DEBUT = array("This is the planified itinerary","View the detailled map","Destination game: <br/> Guess where do these pictures on the itinerary come from");
	
	if (isset($_GET['dest'])) 	{
		switch (htmlspecialchars($_GET['dest'])) {
			case 'southAmerica':
				$DESTINATION_TEXT = array ('Brazil','Argentina', 'Paraguay', 'Bolivia', 'Peru', 'Chile');
				break;
			case 'brazil':
				$DESTINATION_TEXT = array ("Rio de Janeiro","Sao Paulo","Iguazu Falls");
				break;	
			case 'argentina':
				$DESTINATION_TEXT = array ('Iguazu Falls','Iber&aacute; Wetlands','Resistencia','Salta');
				break;
			case 'paraguay':
				$DESTINATION_TEXT = array ('Trinidad');
				break;
				case 'bolivia':
				$DESTINATION_TEXT = array ('the salted desert of Uyuni','Potosi','La Paz','Death Road');
				break;
			case 'peru':
				$DESTINATION_TEXT = array ('Machu Picchu','Cusco','Nazca lines','Lima');
				break;
			case 'chile':
				$DESTINATION_TEXT = array ('Santiago de Chile');
				break;
			case 'oceania':
				$DESTINATION_TEXT = array ('New Zealand', 'Australia');
				break;
			case 'newZealand':
				$DESTINATION_TEXT = array ('Auckland','Lake Tekapo', 'Mount Cook', 'Queenstown', 'Milford Sound', 'Haast Pass');
				break;
			case 'australia':
				$DESTINATION_TEXT = array ('Sydney', 'Blue Mountains', 'Melbourne', 'Brisbane', 'Great barrier reef');
				break;
			case 'asia':
				$DESTINATION_TEXT = array ('Singapore','Indonesia','Thailand','Cambodia','Vietnam','China','Nepal','India','United Arab Emirates');
				break;
			case 'indonesia':
				$DESTINATION_TEXT = array ('Bali', 'Gili Islands', 'Komodo', 'Borobudur', 'Mount Bromo');
				break;
			case 'indochina':
				$DESTINATION_TEXT = array ('Bangkok','Angkor', 'Phnom Penh', 'H&ocirc;-Chi-Minh-Ville', 'Hano&iuml;', 'Ha Long Bay');
				break;
			case 'china':
				$DESTINATION_TEXT = array ('Sichuan','Jiuzhaigou', 'Guilin', 'Mount Huang','Forbidden City in Beijing', 'Great Wall of China', 'Zhangye','Lhasa','Potala Palace', 'Tibetan landscapes', 'Mount Everest');
				break;
			case 'tibet':
				$DESTINATION_TEXT = array ('Lhasa Potala Palace','Tibetan landscapes', 'Mount Everest');
				break;
			case 'nepal':
				$DESTINATION_TEXT = array ('Mount Everest', 'Kathmandu');
				break;
			case 'india':
				$DESTINATION_TEXT = array ('Varanasi','Kolkata', 'Rajasthan', 'Taj Mahal, Agra', 'Leh Ladakh', 'Delhi');
				break;
			case 'uae':
				$DESTINATION_TEXT = array ('Duba&iuml;');
				break;
			case 'thailand':
				$DESTINATION_TEXT = array ('Bangkok');
				break;
			case 'cambodia':
				$DESTINATION_TEXT = array ('Angkor','Phnom Penh');
				break;
			case 'vietnam':
				$DESTINATION_TEXT = array ('H&ocirc;-Chi-Minh-Ville','Hano&iuml;','Ha Long Bay');
				break;
			default:
				$DESTINATION_TEXT = array (  "Lost? Sorry this page doesn't exist.");
				break;
		}
	}else{ 
				$DESTINATION_TEXT = array (  'South America', 'Oceania', 'Asia');
	} 


    ?>

 <?php
 	$DISCOVER='DÃ©couvre ';
	$WITHPIERREANDBEN='avec Pierre et Beno&icirc;t ';
	$VOUS='vous ?';
	$INTRO = array ("Nous allons commencer par ", "Ensuite nous continuerons vers ", "Nous irons aussi visiter ", "Et nous irons voir ", "Et aussi nous partirons dÃ©couvrir ", "Enfin nous verrons ", "Finalement nous irons voir ","Nous irons visiter ","Nous irons visiter ","Nous irons visiter ","Nous irons visiter ");
 	$DEBUT = array ("Voici notre itinÃ©raire envisagÃ©","Voir le trajet dÃ©taillÃ©","Jeu des destinations : <br/> Devinez d'oÃ¹ viennent ces photos de notre itinÃ©raire");
 	
 	if (isset($_GET['dest'])) 	{
		switch (htmlspecialchars($_GET['dest'])) {
			case 'ghest':
				$DESTINATION_TEXT = array (  "le BrÃ©sil", "l'Argentine", "le Paraguay", "la Bolivie", "le PÃ©rou", "le Chili");
				break;
			case 'ghost':
				$DESTINATION_TEXT = array ("Voici la maps","Devinez d'oÃ¹ viennnent ces photos",  "le BrÃ©sil", "l'Argentine", "le Paraguay", "la Bolivie", "le PÃ©rou", "le Chili");
				break;
			case 'southAmerica':
			$DESTINATION_TEXT = array (  "le BrÃ©sil", "l'Argentine", "le Paraguay", "la Bolivie", "le PÃ©rou", "le Chili");
				break;
			case 'brazil':
			$DESTINATION_TEXT = array ("Rio de Janeiro","Sao Paulo","les chutes de l'Iguazu");
				break;	
			case 'argentina':
			$DESTINATION_TEXT = array ("les chutes l'Iguazu","les Ã©tangs de l'IberÃ ",'Resistencia','Salta');
				break;
			case 'paraguay':
			$DESTINATION_TEXT = array ("Trinidad");
				break;
				case 'bolivia':
			$DESTINATION_TEXT = array ("le Grand DÃ©sert SalÃ© de Uyuni","la Ville miniÃ¨re de Potosi","La Paz","la Route de la Mort");
				break;
			case 'peru':
			$DESTINATION_TEXT = array ("les Ruines de Machu Picchu","Cuzco","Nazca et ses Glyphes","Lima");
				break;
			case 'chile':
			$DESTINATION_TEXT = array ("Santiago de Chile");
				break;
			case 'oceania':
			$DESTINATION_TEXT = array ("la Nouvelle ZÃ©lande", "l'Australie");
				break;
			case 'newZealand':
			$DESTINATION_TEXT = array ("Auckland", "le Lac Tekapo", "le Mont Cook", "Queenstown", "Milford Sound", "le Haast Pass");
				break;
			case 'australia':
			$DESTINATION_TEXT = array (  "Sydney", "Les Montagnes Bleus", "Melbourne", "Brisbane", "La Grande BarriÃ¨re de Corail");
				break;
			case 'asia':
			$DESTINATION_TEXT = array ("Singapour","l'IndonÃ©sie","la ThaÃ¯lande","le Cambodge","le ViÃªt Nam","le Chine","le NÃ©pal","l'Inde","les Emirats Arabes Unis");
				break;
			case 'indonesia':
			$DESTINATION_TEXT = array ("Bali", "Gili Islands", "Komodo", "Borobudur", "le Mont Bromo");
				break;
			case 'indochina':
			$DESTINATION_TEXT = array (  "Bangkok", "Angkor", "Phnom Penh", "HÃ´-Chi-Minh-Ville", "Hano&iuml;", "la Baie de Ha Long");
				break;
			case 'china':
			$DESTINATION_TEXT = array ( "Sichuan", "Jiuzhaigou", "Guilin", "le Mont Huang","La CitÃ© Interdite - PÃ©kin", "La Grande Muraille de Chine", "Zhangye","Lhassa", "Le Palais Potala", "Paysages TibÃ©tains", "Le Mont Everest");
				break;
			case 'tibet':
			$DESTINATION_TEXT = array ("Le Palais Potala", "des Paysages TibÃ©tains", "Le Mont Everest");
				break;
			case 'nepal':
			$DESTINATION_TEXT = array (  "Le Mont Everest", "Kathmandou");
				break;
			case 'india':
			$DESTINATION_TEXT = array (  "Varanasi", "Calcutta", "Rajasthan", "Taj Mahal, Agra", "Leh Ladakh", "New Delhi");
				break;
			case 'uae':
			$DESTINATION_TEXT = array ("Duba&iuml;");
				break;
			case 'thailand':
			$DESTINATION_TEXT = array ("Bangkok");
				break;
			case 'cambodia':
			$DESTINATION_TEXT = array ("Angkor","Phnom Penh");
				break;
			case 'vietnam':
			$DESTINATION_TEXT = array ("HÃ´-Chi-Minh-Ville","HanoÃ¯","la Baie de Ha Long");
				break;
			default:
			$DESTINATION_TEXT = array (  "Vous Ãªtes Perdu ? DÃ©solÃ© cette page n'existe pas.");
				break;
		}
	}else{ 
			$DESTINATION_TEXT = array (  "l'AmÃ©rique du Sud", "l'OcÃ©anie", "l'Asie");
	} 


    ?>
<?php
	if (isset($_GET['dest'])) 	{
		switch (htmlspecialchars($_GET['dest'])) {
			case 'southAmerica':
				$LINK = array ('brazil', 'argentina', 'paraguay', 'bolivia', 'peru', 'chile');
				$GMAP = 'https://goo.gl/maps/ZmN32';
				$MAP = 'brazil';
				$COLORS='#009bd3';
				break;
			case 'brazil':
				$LINK = array ('rio','sao','iguazu');
				$COLORS='#1491AA';
				$GMAP = 'https://goo.gl/maps/hILoi';
				break;	
			case 'argentina':
				$LINK = array ('iguazu','ibera','resistencia','salta');
				$COLORS='#288AB0';
				$GMAP = '';
				break;
			case 'paraguay':
				$LINK = array ('trinidad');
				$COLORS='#1549B8';
				$GMAP = '';
				break;
			case 'bolivia':
				$LINK = array ('uyuni','potosi','lapaz','routeDeLaMort');
				$COLORS='#3E54B3';
				$GMAP = '';
				break;
			case 'peru':
				$LINK = array ('machupicchu','cusco','nazca','lima');
				$COLORS='#17A498';
				$GMAP = '';
				break;
			case 'chile':
				$LINK = array ('santiago');
				$COLORS='#2118AA';
				$GMAP = '';
				break;
			case 'oceania':
				$LINK = array ('newZealand', 'australia');
				$COLORS='#D48D09';
				$GMAP = '';
				break;
			case 'newZealand':
				$LINK = array ('auckland','tekapo','cook','queenstown','milford','haastPass');
				$COLORS='#B97118';
				$GMAP = 'https://maps.google.com/maps?f=d&source=embed&saddr=Christchurch,+Canterbury,+Nouvelle-Z%C3%A9lande&daddr=Tekapo,+Canterbury,+Nouvelle-Z%C3%A9lande+to:Mount+Cook+National+Park,+Canterbury,+Nouvelle-Z%C3%A9lande+to:State+Highway+8,+Alexandra,+Otago,+Nouvelle-Z%C3%A9lande+to:Dunedin,+Otago,+Nouvelle-Z%C3%A9lande+to:Queenstown,+Otago,+Nouvelle-Z%C3%A9lande+to:Milford+Sound,+New+Zealand+to:Wanaka,+New+Zealand+to:Southern+Alps+Media,+Southern+Alps+Media,+695+Aubrey+Rd,+Wanaka+9343,+Nouvelle-Z%C3%A9lande+to:Haast+Pass+to:Greymouth,+West+Coast,+Nouvelle-Z%C3%A9lande+to:Christchurch,+Nouvelle-Z%C3%A9lande&hl=fr&geocode=FerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ%3BFXljYv0dfB8qCim31PesCZkrbTHA2GSrhu8AKg%3BFWLMZv0dfv8lCiFgWFxlh-8ADyntspyr4cUrbTFgWFxlh-8ADw%3BFWloTf0dgbEYCilri_vT3UgqqDFpox-JNLWbTw%3BFRjyQ_0djqopCik9UV8P4OQrqDFBmXmEhu8ABQ%3BFQbhUP0ddJYNCilf3qjX8R3VqTEApnmEhu8ABQ%3BFYbTVv0dJOkBCinhSUu6TeDVqTEA3mSrhu8AKg%3BFTPiVf0dQsAUCilvLey5HUbVqTHgwXmEhu8ABQ%3BFXBBVv0dIkIVCik1K2EDBU_VqTEsiDsybb6qgA%3BFWAWX_0dcBMYCikxSDxKRmLVbDENhi9khLXo6Q%3BFShCeP0dCng0CilTENVN2T8vbTGgcnmEhu8ABQ%3BFerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ&aq=0&oq=chr&sll=-43.133061,171.606445&sspn=4.690365,10.821533&mra=ls&ie=UTF8&ll=-43.133061,171.606445&spn=3.681025,4.905224&t=m&dg=feature';
				break;
			case 'australia':
				$LINK = array ('sydney','bluemountains','melbourne','brisbane','barrier');
				$COLORS='#C24B0B';
				$GMAP = 'https://goo.gl/maps/JdgSo';
				break;
			case 'asia':
				$LINK = array ('singapore','indonesia','thailand','cambodia','vietnam','china','nepal','india','uae');
				$COLORS='#DDDD00';
				$GMAP = 'https://goo.gl/maps/8X5Fp';
				break;
			case 'indonesia':
				$LINK = array ('bali','giliIslands','komodo','borobudur','bromo');
				$COLORS='#367A2A';
				$GMAP = '';
				break;
			case 'indochina':
				$LINK = array ('bangkok','angkor','phnomPenh','hochiminh','hanoi','halongbay');
				$COLORS='#00ff00';
				$GMAP = 'https://goo.gl/maps/8X5Fp';
				break;
			case 'china':
				$LINK = array ('sichuan','jiuzhaigou','guilin','mountHuang','beijing','wall','zhangye','lhasa','potala','tibetan','everest');
				$COLORS='#ACDE08';
				$GMAP = 'https://maps.google.com/maps?ll=30.997251,106.484198&z=4&t=h&hl=fr&gl=US&mapclient=embed&saddr=Pingxiang,+Chongzuo,+Guangxi,+Chine&daddr=Yunnan,+Chine+to:Sichuan,+Chine+to:Vall%C3%A9e+de+Jiuzhaigou,+Jiuzhaigou,+Sichuan,+Chine+to:Guilin,+Guangxi,+Chine+to:Tianzi+Mountain+to:Mt+Huangshan+to:Zhejiang,+Chine+to:Panjin,+Liaoning,+Chine+to:Zhangye,+Gansu,+Chine+to:Lhassa,+R%C3%A9gion+autonome+du+Tibet,+Chine&dg=feature';
				break;
			case 'tibet':
				$LINK = array ('lhasa','tibetan','everest');
				$COLORS='#C5DA07';
				$GMAP = '';
				break;
			case 'nepal':
				$LINK = array ('everest2','kathmandu');
				$COLORS='#C5D955';
				$GMAP = 'https://www.google.com/maps/preview?ll=26.834994,79.636975&z=4&t=m&hl=fr&gl=US&mapclient=embed&saddr=Katmandou,+N%C3%A9pal&daddr=Gorakhpur,+Uttar+Pradesh,+Inde+to:Varanasi,+Uttar+Pradesh,+Inde+to:Calcutta,+Bengale-Occidental,+Inde+to:Bombay,+Maharashtra,+Inde+to:Udaipur,+Rajasthan,+Inde+to:Jaisalmer,+Rajasthan,+Inde+to:26.1167418,+72.8951152+to:New+Delhi,+Delhi,+Inde+to:Leh';
				break;
			case 'india':
				$LINK = array ('varanasi','kolkata','rajasthan','agra','ladakh','newDelhi');
				$COLORS='#DDC631';
				$GMAP = 'https://www.google.com/maps/preview?ll=26.834994,79.636975&z=4&t=m&hl=fr&gl=US&mapclient=embed&saddr=Katmandou,+N%C3%A9pal&daddr=Gorakhpur,+Uttar+Pradesh,+Inde+to:Varanasi,+Uttar+Pradesh,+Inde+to:Calcutta,+Bengale-Occidental,+Inde+to:Bombay,+Maharashtra,+Inde+to:Udaipur,+Rajasthan,+Inde+to:Jaisalmer,+Rajasthan,+Inde+to:26.1167418,+72.8951152+to:New+Delhi,+Delhi,+Inde+to:Leh';
				break;
			case 'uae':
				$LINK = array ('dubai');
				$COLORS='#E6C801';
				$GMAP = '';
				break;
			case 'thailand':
				$LINK = array ('bangkok');
				$COLORS='#068918';
				$GMAP = 'https://goo.gl/maps/8X5Fp';
				break;
			case 'cambodia':
				$LINK = array ('angkor','phnomPenh');
				$COLORS='#41AE4C';
				$GMAP = 'https://goo.gl/maps/8X5Fp';
				break;
			case 'vietnam':
				$LINK = array ('hochiminh','hanoi','halongbay');
				$COLORS='#169200';
				$GMAP = 'https://goo.gl/maps/3aaMF';
				break;
			default:
				$LINK = array ('lost');
				$COLORS='#bbbbbb';
				$GMAP = "http://planificateur.a-contresens.net/itineraire/1733#.U_-L_Pl_v9V";
				break;
		}
	}else{ 
		$LINK = array ('southAmerica', 'oceania', 'asia');
		$COLORS='#777777';
		$COLORS_TAB = array ('#009bd3', '#D48D09', '#DDDD00');
	} 


	if(isset($_COOKIE['lang'])) {
 		$lang = $_COOKIE['lang'];
 		 
	} else {
		$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); 
 	}
	 
   	if ($lang=='fr') {   
 	     require("destination/destination_fr.php");
	 } else  {     
 	     require("destination/destination_en.php");
	 } 
	
?>
<?php
if (isset($_GET['dest'])) {
    switch (htmlspecialchars($_GET['dest'])) {
        case 'rio':
            header('Location: https://www.triposo.com/loc/Rio_de_Janeiro');
            break;
        case 'sao':
            header('Location: https://www.triposo.com/loc/SC3A3o_Paulo');
            break;
        case 'iguazu':
            header('Location: http://www.triposo.com/loc/Iguazu_Falls');
            break;
        case 'ibera':
            header('Location: https://www.triposo.com/loc/Colonia_Carlos_Pellegrini');
            break;
        case 'resistencia':
            header('Location: http://www.triposo.com/loc/Resistencia2C_Chaco');
            break;
        case 'salta':
            header('Location: http://www.triposo.com/loc/Salta');
            break;
        case 'trinidad':
            header('Location: http://www.triposo.com/loc/Trinidad2C_Paraguay');
            break;
        case 'uyuni':
            header('Location: http://www.triposo.com/loc/Uyuni');
            break;
        case 'potosi':
            header('Location: http://www.triposo.com/loc/PotosC3AD');
            break;
        case 'lapaz':
            header('Location: http://www.triposo.com/loc/La_Paz');
            break;
        case 'routeDeLaMort':
            header('Location: http://en.wikipedia.org/wiki/Yungas_Road');
            break;
        case 'machupicchu':
            header('Location: http://www.triposo.com/loc/Machu_Picchu');
            break;
        case 'cusco':
            header('Location: http://www.triposo.com/loc/Cusco');
            break;
        case 'nazca':
            header('Location: http://www.triposo.com/loc/Nazca/Understand');
            break;
        case 'lima':
            header('Location: http://www.triposo.com/loc/Lima');
            break;
        case 'santiago':
            header('Location: http://www.triposo.com/loc/Santiago');
            break;
        case 'auckland':
            header('Location: http://www.triposo.com/loc/Auckland');
            break;
        case 'tekapo':
            header('Location: https://www.triposo.com/loc/Lake_Tekapo_28town29');
            break;
        case 'cook':
            header('Location: http://www.triposo.com/poi/N__60598015');
            break;
        case 'queenstown':
            header('Location: http://www.triposo.com/loc/Queenstown2C_New_Zealand');
            break;
        case 'milford':
            header('Location: http://www.triposo.com/loc/Milford_Sound');
            break;
        case 'haastPass':
            header('Location: http://www.triposo.com/loc/Haast2C_New_Zealand');
            break;
        case 'sydney':
            header('Location: http://www.triposo.com/loc/Sydney');
            break;
        case 'bluemountains':
            header('Location: https://www.triposo.com/loc/Blue_Mountains_National_Park');
            break;
        case 'melbourne':
            header('Location: http://www.triposo.com/loc/Melbourne');
            break;
        case 'brisbane':
            header('Location: http://www.triposo.com/loc/Brisbane');
            break;
        case 'barrier':
            header('Location: http://www.triposo.com/loc/Belize_Barrier_Reef');
            break;
        case 'singapore':
            header('Location: http://www.triposo.com/loc/Singapore');
            break;
            case 'bali':
            header('Location: http://www.triposo.com/loc/Bali');
            break;
        case 'giliIslands':
            header('Location: http://www.triposo.com/loc/Gili_Islands');
            break;
        case 'komodo':
            header('Location: http://en.wikipedia.org/wiki/Komodo_dragon');
            break;
        case 'borobudur':
            header('Location: http://en.wikipedia.org/wiki/Borobudur');
            break;
        case 'bromo':
            header('Location: http://www.triposo.com/poi/T__41d80a583c8d');
            break;
        case 'bangkok':
            header('Location: http://www.triposo.com/loc/Bangkok');
            break;
        case 'angkor':
            header('Location: http://www.triposo.com/loc/Angkor');
            break;
        case 'phnomPenh':
            header('Location: http://www.triposo.com/loc/Phnom_Penh');
            break;
        case 'hochiminh':
            header('Location: http://www.triposo.com/loc/Ho_Chi_Minh_City');
            break;
        case 'hanoi':
            header('Location: http://www.triposo.com/loc/Hanoi');
            break;
        case 'halongbay':
            header('Location: http://www.triposo.com/loc/Ha_Long');
            break;
        case 'sichuan':
            header('Location: http://www.triposo.com/poi/T__f3aaf429e35a');
            break;
        case 'jiuzhaigou':
            header('Location: http://www.triposo.com/loc/Jiuzhaigou_Valley');
            break;
        case 'guilin':
            header('Location: http://www.triposo.com/loc/Guilin');
            break;
         case 'mountHuang':
            header('http://www.triposo.com/loc/Wuhan');
            break;    
        case 'beijing':
            header('Location: http://www.triposo.com/loc/Beijing');
            break;
        case 'wall':
            header('Location: http://www.triposo.com/loc/Great_Wall_of_China');
            break;
        case 'zhangye':
            header('Location: http://www.triposo.com/loc/Zhangye');
            break;
        case 'lhasa' :
            header('Location: http://www.triposo.com/loc/Lhasa');
            break;
        case 'tibetan':
            header('Location: http://www.tibetdiscovery.com/tibet-landscape/');
            break;
        case 'everest':
            header('Location: http://www.triposo.com/loc/Mount_Everest');
            break;
        case 'everest2':
            header('Location: http://www.triposo.com/loc/Mount_Everest');
            break;
        case 'kathmandu':
            header('Location: http://www.triposo.com/loc/Kathmandu');
            break;
        case 'varanasi':
            header('Location: http://www.triposo.com/loc/Varanasi');
            break;
        case 'kolkata':
            header('Location: http://www.triposo.com/loc/Kolkata');
            break;
        case 'rajasthan':
            header('Location: http://fr.wikipedia.org/wiki/Rajasthan');
            break;
        case 'agra':
            header('Location: http://www.triposo.com/loc/Agra');
            break;
        case 'ladakh':
            header('Location: http://www.triposo.com/loc/Ladakh');
            break;
        case 'newDelhi':
            header('Location: http://www.triposo.com/loc/New_Delhi');
            break;
        case 'dubai':
            header('Location: http://www.triposo.com/loc/Dubai');
            break;
        case 'collect':
            header('Location: http://www.workingabroadmagazine.com/jobs-abroad/australia-jobs/cool-jobs-australia-for-non-australians/');
            break;
        default:

            break;
    }
} else {

} 
?>

<?php require("w/0fonctions.php");
      require("w/1head.php");
?>
</head>

<!--
<!DOCTYPE html>
<html>
<head>-->
  <title>Destinations map</title>
  <link rel="stylesheet" href="css/jquery-jvectormap-1.2.2.css" type="text/css" media="screen"/>
  <script src="js/jquery-1.8.2.js"></script>
  <script src="js/jquery-jvectormap-1.2.2.min.js"></script>
  <script src="js/jquery-jvectormap-world-mill-en.js"></script>
  <script src="js/url-map1.js"></script>
</head>
<!-- <body> -->


<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
<?php require("w/2lightbox.php");?>
<?php require("w/4headerScroller.php");?>

<div class="text-align">
  <div id="d-map" style="width: 900px; height: 600px; text-align: center ;margin-left: auto;  margin-right: auto;"></div>
</div>
  <script>
      

	  
	  $(function() {
			$('#d-map').vectorMap({
				hoverOpacity: 0.7, // opacity for :hover
				hoverColor: false,
				markerStyle: {
				  initial: {
				  // Couleur des marqueurs
					r: '2',
					fill: '#FF2F2F',
					stroke: '#000000'
				  }
				},
				
								markers: [
								// Definition des marqueurs (y compris liens url)
				  {latLng: [48.69, 2.09], name: 'Paris', weburl : "http://www.recontact.me/destinations.php"},
				  {latLng: [-22.65, -43.67], name: 'Rio de Janeiro', weburl : "http://www.recontact.me/destination.php?dest=rio"},
				  {latLng: [-23.85, -46.89], name: 'São Paulo', weburl : "http://www.recontact.me/destination.php?dest=sao"},
				  {latLng: [-25.47, -54.60], name: 'Iguazu Falls', weburl : "http://www.recontact.me/destination.php?dest=iguazu"},
				  {latLng: [-27.20, -55.89], name: 'Trinidad', weburl : "http://www.recontact.me/destination.php?dest=trinidad"},
				  {latLng: [-25.26, -57.67], name: 'Asunción', weburl : "http://www.recontact.me/destination.php?dest=asuncion"},
				  {latLng: [-28.10, -57.62], name: 'Esteros del Iberá', weburl : "http://www.recontact.me/destination.php?dest=ibera"},
				{latLng: [-27.20, -58.96], name: 'Resistencia', weburl : "http://www.recontact.me/destination.php?dest=resistencia"},
				{latLng: [-24.26, -65.40], name: 'Salta', weburl : "http://www.recontact.me/destination.php?dest=salta"},
				{latLng: [-20.63, -66.75], name: 'Uyuni', weburl : "http://www.recontact.me/destination.php?dest=uyuni"},
				{latLng: [-19.06, -65.76], name: 'Potosi', weburl : "http://www.recontact.me/destination.php?dest=potosi"},
				{latLng: [-16.35, -68.47], name: 'La Paz', weburl : "http://www.recontact.me/destination.php?dest=lapaz"},
				{latLng: [-15.62, -67.65], name: 'Death road', weburl : "http://www.recontact.me/destination.php?dest=routeDeLaMort"},
				{latLng: [-13.72, -71.69], name: 'Cusco', weburl : "http://www.recontact.me/destination.php?dest=Cusco"},
				{latLng: [-13.20, -72.74], name: 'Machu Picchu', weburl :"http://www.recontact.me/destination.php?dest=machupicchu"},
				{latLng: [-14.60, -75.14], name: 'Nazca Lines', weburl : "http://www.recontact.me/destination.php?dest=nazca"},
				{latLng: [-11.65, -77.38], name: 'Lima', weburl : "http://www.recontact.me/destination.php?dest=lima"},
				{latLng: [-33.48, -70.87], name: 'Santiago de Chile', weburl : "http://www.recontact.me/destination.php?dest=santiago"},
				{latLng: [-36.87, 174.74], name: 'Auckland', weburl : "http://www.recontact.me/destination.php?dest=auckland"},
				{latLng: [-43.71, 170.84], name: 'Tekapo Lake', weburl : "http://www.recontact.me/destination.php?dest=tekapo"},
				{latLng: [-43.09, 170.84], name: 'Mount Cook', weburl : "http://www.recontact.me/destination.php?dest=cook"},
				{latLng: [-45.05, 168.67], name: 'Queenstown', weburl : "http://www.recontact.me/destination.php?dest=queenstown"},
				{latLng: [-46.26, 167.92], name: 'Milford Sound', weburl : "http://www.recontact.me/destination.php?dest=milford"},
				{latLng: [-44.08, 169.35], name: 'Haast Pass', weburl : "http://www.recontact.me/destination.php?dest=haastPass"},
				{latLng: [-34.35, 150.75], name: 'Sydney', weburl : "http://www.recontact.me/destination.php?dest=sydney"},
				{latLng: [-34.01, 146.55], name: 'Blue Montains', weburl : "http://www.recontact.me/destination.php?dest=bluemountains"},
				{latLng: [-37.69, 145.13], name: 'Melbourne', weburl : "http://www.recontact.me/destination.php?dest=melbourne"},
				{latLng: [-27.13, 152.84], name: 'Brisbane', weburl : "http://www.recontact.me/destination.php?dest=brisbane"},
				{latLng: [-18.03, 148.03], name: 'Great Barrier Reef', weburl : "http://www.recontact.me/destination.php?dest=barrier"},
				{latLng: [1.49, 103.43], name: 'Singapore', weburl : "http://www.recontact.me/destination.php?dest=singapore"},
				{latLng: [-8.39, 115.35], name: 'Bali', weburl : "http://www.recontact.me/destination.php?dest=bali"},
				{latLng: [-8.61, 116.92], name: 'Gili Islands', weburl : "http://www.recontact.me/destination.php?dest=giliIslands"},
				{latLng: [-7.34, 110.11], name: 'Borobudur', weburl : "http://www.recontact.me/destination.php?dest=borobudur"},
				{latLng: [-7.87, 112.80], name: 'Mount Bromo', weburl : "http://www.recontact.me/destination.php?dest=bromo"},		
				{latLng: [13.82, 100.67], name: 'Bangkok', weburl : "http://www.recontact.me/destination.php?dest=bangkok"},
				{latLng: [13.31, 104.56], name: 'Angkor', weburl : "http://www.recontact.me/destination.php?dest=angkor"},
				{latLng: [11.39, 104.49], name: 'Phnom-Penh', weburl : "http://www.recontact.me/destination.php?dest=phnomPenh"},
				{latLng: [10.50, 106.66], name: 'Hô Chi Minh', weburl : "http://www.recontact.me/destination.php?dest=hochominh"},
				{latLng: [21.16, 105.46], name: 'Hà Noi', weburl : "http://www.recontact.me/destination.php?dest=hanoi"},
				{latLng: [20.51, 106.89], name: 'Halong Bay', weburl : "http://www.recontact.me/destination.php?dest=halongbay"},
				{latLng: [29.65, 103.97], name: 'Sichuan', weburl : "http://www.recontact.me/destination.php?dest=sichuan"},
				{latLng: [34.90, 104.19], name: 'Jiuzhaigou valley',weburl : "http://www.recontact.me/destination.php?dest=jiuzhaigou"},
				{latLng: [26.11, 108.61], name: 'Guilin', weburl : "http://www.recontact.me/destination.php?dest=guilin"},
				{latLng: [39.77, 116.10], name: 'Beijing', weburl : "http://www.recontact.me/destination.php?dest=beijing"},
				{latLng: [40.97, 116.77], name: 'Great Wall of China', weburl : "http://www.recontact.me/destination.php?dest=wall"},
				{latLng: [39.96, 99.62], name: 'Zhangye', weburl : "http://www.recontact.me/destination.php?dest=zhangye"},
				{latLng: [30.67, 90.26], name: 'Lhassa', weburl : "http://www.recontact.me/destination.php?dest=lhasa"},
				{latLng: [30.47, 91.01], name: 'Potala Palace', weburl : "http://www.recontact.me/destination.php?dest=potala"},
				{latLng: [27.99, 86.74], name: 'Mount Everest', weburl : "http://www.recontact.me/destination.php?dest=everest"},
				{latLng: [27.79, 85.02], name: 'Kahtmandu', weburl : "http://www.recontact.me/destination.php?dest=kathmandu"},
				{latLng: [25.06, 83.82], name: 'Varanasi', weburl : "http://www.recontact.me/destination.php?dest=varanasi"},
				{latLng: [22.44, 87.27], name: 'Calcutta', weburl : "http://www.recontact.me/destination.php?dest=kolkata"},
				{latLng: [25.65, 78.43], name: 'Taj Mahal - Agra', weburl : "http://www.recontact.me/destination.php?dest=agra"},
				{latLng: [28.75, 77.83], name: 'New Delhi', weburl : "http://www.recontact.me/destination.php?dest=newDelhi"},
				{latLng: [23.86, 76.63], name: 'Rajasthan', weburl : "http://www.recontact.me/destination.php?dest=rajasthan"},
				{latLng: [33.24, 76.71], name: 'Leh Ladakh', weburl : "http://www.recontact.me/destination.php?dest=ladakh"}
				  ],
				onRegionClick: function(event, code){
                        //Destinations du trajet - Liens url
						if (code == "FR") {window.location.href = 'http://www.recontact.me'}
                        if (code == "BR") {window.location = 'http://www.recontact.me/destination.php?dest=brazil'}
                        if (code == "PY") {window.location = 'http://www.recontact.me/destination.php?dest=paraguay'}
                        if (code == "AR") {window.location = 'http://www.recontact.me/destination.php?dest=argentina'}
                        if (code == "BO") {window.location = 'http://www.recontact.me/destination.php?dest=bolivia'}
                        if (code == "PE") {window.location = 'http://www.recontact.me/destination.php?dest=peru'}
                        if (code == "CL") {window.location = 'http://www.recontact.me/destination.php?dest=chile'}
                        if (code == "NZ") {window.location = 'http://www.recontact.me/destination.php?dest=newZealand'}
                        if (code == "AU") {window.location = 'http://www.recontact.me/destination.php?dest=australia'}
                        if (code == "SG") {window.location = 'http://www.recontact.me/destination.php?dest=singapore'}
                        if (code == "ID") {window.location = 'http://www.recontact.me/destination.php?dest=indonesia'}
                        if (code == "TH") {window.location = 'http://www.recontact.me/destination.php?dest=thailand'}
                        if (code == "KH") {window.location = 'http://www.recontact.me/destination.php?dest=cambodia'}
                        if (code == "VN") {window.location = 'http://www.recontact.me/destination.php?dest=vietnam'}
                        if (code == "CN") {window.location = 'http://www.recontact.me/destination.php?dest=china'}
                        if (code == "NP") {window.location = 'http://www.recontact.me/destination.php?dest=nepal'}
						if (code == "IN") {window.location = 'http://www.recontact.me/destination.php?dest=india'}
						if (code == "AE") {window.location = 'http://www.recontact.me/destination.php?dest=uae'}
						if (code == "SA") {window.location = 'http://www.recontact.me/destination.php?dest=uae'}
                        //Autres pays => pour faire apparaitre les pages continent - Liens url
                        if (code == "CO") {window.location = 'http://www.recontact.me/destination.php?dest=southAmerica'}
                        if (code == "UY") {window.location = 'http://www.recontact.me/destination.php?dest=southAmerica'}
                        if (code == "VE") {window.location = 'http://www.recontact.me/destination.php?dest=southAmerica'}
                        if (code == "GY") {window.location = 'http://www.recontact.me/destination.php?dest=southAmerica'}
                        if (code == "FK") {window.location = 'http://www.recontact.me/destination.php?dest=southAmerica'}
                        if (code == "PG") {window.location = 'http://www.recontact.me/destination.php?dest=oceania'}
                        if (code == "NC") {window.location = 'http://www.recontact.me/destination.php?dest=oceania'}
                        if (code == "FJ") {window.location = 'http://www.recontact.me/destination.php?dest=oceania'}
                        if (code == "RU") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
                        if (code == "IR") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
                        if (code == "TR") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
                        if (code == "MN") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
                        if (code == "JP") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
                        if (code == "KZ") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
                        if (code == "PK") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
                        if (code == "AF") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
                        if (code == "UZ") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
                        if (code == "MM") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
                        if (code == "MY") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
                        if (code == "IQ") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
						if (code == "LA") {window.location = 'http://www.recontact.me/destination.php?dest=asia'}
                                               
				},
				onMarkerClick: function(events, index) {
					$(location).attr('href', markers[index].weburl);
				},
				series: {
				  regions: [{
					values: {
					// Couleur des pays
						FR:'#FF4E4E',
						BR:'#18A7C4', //Am sud
						PY:'#1F64FB', //Am sud
						AR:'#33B9EE', //Am sud
						BO:'#5A78FD', //Am sud
						PE:'#1FDCCD', //Am sud
						CL:'#2B1FDC', //Am sud
						NZ:'#FC9920', //Oceanie
						AU:'#F55E0D', //Oceanie
						SG:'#2A970F', //Asie du SE
						ID:'#429833', //Asie du SE
						TH:'#068918', //Asie du SE
						KH:'#5EFD6D', //Asie du SE
						VN:'#1EAF04', //Asie du SE
						CN:'#C6FF07', //Asie
						NP:'#DDF45E', //Asie
						IN:'#FCE237',  //Asie  
						AE:'#FFDD01'
						
						
					}
				  }]
				}
				
				
			});
		});
    </script>
<div class="vide">
</div>

<?php require("w/8footer.php");?>
<?php require("w/9end.php");?>

<!-- 
</body>
</html>
 -->

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg>
<metadata>
Created by FontForge 20110222 at Thu May 22 10:11:21 2014
 By deploy user
Generated by Fontographer 4.0
</metadata>
<defs>
<font id="Angelina" horiz-adv-x="2576" >
  <font-face 
    font-family="Angelina"
    font-weight="400"
    font-stretch="normal"
    units-per-em="2100"
    panose-1="0 0 4 0 0 0 0 0 0 0"
    ascent="1680"
    descent="-420"
    x-height="644"
    cap-height="1205"
    bbox="-505 -835 1691.13 1364"
    underline-thickness="20"
    underline-position="-123"
    unicode-range="U+0020-F002"
  />
<missing-glyph horiz-adv-x="1050" 
d="M131 0v1300h788v-1300h-788zM263 131h525v1038h-525v-1038z" />
    <glyph glyph-name=".notdef" horiz-adv-x="1050" 
d="M131 0v1300h788v-1300h-788zM263 131h525v1038h-525v-1038z" />
    <glyph glyph-name=".null" horiz-adv-x="0" 
 />
    <glyph glyph-name="nonmarkingreturn" horiz-adv-x="544" 
 />
    <glyph glyph-name="space" unicode=" " horiz-adv-x="544" 
 />
    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="418" 
d="M280 91q-12 -9 -42 4q-60 25 -104 117q-36 75 -41 141q-3 27 -3 67q0 195 38 416q43 253 97 253q18 0 34.5 -16.5t16.5 -34.5q0 -6 -2 -11q-90 -246 -90 -610q0 -220 87 -283q29 -28 9 -43zM215 -137q-62 0 -62 46q0 56 64 56q67 0 67 -52q0 -17 -26 -33.5t-43 -16.5z
" />
    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="426" 
d="M228 592q-13 -9 -25 -9q-25 0 -25 23q0 17 19 32q56 43 56 169q0 25 -4 48q-2 16 22 34t47 18q38 0 38 -55q0 -59 -37 -137q-39 -83 -91 -123zM95 592q-13 -9 -25 -9q-25 0 -25 23q0 17 19 32q56 43 56 169q0 25 -4 48q-2 16 21.5 34t47.5 18q38 0 38 -55q0 -59 -37 -137
q-39 -83 -91 -123z" />
    <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="1362" 
d="M680 113q-3 -31 -27 -31q-35 0 -29 46q29 239 184 598q161 374 321 544q11 13 29 12v0q26 0 41 -20q17 -22 -2 -42q-155 -166 -322.5 -526t-194.5 -581zM1322 884q-2 -38 -32 -38q-5 0 -10 1q-142 36 -383 36q-232 0 -463 -33q-239 -33 -373 -88q-9 -4 -17 -4
q-26 0 -26 25q0 24 29 36q153 62 411.5 103t496.5 41q206 0 335 -32q33 -8 32 -47zM1331 570q-1 -38 -32 -38q-5 0 -10 1q-142 36 -382 36q-232 0 -463 -32q-240 -34 -374 -89q-9 -3 -17 -3q-26 0 -26 25q0 24 29 35q153 63 411.5 104t497.5 41q205 0 335 -33q32 -8 31 -47z
M281 44q-3 -31 -27 -31q-35 0 -29 46q28 240 184 598q161 374 321 544q11 13 29 13v0q26 0 41 -21q17 -22 -2 -42q-155 -166 -322.5 -526t-194.5 -581z" />
    <glyph glyph-name="dollar" unicode="$" horiz-adv-x="547" 
d="M457 1094q-6 0 -39 17.5t-51 19.5q-17 1 -45 -9q-35 -144 -58 -319q215 -18 215 -154q0 -85 -77 -160q-67 -65 -164 -99q2 -90 13 -153q6 -37 -22 -37q-26 0 -32 34q-10 60 -14 141q-30 -5 -56 -5q-50 0 -93 30q-50 36 -50 92q0 23 20 54q23 35 49 35q8 0 15 -2
q-5 -35 -14 -54q-5 -11 -5 -23q0 -45 55 -45q30 0 76 12q-2 126 7 263l-83 4q-47 2 -93 19q-61 25 -61 65q0 74 100 191q96 112 203 172q21 90 47 153q9 22 38 22v0q21 0 35.5 -13t6.5 -33q-16 -40 -32 -92q10 1 21 1q29 0 72 -23q51 -27 51 -61q0 -43 -35 -43zM193 806
q13 142 36 266q-72 -51 -123 -113q-55 -67 -55 -113q0 -41 142 -40zM296 728l-40 2q-14 -128 -17 -243q173 65 173 149q0 42 -41 68q-34 23 -75 24z" />
    <glyph glyph-name="percent" unicode="%" horiz-adv-x="895" 
d="M601 940q28 -4 99 -4q25 0 44 2q66 57 123 96q12 8 27 8v0q33 0 44 -25q13 -28 -25 -58q-33 -25 -94 -73q-232 -185 -496 -516q-258 -325 -353 -543q-11 -26 -31 -26q-27 0 -27 33q0 12 6 24q88 205 308 502.5t440 506.5q-42 3 -76 11q-48 -160 -141 -181q-16 -3 -31 -3
q-87 0 -87 103q0 62 39.5 138t72.5 76q34 0 34 -30q0 -9 -16 -30q-61 -80 -61 -149q0 -52 21 -52q66 0 111 147q-80 34 -76 98q4 56 61 56q81 0 84 -111zM396 -62q-17 -4 -31 -4q-87 0 -87 103q0 63 39.5 139t72.5 76q34 0 34 -31q0 -2 -38.5 -62t-38.5 -117q0 -51 21 -51
q40 0 83 80q38 72 38 115q0 54 -22 54q-20 0 -51 -29l-13 8q-10 6 -10 19q0 16 33 34q28 15 41 15q79 0 81 -108q1 -51 -39 -131q-49 -96 -113 -110zM542 955q-4 45 -21 45q-11 2 -11 -2q0 -30 32 -43z" />
    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="1062" 
d="M709 322q-57 -12 -169 -44q-66 -26 -66 -68q0 -10 14 -36.5t14 -38.5q0 -28 -27 -28q-11 0 -31 37q-30 52 -30 73q0 90 125 139q116 37 231 73q125 49 125 138q0 58 -58 92t-58 45q0 29 36 29q46 0 99 -55q58 -60 58 -125q0 -103 -86 -162q-57 -40 -177 -69zM362 -115
q-103 13 -197 94q-105 90 -105 197q0 46 21 90q46 97 136 172q84 70 170 93q-177 81 -177 207q0 44 22 91q81 173 310 173q22 0 43 -2q55 -5 134 -50q95 -54 95 -110q1 -17 -18 -33.5t-40 -16.5q-22 0 -34 21q-66 123 -204 123q-156 0 -211 -115q-12 -27 -12 -52
q0 -70 98 -133q5 -3 159 -81q12 -6 61.5 -6t67.5 -8q38 -15 38 -51t-44 -36q-8 0 -17 2q-72 12 -100 12q-81 -1 -88 0q-67 3 -170 -57q-114 -67 -155 -153q-18 -38 -18 -73q0 -83 91 -145q79 -55 182 -69q32 -4 63 -4v0q167 0 257 104q100 114 42 299q-2 7 -2 13v0
q0 24 22 21q22 -4 35 -40q28 -79 28 -148v0q0 -176 -163 -269q-144 -83 -320 -60z" />
    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="284" 
d="M106 592q-12 -9 -25 -9q-24 0 -24 23q0 17 18 32q56 43 56 169q0 25 -3 48q-3 16 21 34t48 18q38 0 38 -55q0 -59 -37 -137q-39 -83 -92 -123z" />
    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="465" 
d="M124 509q-27 -118 -27 -245q0 -324 199 -383q14 -22 14 -40v0q0 -46 -59 -33q-128 30 -190 193q-49 130 -49 321q0 143 24 249q38 163 118 311q93 171 206 245q9 6 18 6v0q26 0 39 -32q14 -33 -4 -53q-226 -263 -289 -539z" />
    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="463" 
d="M91 -189q-21 -14 -42 -14q-31 0 -31 22q0 10 9 20q224 262 300 589q27 118 27 245q0 324 -199 384q-14 22 -14 40v0q0 46 59 32q128 -29 190 -192q49 -130 49 -322q0 -143 -24 -248q-38 -164 -119 -312q-92 -171 -205 -244z" />
    <glyph glyph-name="asterisk" unicode="*" 
 />
    <glyph glyph-name="plus" unicode="+" 
 />
    <glyph glyph-name="comma" unicode="," horiz-adv-x="453" 
d="M116 -150q-44 -16 -44 21q0 22 28 32q36 14 69.5 70.5t43.5 121.5q5 32 63 32q45 0 44 -39q-2 -53 -66 -131q-67 -81 -138 -107z" />
    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="671" 
d="M569 370q-31 10 -68 35q-27 18 -45 21q-32 6 -67 6q-66 0 -306 -69q-13 -4 -21 -3q-49 9 -42 53q6 31 145 61q104 22 173 27q72 5 115 -2q48 -9 91 -32q61 -33 53 -75z" />
    <glyph glyph-name="period" unicode="." horiz-adv-x="305" 
d="M192 -19q-24 0 -47 16q-26 19 -26 46q0 52 54 52q78 0 78 -45q0 -69 -59 -69z" />
    <glyph glyph-name="slash" unicode="/" horiz-adv-x="895" 
d="M-30 -173q-11 -26 -31 -26q-27 0 -27 33q0 12 6 24q113 261 408 632q306 385 541 544q12 8 26 8v0q30 0 45 -27q16 -29 -12 -47q-231 -156 -542 -529q-309 -369 -414 -612z" />
    <glyph glyph-name="zero" unicode="0" horiz-adv-x="844" 
d="M292 -168q-150 0 -255 188q-84 149 -88 273q-6 243 57 439q92 282 310 353q12 4 35 -6q27 -12 27 -33q0 -44 -74 -64q-134 -34 -224 -288q-50 -142 -50 -320q0 -135 55 -275q80 -200 232 -200q159 0 268 230q84 174 98 353q2 27 2 57q0 171 -54 300q-67 159 -188 159
q-59 0 -91 -110q-13 -13 -26 -13q-14 0 -23 16t-5 33q13 66 72 106q49 33 100 33q141 0 229 -190q72 -156 72 -321q0 -236 -113 -453q-139 -267 -366 -267z" />
    <glyph glyph-name="one" unicode="1" horiz-adv-x="518" 
d="M214 956q-29 -7 -76 -77q-45 -66 -73 -66q-46 0 -46 40q0 41 99 123q96 79 135 79q28 0 52 -18q28 -21 28 -53q0 -22 -52 -210q-90 -325 -90 -603q0 -190 70 -190h85q25 0 65 -29q44 -32 44 -61l-4 -30q-32 4 -68 30q-24 16 -68 16q-90 0 -274 -92q-40 -20 -51 -20
q-42 0 -42 43q0 46 209 127q-43 71 -43 171v123q0 227 65 504q34 143 35 193z" />
    <glyph glyph-name="two" unicode="2" horiz-adv-x="895" 
d="M384 288q-102 -73 -281 -211q-121 -100 -121 -147q0 -9 28 -9q49 0 233 60q190 63 277 63q58 0 118 -31q77 -38 77 -100q0 -38 -44 -72h-51q27 64 27 69q0 49 -145 49q-91 0 -206 -41l-196 -78q-64 -23 -102 -23t-72 32.5t-34 70.5q0 75 136 197q54 48 285 224
q194 149 282 240q123 128 123 220q0 139 -158 139q-236 0 -543 -188q-62 -38 -73 -38q-55 0 -55 52q0 35 35 59q32 16 63 32q307 157 521 157q129 0 207 -57q89 -65 89 -194q0 -104 -135 -240q-89 -91 -285 -235z" />
    <glyph glyph-name="three" unicode="3" horiz-adv-x="944" 
d="M772 570q-64 -43 -238 -132q298 -21 298 -240q0 -153 -188 -284q-172 -121 -328 -121q-353 0 -456 266q-7 12 -7 23v0q0 24 19 30q20 7 34 -17q40 -100 145 -158q98 -54 214 -54q157 0 316 88q179 99 179 234q0 157 -329 157q-24 0 -177 -24q-30 -5 -44 -5q-39 0 -39 30
q0 46 67 66q43 9 129 33q170 58 320 154q200 129 200 241q0 73 -75 111q-66 33 -154 27q-183 -12 -341 -82q-104 -45 -157 -93q-16 -15 -40 -15q-53 0 -53 44q0 65 194 142q200 79 391 79q322 0 322 -221q0 -146 -202 -279z" />
    <glyph glyph-name="four" unicode="4" horiz-adv-x="906" 
d="M689 512l8 2q12 2 22 2q116 0 176 -100l-17 -59q-65 70 -168 70q-4 0 -41 -15q-26 -167 -26 -223v-180q0 -152 53 -183q33 -19 70 -56q-61 -12 -63 -12q-86 0 -129 124q-29 87 -29 192q0 56 17 160q18 108 19 158q-121 -30 -172 -45q-97 -29 -167 -63q-60 -23 -165 -67
q-76 -34 -94 -34q-62 0 -62 50q0 10 39 91q45 96 48 102q87 218 126 381q7 44 25 150q26 132 70 132q51 0 51 -68q0 -84 -87 -342q-84 -247 -150 -374q95 26 295 95q212 74 258 99q22 131 68 310q63 244 100 244q53 0 53 -51q0 -38 -63 -233q-57 -176 -65 -257z" />
    <glyph glyph-name="five" unicode="5" horiz-adv-x="916" 
d="M70 494q273 156 463 156q142 0 230 -55q99 -63 99 -185q0 -43 -13 -92q-58 -222 -307 -377q-222 -139 -429 -139q-188 0 -188 127q0 22 7 47q5 19 29 52q27 37 44 37q39 0 24 -52q-20 -14 -28 -44q-2 -11 -2 -20q0 -65 122 -65q180 0 385 135q217 143 262 315q8 30 8 59
q0 81 -59.5 130t-151.5 49q-173 0 -495 -186q-66 -38 -83 -38q-51 0 -51 34q0 23 45 95q92 147 147 357q3 9 8 29l-14 -8q-35 -20 -55 -20q-48 0 -48 40q0 6 1 11q11 40 184 111q142 58 215 74q120 27 255 27q62 0 100 -39q33 -33 33 -75q0 -45 -36 -52q-19 -3 -27 10.5
t-3 30.5q1 5 1 10q0 39 -99 39q-148 0 -405 -116q-50 -195 -148 -373q-14 -25 -20 -39z" />
    <glyph glyph-name="six" unicode="6" horiz-adv-x="777" 
d="M693 977q-10 0 -67 17q-52 16 -85 16q-84 0 -202 -130q-101 -111 -147 -216q-140 -317 -135 -489q7 -283 161 -283q70 0 170 94q88 82 131 164q94 180 91 303q-4 149 -126 149t-237 -163q-109 -155 -105 -287q1 -34 22.5 -74t21.5 -45q1 -33 -35 -33q-32 0 -58 68
q-21 54 -22 94q-4 172 116 333q130 174 302 174q99 0 153 -69q48 -61 51 -157q5 -186 -131 -394q-149 -230 -333 -230q-66 0 -123 36.5t-81 98.5q-42 108 -42 246q0 255 121 490q75 146 194 264q152 154 287 154q45 0 96 -20q64 -26 65 -67q2 -44 -53 -44z" />
    <glyph glyph-name="seven" unicode="7" horiz-adv-x="730" 
d="M608 990l-8 -1q-94 -10 -333 -23q-304 -8 -304 76q0 45 53 45q29 0 82 -15t79 -16q316 -11 553 23q51 8 51 -36q0 -15 -8 -32q-20 -9 -56 -28q-71 -40 -190 -199q-91 -121 -162 -243q-184 -314 -223 -563q-6 -34 -15 -110q-24 -25 -44 -25q-48 0 -48 76q0 208 206 567
q182 318 367 504z" />
    <glyph glyph-name="eight" unicode="8" horiz-adv-x="832" 
d="M538 433q111 -52 155 -108q36 -47 36 -107q0 -157 -162 -256q-133 -82 -278 -82q-230 0 -230 148q0 128 305 374q-48 21 -148 49.5t-148 50.5q-152 67 -152 158q0 97 172 212q137 91 341 168q181 69 248 69q90 0 148 -59.5t58 -148.5q0 -28 -25 -110q-32 -103 -67 -103
q-53 0 -53 42q0 24 37.5 84.5t37.5 105.5q0 102 -127 102q-152 0 -410 -133q-275 -142 -275 -255q0 -43 284 -124q36 -10 143 -46q5 -2 11 -4q17 0 111 87q82 75 105 103q15 17 15 31v0q0 -4 -4 23q-3 15 5 32q12 13 23 13q18 0 33 -29q12 -25 12 -46q0 -70 -185 -227z
M456 374q-23 0 -169 -144q-155 -152 -155 -205q0 -73 171 -73q85 0 212 80q144 89 144 185q0 43 -89 103q-82 54 -114 54z" />
    <glyph glyph-name="nine" unicode="9" horiz-adv-x="762" 
d="M537 59q-158 -294 -374 -294q-42 0 -103 29q-77 37 -77 86q0 30 24 30q16 0 30 -13q66 -62 117 -62q215 0 350 367q99 270 99 463q0 103 -29 202q-50 162 -157 162q-36 0 -133 -72q-102 -76 -160 -226q-50 -132 -50 -275q0 -183 120 -183q121 0 225 167q95 153 95 296
q0 93 -52 118q-16 7 -16 22v0q0 16 18 30t31 8q59 -29 78 -94q11 -40 11 -133q0 -136 -107 -297q-125 -189 -290 -189q-5 0 -16 4l-3 1q-105 0 -156 119q-34 81 -34 175q0 172 129 377q142 225 298 225q154 0 224 -173q52 -125 52 -312q0 -33 -2 -64q-16 -258 -142 -494z
" />
    <glyph glyph-name="colon" unicode=":" horiz-adv-x="299" 
d="M251 408q-24 0 -47 17q-26 19 -26 45q0 52 53 52q79 0 79 -45q0 -69 -59 -69zM187 -60q-25 0 -47 17q-26 19 -26 45q0 52 53 52q78 0 78 -44q0 -70 -58 -70z" />
    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="446" 
d="M340 430q-24 0 -47 17q-26 18 -26 45q0 52 53 52q79 0 79 -45q0 -69 -59 -69zM109 -190q-45 -17 -45 21q0 21 29 32q35 14 69 70.5t44 121.5q5 32 63 32q44 0 43 -39q-2 -53 -66 -131q-67 -81 -137 -107z" />
    <glyph glyph-name="less" unicode="&#x3c;" 
 />
    <glyph glyph-name="equal" unicode="=" 
 />
    <glyph glyph-name="greater" unicode="&#x3e;" 
 />
    <glyph glyph-name="question" unicode="?" horiz-adv-x="855" 
d="M619 580q-48 -38 -162 -119q-213 -151 -213 -220q0 -33 31 -37q54 -7 54 -33q0 -39 -48 -39q-49 0 -80.5 35.5t-31.5 82.5q0 82 148 207q138 106 275 212q148 120 148 193q0 134 -203 134q-108 0 -246 -67q-92 -44 -207 -124q-96 -67 -101 -67q-44 0 -44 48q0 51 168 147
q144 83 216 103q109 30 216 30q279 0 279 -208q0 -120 -199 -278zM254 -135q-62 0 -62 46q0 56 65 56q67 0 67 -52q0 -17 -28 -34q-24 -16 -42 -16z" />
    <glyph glyph-name="at" unicode="@" horiz-adv-x="1024" 
d="M543 -19q-192 0 -342 114q-167 127 -167 323q0 179 154 324q150 142 324 142q117 0 218 -76q111 -85 136 -221q5 -32 5 -65v0q0 -135 -72 -225q-78 -98 -188 -59q-63 23 -62 148q-176 -219 -278 -219q-56 0 -56 68q0 128 169.5 327.5t250.5 146.5q26 -17 26 -67
q0 -63 -44 -67q-19 -2 -29 9.5t-4 24.5q11 27 10 48q0 6 5 7q-57 -11 -192.5 -185t-135.5 -237q0 -21 19 -21q44 0 158 138q38 44 75 89q45 59 50 103q4 32 37 32q45 0 37 -43q-32 -161 -32 -193q0 -55 24 -62q10 -2 19 -2v0q66 0 109.5 95t21.5 204q-23 116 -104 183
q-75 61 -173 61q-149 0 -277.5 -126.5t-128.5 -281.5q0 -167 137 -277q128 -102 300 -102q140 0 235.5 75t95.5 186q0 40 -14 80q-2 7 -2 13v0q0 21 17 24q18 4 28 -18q32 -67 32 -129q0 -129 -126 -212q-114 -77 -266 -77z" />
    <glyph glyph-name="A" unicode="A" horiz-adv-x="1123" 
d="M988 -123q-181 1 -237 544q-19 2 -45 2q-92 0 -279 -43q-173 -39 -178 -51q-34 -84 -107 -252q-30 -78 -81 -206q-39 -96 -85 -96q-52 0 -52 58q0 25 158 334q40 79 57 119q-54 -21 -94 -48q-17 -11 -41 -11q-49 0 -49 50q0 35 98 71q65 21 130 43q24 52 57 121
q57 128 178 379q121 234 234 234q53 0 93 -68q26 -45 37 -94q29 -133 51 -457q196 -17 196 -137q0 -43 -35 -61q-45 -22 -45 29q0 5 10 32q0 54 -130 54q12 0 16 -23q65 -454 141 -454q16 0 31 11q21 17 28.5 20t14.5 3v0q36 2 36 -41q0 -28 -44 -47q-35 -16 -64 -15z
M714 826q-33 217 -83 217t-183 -280q-46 -97 -146 -333q240 69 443 84q-7 99 -31 312z" />
    <glyph glyph-name="B" unicode="B" horiz-adv-x="1171" 
d="M426 -141q-217 -29 -254 -29q-202 0 -202 136q0 86 69 129q30 0 35 -5q2 -2 12 -34q-44 -50 -44 -90q0 -46 132 -46q198 0 432 98q114 47 257 169q163 138 163 221q0 103 -203 103q-149 0 -302 -55q-7 -3 -123 -54q-92 -41 -112 -41q-58 0 -58 21q0 29 92 82
q483 274 483 473q0 48 -55 76q-48 24 -115 24q-285 0 -623 -314q-70 -65 -86 -65q-49 0 -49 54q0 38 122 135q329 261 625 261q279 0 279 -192q0 -131 -238 -330q75 14 153 14q97 0 180 -40q108 -53 108 -150q0 -167 -263 -357q-236 -170 -415 -194zM240 752
q-100 -191 -100 -532q0 -145 104 -175q16 -16 16 -30q0 -30 -47 -30q-74 0 -121 115q-37 90 -37 172q0 106 45 326q53 262 108 262q50 0 50 -52q0 -23 -18 -56z" />
    <glyph glyph-name="C" unicode="C" horiz-adv-x="849" 
d="M694 69q-77 -100 -194 -167q-127 -72 -247 -72q-138 0 -230 116q-84 105 -84 242v73q0 149 95 358q100 218 243 362q165 166 327 166q37 0 90 -26q63 -31 63 -67q0 -25 -20 -42.5t-43 -17.5q-5 0 -55 23t-84 23q-165 0 -352 -308q-174 -288 -174 -482q0 -137 43 -227
q54 -113 164 -113q93 0 215 71q181 105 311 350q21 40 45 40q23 0 33 -42q-5 -31 -66 -135q-53 -91 -80 -125z" />
    <glyph glyph-name="D" unicode="D" horiz-adv-x="1184" 
d="M491 -149q-100 0 -142 33q-9 7 -9 17q0 14 13.5 25.5t26.5 8.5q69 -14 70 -14q218 0 418 219q196 215 196 435q0 180 -146 290q-135 102 -328 102q-131 0 -277 -42q-151 -43 -253 -113t-115 -70q-58 0 -58 54q0 35 89 86q288 168 618 168q213 0 376 -125
q179 -137 179 -347q0 -255 -197 -485q-206 -242 -461 -242zM292 -144q-102 0 -156 201q-39 141 -39 278v134q0 71 26 207q31 166 67 166q54 0 54 -59q0 -29 -12 -73q-16 -62 -18 -71q-29 -157 -29 -286q0 -424 148 -424q19 0 40 7q-45 -80 -81 -80z" />
    <glyph glyph-name="E" unicode="E" horiz-adv-x="970" 
d="M759 900q-15 -1 -21 10t-5 24q2 13 2 24q0 36 -25 48q-20 9 -80 9q-162 0 -457 -104q-13 -5 -107 -68.5t-106 -63.5q-53 0 -53 53q0 46 214 138q147 63 280 105q45 14 217 37q17 2 35 2q67 0 114 -27q51 -32 51 -85q0 -36 -25 -78q-14 -24 -34 -24zM207 510q23 5 125 40
q78 26 125 26q149 0 172 -71l-9 -46q-40 -3 -61 25q-12 18 -71 18q-46 0 -156 -27q-123 -30 -130 -54q-12 -47 -8 -150l8 -160q2 -74 14 -106q22 -53 85 -53q66 0 212 38q152 40 233 40q67 0 122 -41q62 -48 62 -124l-44 -25q-47 106 -171 106q-73 0 -214 -35.5t-214 -35.5
q-113 0 -153 78q-27 51 -27 163q0 45 5 129q5 89 6 129q-51 -29 -67 -29q-44 0 -44 57q0 33 114 85q5 74 21 243q25 212 81 212q54 0 54 -64q0 2 -25 -107q-21 -94 -45 -261z" />
    <glyph glyph-name="F" unicode="F" horiz-adv-x="648" 
d="M867 935q-26 14 -26 51q0 59 -160 59q-76 0 -228 -38q-140 -36 -226 -72q-17 -8 -130 -72l-75 -42q-31 -18 -47 -22q-49 0 -49 51q0 52 105 93q484 192 670 192q74 0 132 -26q78 -36 78 -105q0 -60 -44 -69zM164 480q18 1 75 16q70 17 114 17q48 0 95 -15q66 -22 66 -65
l-25 -27q-32 4 -73 23q-29 13 -48 13q-40 0 -114 -12q-94 -15 -94 -34q0 -546 123 -526q7 1 11 1q43 0 43 -35q0 -16 -22 -28q-17 -10 -33 -10q-208 0 -211 550l-14 -7q-59 -32 -65 -32q-50 0 -50 44q0 42 50 66l86 30q10 62 18 158q16 177 17 185q24 140 80 140
q46 0 46 -51q0 -10 -13 -63q-35 -140 -41 -168q-20 -96 -21 -170z" />
    <glyph glyph-name="G" unicode="G" horiz-adv-x="1091" 
d="M971 -267q-150 0 -150 276q0 90 32 269q-125 -217 -233 -306q-148 -125 -368 -125q-153 0 -240 159q-70 128 -70 283q0 289 182 586q207 339 487 339q41 0 90 -24q59 -28 59 -66q0 -21 -14.5 -38t-32.5 -17q-9 0 -16 4q-63 38 -125 38q-106 0 -225 -117
q-140 -137 -228 -332q-90 -201 -90 -390q0 -122 55 -227q65 -123 166 -123q221 0 437 273q195 248 215 464q6 71 -23 71q-37 0 -376 -205q-69 -42 -84 -42q-47 0 -47 49q0 53 235 167q223 108 285 108q101 0 101 -121q0 -37 -11 -93q-5 -27 -14 -72q-51 -364 -51 -550
q0 -170 58 -163q51 7 51 -33q0 -42 -55 -42z" />
    <glyph glyph-name="H" unicode="H" horiz-adv-x="1270" 
d="M254 509q223 70 351 83q216 20 217 20q15 0 44 -3q35 -3 45 -3q16 150 60 316q59 219 116 219q44 0 44 -59q0 -28 -10 -63q-22 -54 -48 -128l-40 -148q-21 -86 -24 -151q61 -28 83 -47q39 -33 39 -86q0 -28 -19 -52t-40 -24q-25 0 -33 39l20 42q-7 31 -58 43
q-8 -28 0 -166q6 -109 10 -148q27 -216 98 -216q19 0 34 20h47q8 -32 8 -35q0 -25 -34 -43q-29 -17 -55 -17q-144 0 -187 255q-11 63 -21 360q-36 5 -135 5q-166 0 -514 -99q-9 -124 -54 -341q-58 -276 -206 -276q-24 0 -56 18q-41 22 -41 54q0 3 9 33h41q22 -33 40 -33
q92 0 141 231q29 135 35 280q-88 -45 -118 -45q-43 0 -43 46q0 37 58 61q13 5 90 26q7 -2 13 -3q4 78 3 108q-2 39 -7 209q-3 105 -44 267q-7 29 -7 50q0 63 56 63q42 0 70 -201q21 -150 21 -253q0 10 -1 -46v-79q1 -53 1 -74z" />
    <glyph glyph-name="I" unicode="I" horiz-adv-x="737" 
d="M657 1080q-18 50 -155 50q-143 0 -283 -51q-155 -56 -236 -104q-7 -4 -14 -4q-40 0 -40 46q0 60 242 128q212 60 303 60q68 0 148 -26q104 -34 104 -88q0 -53 -25 -53q-29 0 -44 42zM719 -109q-9 -5 -45 -5q-15 86 -171 86q-179 0 -419 -104q-49 -21 -60 -21
q-52 0 -52 53q0 58 325 125q-80 104 -80 419q0 215 31 437q4 64 20 187q4 17 21 38q21 25 44 25q58 0 47 -71q-76 -476 -76 -660q0 -85 8 -164q20 -192 85 -192q12 0 37.5 2.5t37.5 2.5q83 0 158 -24q104 -34 104 -99q0 -25 -15 -35z" />
    <glyph glyph-name="J" unicode="J" horiz-adv-x="704" 
d="M733 1082q-27 -34 -52 -2q1 9 1 17q0 51 -48 67q-24 8 -87 8q-146 0 -429 -121q-49 -22 -58 -22q-53 0 -53 43q0 63 251 123q212 51 317 51q58 0 109 -29q64 -37 64 -100q0 -14 -15 -35zM325 -173q-54 -122 -150 -221q-118 -122 -236 -130q-76 -5 -74 -5q-101 0 -201 80
q-106 85 -108 189q-2 60 36 60q20 0 26 -36q12 -81 79.5 -141t148.5 -60q276 0 414 328q103 247 103 585q0 288 -46 601q-4 25 11 52q19 31 52 31q41 0 54 -41q4 -15 6 -72q8 -195 8 -338q0 -601 -123 -882z" />
    <glyph glyph-name="K" unicode="K" horiz-adv-x="768" 
d="M702 -79q-142 7 -360 272q-53 66 -157 185q-81 85 -154 103l-6 43q31 24 46 26q22 0 44 1q99 11 238 120q119 93 199 196q5 8 25 43q102 180 132 178q19 -1 33 -21.5t13 -34.5q-3 -49 -131 -221q-56 -77 -176 -170q-133 -103 -241 -142q16 -14 120 -152q85 -114 189 -213
q143 -137 226 -141q18 -1 43 11q17 10 71 35l20 -33q-3 -42 -72 -68q-56 -20 -102 -17zM144 -148q-103 0 -162 132q-42 94 -52 219q-3 37 -3 100q0 257 33 502q40 304 106 304q55 0 51 -61q-102 -260 -102 -641q0 -64 3 -172q1 -64 34 -177q40 -135 83 -135q39 1 66 -17
q-6 -54 -57 -54z" />
    <glyph glyph-name="L" unicode="L" horiz-adv-x="909" 
d="M906 -131l2 39q8 103 -247 103q-203 0 -442 -82q-6 -3 -130 -52q-104 -42 -116 -42q-53 0 -53 50q0 26 107 81q19 10 23 13q119 92 119 439q0 195 -8 289q-23 286 -23 271q0 62 35 109q40 54 105 54q55 0 147 -68q98 -72 98 -130q0 -50 -50 -50q-36 0 -91.5 89t-112.5 89
q-38 0 -33 -114q18 -397 18 -398v-305q0 -131 -66 -249q277 101 490 101q89 0 184 -50q115 -59 115 -144q0 -44 -71 -43z" />
    <glyph glyph-name="M" unicode="M" horiz-adv-x="1701" 
d="M1568 -165q-84 0 -125 79q-71 138 -85 844q-7 337 -89 337q-78 0 -198 -290q-66 -158 -128 -378q-80 -279 -74 -413q2 -35 -12 -69q-17 -44 -50 -44q-21 0 -37 24q-12 20 -12 37q0 62 9 187t9 188q0 203 -14 343q-26 262 -84 262q-56 0 -154 -221q-177 -406 -213 -634
q-4 -63 -21 -182q-11 -50 -64 -50t-53 60q0 -5 17 141q37 332 37 717q0 180 -48 180q-34 0 -97 -74q-42 -55 -84 -109q-49 -61 -73 -61q-52 0 -52 57q0 48 139 158q136 108 183 108q93 0 117 -162q8 -50 8 -229q0 -58 -9 -235q209 616 380 616q117 0 150 -256
q13 -96 13 -352q27 122 44 186q46 173 135 338q126 234 245 234q144 0 162 -309l23 -403q17 -301 18 -307q28 -244 98 -244q17 0 40.5 25t37.5 25q9 0 18 -7q22 -15 14 -46q-8 -29 -55 -52q-40 -19 -66 -19z" />
    <glyph glyph-name="N" unicode="N" horiz-adv-x="1121" 
d="M982 -65q-107 0 -157 190q-30 115 -49 383q-8 137 -34 377q-25 156 -72 156q-34 0 -140 -272q-115 -298 -149 -409q-71 -236 -70 -428q1 -75 -57 -75q-55 0 -55 70q0 62 13 188.5t13 189.5q0 70 7.5 210t7.5 210q0 198 -43 198q-53 0 -202 -181q-33 -41 -43 -46
q-6 -3 -12 -3q-17 0 -31 20q-13 17 -13 34q0 54 135 158q130 100 184 100q115 0 114 -163l-5 -397q35 107 109 321q131 346 263 346q90 0 124 -140q8 -34 25 -208q6 -121 34 -420q41 -329 105 -329q9 0 43 25q12 9 32 14l33 -16q-2 -42 -44 -75q-36 -28 -66 -28z" />
    <glyph glyph-name="O" unicode="O" horiz-adv-x="937" 
d="M278 -133q-183 0 -268 151q-66 116 -66 302q0 120 41 251q29 83 59 166q-7 198 132 339q135 138 315 125q161 -11 266 -189q90 -152 90 -314q0 -285 -135 -532q-164 -299 -434 -299zM465 1123q-120 10 -227.5 -93t-113.5 -224q-2 32 33 73.5t64 41.5q19 0 34 -16t15 -34
q0 -28 -66.5 -106t-66.5 -88q0 -7 20.5 -25t29.5 -18q29 3 35.5 4.5t12.5 1.5q21 0 21 -20q0 -51 -62 -51q-56 0 -94 34q-65 -153 -65 -287q0 -142 51 -244q63 -126 179 -126q232 0 369 262q115 218 115 483q0 145 -71 273q-83 147 -213 159z" />
    <glyph glyph-name="P" unicode="P" horiz-adv-x="1142" 
d="M447 357q-53 0 -99 27q-58 33 -58 91q0 30 22 53h46q-4 -83 66 -83q198 0 401 161q211 168 211 356q0 120 -110 183q-92 53 -232 53q-184 0 -371 -104q-117 -64 -315 -226q-37 -30 -48 -30q-21 0 -41.5 18t-20.5 41q0 17 55 67q44 40 73 60q214 141 324 185
q160 64 379 64q184 0 289 -99t103 -258q-1 -150 -158 -313q-144 -149 -295.5 -197.5t-220.5 -48.5zM346 -174q-133 0 -191 165q-39 110 -39 266q0 29 -4 87t-4 87q0 286 23 461q10 81 60 81q54 0 54 -56q0 -33 -12 -84q-15 -68 -17 -84q-25 -182 -25 -342q0 -506 161 -506
q8 0 16 1l31 -30q-14 -46 -53 -46z" />
    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="937" 
d="M544 -36q85 -52 159 -52q36 0 39 6q0 -1 0 3q0 26 3 36q6 17 23 30q51 -18 51 -65q0 -43 -49 -74q-40 -26 -78 -26q-67 0 -197 86l-19 12q-92 -49 -198 -49q-183 0 -268 151q-66 116 -66 302q0 120 41 251q29 83 59 166q-7 198 132 339q135 138 315 126q161 -11 266 -189
q90 -152 90 -315q0 -196 -73 -395q-84 -229 -230 -343zM465 1127q-120 10 -227.5 -93t-113.5 -223q-2 31 33 73t64 42q19 0 34 -16.5t15 -33.5q0 -29 -66.5 -107t-66.5 -88q0 -7 20.5 -25t29.5 -18q29 3 35.5 4.5t12.5 1.5q21 0 21 -20q0 -51 -62 -51q-56 0 -94 35
q-65 -154 -65 -287q0 -142 51 -245q63 -126 179 -126q68 0 129 24q-97 60 -182 60q-75 0 -75 47q0 50 79 50q93 0 254 -116q135 93 212 306q67 184 67 374q0 145 -71 273q-83 147 -213 159z" />
    <glyph glyph-name="R" unicode="R" horiz-adv-x="1111" 
d="M944 -134q-172 0 -356 256q-52 72 -125 150q-79 84 -105 91q-85 23 -78 67q4 31 62 31q43 0 74 -13q199 19 394 174q206 164 219 342q9 120 -85 179q-79 50 -217 50q-292 0 -696 -295q-80 -59 -86 -59q-19 0 -41 16.5t-22 34.5q0 11 9 20q135 133 385 242
q262 114 459 114q179 0 278 -85t99 -230q0 -17 -2 -36q-12 -149 -181 -312q-154 -148 -308 -196q-40 -13 -118 -35q24 -34 73 -100q102 -134 238 -255q86 -76 169 -76q19 0 45 13q17 11 72 39l20 -33q-5 -43 -74 -71q-55 -23 -102 -23zM367 -177q-209 0 -204 435
q3 316 67 632q17 80 65 80q50 0 50 -56q0 -28 -17 -88q-9 -27 -23 -81q-34 -159 -48 -346q-7 -89 -7 -162q0 -339 126 -339q8 0 17 1l29 -30q-17 -46 -55 -46z" />
    <glyph glyph-name="S" unicode="S" horiz-adv-x="847" 
d="M749 881q-18 0 -35.5 18t-14.5 37q10 75 10 73q0 93 -65 93q-119 0 -366 -204q-250 -208 -250 -321q0 -48 98 -78q47 -15 250 -50q178 -31 259 -70q128 -61 128 -173q0 -132 -151 -248q-142 -109 -274 -109h-45q-85 0 -161 52q-87 59 -87 146q0 23 14 62q17 46 35 46
q36 0 36 -35q0 -14 -6.5 -36t-6.5 -26q0 -52 53 -85q47 -29 113 -29q134 0 255 79q133 87 133 206q0 64 -108 100q-55 18 -242 48q-87 13 -257 54q-132 45 -132 128q0 206 278 425q261 205 450 205q155 0 155 -193q0 -30 -18 -69q-20 -46 -48 -46z" />
    <glyph glyph-name="T" unicode="T" horiz-adv-x="870" 
d="M985 968q-19 -13 -30 -13q-22 0 -16 39q15 38 15 43q0 81 -286 81q-193 0 -453 -111q-62 -31 -173 -85q-83 -38 -106 -38q-54 0 -54 48q0 49 235 136q171 63 294 93q157 39 302 39q97 0 187 -28q128 -39 128 -116q0 -60 -43 -88zM618 -148q-19 -18 -45 -18
q-123 0 -183 210q-41 143 -41 305v168q0 1 25 414q9 140 76 141q53 1 53 -60q0 -33 -17 -90q-20 -73 -23 -90q-39 -218 -19 -509q5 -85 30 -254q21 -85 41 -118q31 -49 90 -54q25 -3 25 -21q0 -15 -12 -24z" />
    <glyph glyph-name="U" unicode="U" horiz-adv-x="1021" 
d="M701 562q-79 -229 -230 -454q-182 -271 -319 -271q-62 0 -95 49q-27 41 -27 98q0 119 71 379q55 189 110 377q58 207 58 272q0 39 -27 39q-36 0 -118 -86q-21 -29 -67 -83q-39 -40 -58 -40q-30 0 -51 45q3 43 95 120q74 63 140 98q42 23 89 23q43 0 69 -52q20 -40 20 -83
q0 -127 -123 -501q-110 -333 -110 -496q0 -85 18 -85q159 0 449 616q45 96 92 265q14 37 30 114q5 103 10 132q18 90 69 90q53 0 53 -59q0 -26 -12 -73q-16 -66 -17 -73q-15 -82 -23 -151q-9 -81 -9 -298q0 1 19 -286q15 -215 89 -215q33 0 49 51q7 24 26 24q31 0 31 -47
q1 -41 -30.5 -69.5t-70.5 -28.5q-124 0 -175 236q-29 138 -29 326q0 39 4 97z" />
    <glyph glyph-name="V" unicode="V" horiz-adv-x="1040" 
d="M959 820q-119 -313 -175 -540q-42 -172 -98 -365q-19 -65 -104 -65q-87 0 -155 250q-20 71 -68 327q-102 545 -181 545q-47 0 -127 -114t-110 -114q-48 0 -48 48q0 41 102 135q94 87 135 102q48 18 82 18q89 0 151 -188q38 -116 82 -380q12 -85 49 -298q47 -232 77 -232
q36 0 72 154q67 289 162 579q146 448 232 448v0q21 0 41.5 -21t9.5 -38q-75 -108 -129 -251z" />
    <glyph glyph-name="W" unicode="W" horiz-adv-x="1560" 
d="M373 183q91 260 200 477q141 281 217 281q64 0 64 -65q0 -19 -16 -46q-4 -30 -4 -79q0 -245 70 -514q85 -323 205 -323q135 0 223 310q68 239 68 428q0 193 -40 336q-61 217 -197 217q-42 0 -90 -51q-29 0 -33 2t-18 26q4 42 73 73q56 25 97 25q137 0 227 -177
q71 -140 79 -288q1 -23 1 -49q0 -293 -90 -576q-113 -353 -296 -353q-191 0 -293 396q-71 279 -71 556q0 5 2 16q-41 -38 -196 -376q-91 -200 -151 -434q-10 -41 -13 -73q-9 -101 -50 -112q-11 -2 -21 -2q-55 0 -51 64q21 275 21 274q0 333 -7 431q-24 331 -104 331
q-44 0 -114 -94q-47 -68 -94 -137q-40 -54 -77 -57l-40 29q3 75 133 206.5t199 131.5q132 0 175 -221q20 -106 20 -320q0 -85 -8 -263z" />
    <glyph glyph-name="X" unicode="X" horiz-adv-x="1017" 
d="M343 506q-146 -202 -200 -292q-121 -201 -121 -319q0 -21 37 -67l-24 -35q-49 6 -83 69q-27 50 -27 88q0 79 96 241q65 109 179 262q96 130 96 132q0 15 -124 219l-160 258q-56 95 -56 115q0 58 57 58q34 0 61 -45q1 -1 78 -156q66 -132 95 -188q56 -103 109 -179
q79 94 264 311q241 280 288 280q17 0 35 -15.5t18 -34.5q0 -22 -14 -37q-148 -152 -296 -303q-244 -252 -244 -281q0 -22 151 -223q188 -251 303 -251q27 0 50.5 28t40.5 28q34 0 34 -37q0 -48 -60 -79q-48 -24 -97 -24q-134 0 -278 183z" />
    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="910" 
d="M717 -571q-166 -264 -440 -264q-104 0 -199 85q-92 82 -131 200q-4 25 -3 36q5 32 32 18q15 -7 42 -50q122 -199 252 -199q285 0 451 393q113 267 136 577q18 236 18 354q0 184 -36 377q-15 -45 -67 -219q-85 -282 -257 -545q-177 -273 -311 -273q-126 0 -126 163
q0 102 80 377q46 150 117 398q36 140 36 200q0 78 -32 78q-34 0 -166.5 -122t-151.5 -122q-45 0 -45 50q0 47 158 162t222 115q113 0 113 -128q0 -117 -79 -389q-61 -202 -121 -405q-36 -142 -36 -212q0 -93 42 -93q69 0 249 307q313 534 325 817q0 21 -1 53q-1 41 -1 52
q0 59 49 59q56 0 98 -301q31 -221 31 -307q0 -401 -37 -639q-55 -355 -211 -603z" />
    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="974" 
d="M1131 916q-14 -21 -33 -21q-27 0 -21 33q16 98 16 86q0 59 -165 59q-109 0 -300 -44q-116 -27 -405 -108q-75 -21 -103 -21q-55 0 -55 56q0 30 52 50q85 31 218 55q217 38 221 39q241 52 379 52q82 0 144 -30q81 -40 81 -116q0 -47 -29 -90zM1095 -153q-16 -18 -33 -18
q-27 0 -27 34q0 12 6 25q8 20 8 50q0 66 -82 109q-72 37 -157 37q-140 0 -297 -46q-46 -14 -283 -100q-206 -75 -229 -75q-87 0 -87 100q0 79 130 220q79 86 185 184q97 91 423 365q363 306 387 306q18 0 37.5 -15.5t19.5 -36.5t-180 -164q-917 -731 -917 -840q0 -14 25 -14
q6 0 75 22q129 42 389 122q221 64 347 64q104 0 191 -60q98 -69 98 -174q0 -37 -29 -95z" />
    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="737" 
d="M668 1225q-18 50 -155 50q-142 0 -283 -51q-39 -15 -62 -10q-33 6 -28 37q9 45 84 63q157 38 261 35q82 -1 156 -26q97 -33 97 -87q0 -53 -25 -53q-29 0 -45 42zM720 -151q-9 -5 -46 -5q-15 86 -170 86q-57 0 -140 -18q-11 -3 -22 -3q-55 0 -55 43q0 16 14 28
q-78 104 -78 480q0 307 37 565q3 64 20 188q3 17 21 38q21 25 43 25q59 0 47 -71l-44 -281q-42 -275 -42 -570q0 -352 92 -352q13 0 38 2.5t38 2.5q83 0 157 -24q104 -34 104 -99q0 -25 -14 -35z" />
    <glyph glyph-name="backslash" unicode="\" 
 />
    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="737" 
d="M223 1282q-165 -6 -257 -26q-40 -9 -40 43q0 7 2 14q16 51 285 51q284 0 311 -79q13 -38 -28 -38q-11 0 -25 4q-124 35 -248 31zM359 -82q-162 -35 -280 -85q-49 -22 -60 -22q-51 0 -51 53q0 58 325 126q-70 99 -70 427q0 283 45 633q4 64 20 187q4 18 21 38q21 25 43 25
q59 0 48 -70l-45 -281q-52 -350 -52 -626q0 -315 89 -315q37 0 37 -34q0 -41 -70 -56z" />
    <glyph glyph-name="asciicircum" unicode="^" 
 />
    <glyph glyph-name="underscore" unicode="_" 
 />
    <glyph glyph-name="grave" unicode="`" horiz-adv-x="626" 
d="M442 786q-13 -22 -45 -10q-124 48 -165 67q-119 53 -142 91q-7 11 -7 21v0q0 29 41 43q40 13 54 -4q63 -79 245 -167q35 -16 19 -41z" />
    <glyph glyph-name="a" unicode="a" horiz-adv-x="734" 
d="M598 -11q-95 34 -95 222q0 20 1 41q-99 -132 -218 -241q-153 -140 -241 -140q-29 0 -50 16q-36 27 -36 88v0q0 125 134 337q130 203 284 334q168 143 249 90q38 -24 38 -101q0 -92 -63 -98q-44 -3 -44 31q0 5 2 9q19 47 18 84q0 22 -5 21q-99 -18 -320.5 -305.5
t-221.5 -396.5q0 -38 34 -38q87 0 273 225q129 156 141 173q57 79 65 145q5 45 48 45v0q61 0 49 -59q-49 -257 -49 -313q0 -102 45 -114q16 -4 34 6q15 9 17 18q10 43 50 43q24 0 24 -26q0 -11 -6 -27q-31 -78 -112 -78q-22 0 -45 9z" />
    <glyph glyph-name="b" unicode="b" horiz-adv-x="854" 
d="M47 107q102 172 253 304q183 160 341 160q52 0 100 -29q63 -39 63 -105q0 -157 -227 -381t-375 -224q-122 0 -122 91q0 50 48 100q12 12 32 12q22 0 22 -16q0 -12 -13 -31q-27 -39 -27 -55q0 -26 38 -26q125 0 337 213q210 210 210 323q0 61 -82 61q-198 0 -491 -384
l-3 -4l-8 -14q-63 -106 -94 -106q-66 0 -86 91q-7 38 -7 142q0 174 92 532q95 368 150 368q17 0 38 -14q25 -16 25 -38q0 -6 -3 -13q-102 -260 -119 -313q-104 -318 -104 -554q0 -49 12 -90z" />
    <glyph glyph-name="c" unicode="c" horiz-adv-x="676" 
d="M540 588q-23 0 -57 36t-68 36q-123 0 -251 -227q-113 -201 -113 -314q0 -126 106 -126q105 0 208 69q95 64 163 169q6 11 16 11q12 0 23 -16t8 -26q-8 -32 -112 -134q-95 -93 -116 -104q-99 -54 -124 -54q-3 0 -26 -2.5t-25 -2.5q-104 0 -157 75q-44 62 -44 155
q0 147 132 358q152 243 322 244q29 0 85 -25q73 -32 76 -78q2 -20 -15.5 -32t-30.5 -12z" />
    <glyph glyph-name="d" unicode="d" horiz-adv-x="863" 
d="M582 312l-37 -46q-321 -407 -467 -407h-20q-100 0 -100 102q0 84 89 258q94 187 214 316q143 153 263 153q46 0 94 -34q20 110 59 318q37 201 83 201q18 0 36.5 -16t18.5 -37q0 -5 -25 -88q-127 -434 -127 -833q0 -230 69 -230q4 2 15 8.5t43 21.5q17 -17 17 -34
q0 -23 -31 -42q-27 -17 -51 -17q-145 0 -145 334q0 30 2 72zM535 619q-112 20 -315 -268q-192 -273 -192 -387q0 -28 22 -28q87 0 295 209q187 189 223 270q22 49 22 111q0 31 -16.5 59.5t-38.5 33.5z" />
    <glyph glyph-name="e" unicode="e" horiz-adv-x="626" 
d="M102 291q-18 -16 -38.5 -97t-20.5 -141q0 -78 103 -78q99 0 232 115q129 112 179 231h32q19 -18 13 -34q-58 -168 -194 -279q-129 -107 -259 -107q-96 0 -145 66q-48 63 -42 170q8 150 160 372q163 238 297 238q45 0 69 -42q18 -31 18 -65q0 -98 -83 -225
q-98 -153 -225 -153q-60 0 -92 26zM407 677q-38 -9 -69 -46q-208 -244 -208 -284q0 -11 46 -14q78 -4 170 112q90 113 90 202q0 38 -29 30z" />
    <glyph glyph-name="f" unicode="f" horiz-adv-x="496" 
d="M564 877q-21 7 -27 38q-3 26 -6 51q-5 42 -35 85q-33 49 -70 49q-104 0 -161 -251q-29 -127 -45 -390q12 2 55 12q35 8 56 8q88 0 116 -67q5 -12 5 -25v0q0 -22 -14 -27q-15 -5 -37 20q-29 34 -71 34q-30 0 -70 -14t-51 -30q-6 -10 -6 -55q0 -61 14.5 -216.5t14.5 -178.5
q0 -66 -54 -66q-53 0 -47 71q1 17 1 15q0 48 -9 401q-32 -16 -104 -59q-26 -16 -34 -16q-35 0 -35 50q0 16 8 23q26 24 153 82l19 9q30 340 55 438q74 298 256 298q64 0 113 -71q44 -63 44 -127q0 -77 -34 -91z" />
    <glyph glyph-name="g" unicode="g" horiz-adv-x="770" 
d="M270 -701q-126 0 -229.5 115t-103.5 243q0 58 39 58q28 0 28 -34q-3 -114 75 -205.5t174 -91.5q198 0 293 293q61 187 61 373q0 372 -66 372q-4 0 -46 -64q-125 -189 -173 -245q-128 -149 -235 -149q-57 0 -89 43q-28 37 -28 90q0 168 213.5 434.5t348.5 266.5
q57 0 89 -61q26 -46 26 -94q0 -84 -46 -84q-56 0 -48 101q4 63 -23 63q-74 0 -201 -145q-93 -106 -147 -198q-41 -48 -84 -135q-51 -102 -51 -163q0 -43 15 -43q73 0 190 126q43 46 191 233q99 126 128 126q67 0 102 -198q23 -134 23 -262q0 -319 -126 -542t-300 -223z" />
    <glyph glyph-name="h" unicode="h" horiz-adv-x="694" 
d="M73 193l9 21q160 394 294 394q112 0 141 -327q5 -78 23 -213q16 -83 44 -83q24 0 43.5 17.5t27.5 17.5q29 0 29 -29q0 -27 -42 -50q-36 -19 -59 -19q-123 0 -155 325q-6 77 -23 211q-14 82 -36 82q-58 0 -149 -184q-123 -247 -142 -464q-1 -13 -18.5 -28t-34.5 -15
q-16 0 -23 16q-15 38 -15 256q0 208 65 602q70 432 129 432q50 0 50 -49q0 -1 -35 -110q-37 -116 -53 -204q-63 -364 -70 -599z" />
    <glyph glyph-name="i" unicode="i" horiz-adv-x="315" 
d="M123 869q-22 0 -37.5 19t-15.5 36q0 20 15.5 40t39.5 20q52 0 52 -57q0 -58 -54 -58zM183 -119q-95 0 -145 148q-35 102 -35 199q0 89 22 219q33 188 90 188q45 0 45 -52q0 -24 -28 -90q-29 -72 -42 -245q2 -82 0 -98l26 -124q26 -82 77 -82q12 0 16 4q14 19 39 31
q21 -18 21 -34q0 -27 -35 -47q-28 -17 -51 -17z" />
    <glyph glyph-name="j" unicode="j" horiz-adv-x="368" 
d="M213 787q-56 0 -56 48q0 41 43 41q59 0 59 -36q0 -53 -46 -53zM-157 -717q-144 0 -246 98t-102 243q0 48 34 48q35 0 32 -38q-7 -101 69.5 -187t176.5 -86q215 0 316 333q64 210 64 429q0 276 -49 461q-6 21 5 49q13 37 50 37q77 0 77 -463q0 -160 -7 -227
q-26 -257 -137 -463q-125 -234 -283 -234z" />
    <glyph glyph-name="k" unicode="k" horiz-adv-x="708" 
d="M644 -153l-17 4l2 -2q-16 8 -16 23q0 9 9 29.5t9 35.5q0 139 -184 209q-127 48 -259 48q-2 0 -33 -1t-37 -1q-44 0 -44 65q0 6 63 68q73 71 135 153q73 97 134 252q21 52 48 52q52 0 52 -60q0 -116 -305 -435q218 -41 314 -87q178 -85 178 -243q0 -19 -12 -56
q-16 -49 -37 -54zM155 -144q-119 27 -162 200q-24 94 -27 281q-1 82 50 424q62 412 121 412q10 0 30 -16q23 -19 23 -39q0 -5 -2 -10q-134 -387 -134 -761q0 -201 44 -348q21 -69 51 -77q44 -12 44 -35q0 -12 -12.5 -23t-25.5 -8z" />
    <glyph glyph-name="l" unicode="l" horiz-adv-x="335" 
d="M6 235q-1 42 -1 93q0 261 30 528q34 296 76 296q52 0 52 -57q-1 -9 -6 -35l-12 -71q-19 -106 -26 -163q-28 -238 -28 -540q0 -365 128 -365q23 0 35 18h23l18 -18v2l1 -3q2 -8 2 -19q-34 -43 -86 -43q-77 0 -133 88q-65 102 -73 289z" />
    <glyph glyph-name="m" unicode="m" horiz-adv-x="1200" 
d="M1063 -33q-86 0 -141 125q-43 97 -43 177q0 -19 2 97q2 76 -2 118q-5 58 -20 58q-3 0 -51 -76q-163 -254 -176 -272q-136 -188 -213 -188t-84 167q-2 46 9 291q2 55 -9 55q-32 0 -168 -247q-139 -251 -148 -343q-3 -37 -46 -37q-20 0 -36 64q-11 49 -11 73q0 183 8 315
q8 122 31 207q24 92 55 92q22 0 40.5 -16t14.5 -31q-59 -213 -61 -438q108 194 150 259q122 187 191 187q83 0 79 -197q-1 -21 -6 -95q-5 -68 -5 -108q0 -77 15 -117q36 11 125 130q73 100 124 186q132 228 192 228t76 -115q5 -71 15 -218q18 -267 94 -269q29 -1 51.5 29.5
t36.5 30.5q28 0 28 -30q0 -41 -50 -70q-39 -22 -67 -22z" />
    <glyph glyph-name="n" unicode="n" horiz-adv-x="716" 
d="M81 238l17 30q215 364 305 364q85 0 113 -125l18 -190q16 -156 20 -177q23 -140 67 -140q19 0 52 35l37 -12q2 -39 -34 -64q-27 -19 -50 -19q-144 0 -178 325q-6 77 -21 211q-11 82 -28 82q-34 0 -167.5 -210.5t-188.5 -388.5q-14 -48 -49 -48q-45 0 -41 45q1 16 64 424
q3 51 10 141q8 82 60 82q30 0 41 -22q6 -23 12 -45z" />
    <glyph glyph-name="o" unicode="o" horiz-adv-x="628" 
d="M172 -98q-87 -7 -139 59q-48 60 -48 151q0 154 73.5 333.5t137.5 179.5q58 0 58 -49q0 -14 -33 -58q-158 -208 -158 -389q0 -156 78 -156q118 0 231 215q99 186 99 299q0 163 -81 163q-62 0 -132 -66l-15 9q-14 8 -14 24q0 34 72 69q60 29 89 29q162 0 168 -250
q3 -121 -107 -319q-128 -231 -279 -244z" />
    <glyph glyph-name="p" unicode="p" horiz-adv-x="706" 
d="M120 405q205 297 407 297q133 0 133 -190q0 -157 -140 -348q-145 -198 -279 -198q-101 0 -101 103q0 32 21 81h42q2 -21 -2 -43q-4 -26 -4 -41q0 -23 27 -23q127 0 245 202q104 177 104 290q0 101 -54 101q-108 0 -253 -178q-132 -161 -153 -266q-38 -180 -40 -419
q-4 -335 98 -335q1 0 10.5 3.5t50.5 18.5v-38q0 -19 -32 -33q-26 -12 -38 -11q-84 8 -130 122q-35 88 -39 208q-2 56 -2 115q0 213 49 746q14 146 85 146q45 0 45 -49q0 -6 -1 -12z" />
    <glyph glyph-name="q" unicode="q" horiz-adv-x="714" 
d="M590 -583q-106 0 -158 112q-36 79 -36 178q0 178 87 591l1 7q-279 -360 -431 -360h-21q-45 0 -75 44q-24 36 -24 71q0 149 239 435q236 284 348 284q95 0 95 -127q0 -92 -55 -92q-44 0 -44 50q0 7 1.5 13.5t12 38.5t10.5 36q0 13 -12 13q-44 0 -219 -186
q-70 -74 -168 -220q-129 -190 -129 -271q0 -10 15 -10q78 0 269 179q183 171 207 246q9 35 18 69q16 39 54 39q55 0 55 -60h-18q20 4 17 -6l-6 -20q-35 -121 -66 -260q-72 -321 -72 -526q0 -65 18 -119q27 -87 88 -87q49 0 74 48.5t38 48.5q31 0 31 -33q0 -53 -52 -92
q-46 -34 -92 -34z" />
    <glyph glyph-name="r" unicode="r" horiz-adv-x="536" 
d="M88 449q124 316 266 316q94 0 110 -86q9 -52 -34 -52q-14 0 -20 12q-4 9 -8 25l-2 11q-4 20 -26 20q-49 0 -125 -104q-89 -123 -125 -224q-38 -108 -36 -248q0 -5 7 -163q0 -19 -19.5 -35.5t-38.5 -16.5q-56 0 -49 87q18 202 18 336q0 138 -18 314q-2 20 17 41t39 21
q33 0 48 -33q11 -24 8 -45q-13 -105 -12 -176z" />
    <glyph glyph-name="s" unicode="s" horiz-adv-x="545" 
d="M463 621q-6 0 -39.5 18t-50.5 19q-68 6 -190 -99q-126 -108 -126 -185q0 -41 146 -41q282 0 282 -157q0 -111 -125 -199q-114 -80 -227 -80q-50 0 -93 31q-50 35 -50 91q0 23 20 54q23 36 49 36q7 0 14 -3q-4 -35 -13 -54q-5 -11 -5 -23q0 -45 54 -45q83 0 190 54
q119 60 119 126q0 41 -41 68q-34 22 -75 24l-192 7q-48 2 -93 20q-61 24 -61 64q0 99 155.5 250.5t262.5 151.5q30 0 73 -23q51 -28 51 -62q0 -43 -35 -43z" />
    <glyph glyph-name="t" unicode="t" horiz-adv-x="537" 
d="M273 566q45 11 108 11q29 0 69 -21q51 -28 51 -66q0 -7 -3 -13l-1 -3q0 2 -4 -8q-11 -4 -8 -5h-2q-6 -3 -14 -3q-6 0 -16 11q-20 48 -66 48q-16 0 -36 -6q-42 -11 -86 -38q0 -5 -1 -16q-13 -101 -7 -244q10 -265 119 -265q31 0 57 32t36 32q32 0 32 -30q0 -36 -59 -68
q-49 -26 -73 -26q-91 0 -145 99q-38 71 -47 157q-16 152 -2 301q-56 -20 -135 -78q-10 -8 -19 -8q-27 0 -27 56q0 35 165 113q10 2 20 5q7 68 22 203t67 135q43 0 46 -56z" />
    <glyph glyph-name="u" unicode="u" horiz-adv-x="691" 
d="M427 345q-107 -224 -139 -274q-107 -165 -226 -165q-94 0 -94 188q0 54 57 291q66 270 111 272q22 0 42.5 -13.5t20.5 -30.5q-1 -8 -7 -25l-18 -46q-127 -342 -127 -480q0 -84 29 -84q36 0 112 93q82 101 162 258q90 176 91 268q1 32 19.5 59t44.5 27q50 0 50 -50
q0 -8 -17.5 -98t-17.5 -171q0 -314 97 -314q23 0 50 27q12 12 35 27q22 -19 22 -31q0 -36 -49 -64q-40 -23 -65 -23q-156 0 -182 341z" />
    <glyph glyph-name="v" unicode="v" horiz-adv-x="633" 
d="M662 630h-2q-60 4 -181 -252l-148 -348q-54 -125 -80 -125q-33 0 -70 112q-22 72 -81 238q-29 72 -93 193l-66 124q-4 9 -4 18q0 20 21 34q17 11 33 11q39 0 130 -217q5 -11 113 -293q31 -81 27 -81l35 90q103 263 139 333q115 223 225 223q44 0 44 -38q0 -18 -25 -24
q-8 -2 -17 2z" />
    <glyph glyph-name="w" unicode="w" horiz-adv-x="1026" 
d="M706 32q-96 0 -189 157q-61 104 -108 250q-37 -95 -122 -295q-119 -253 -203 -253q-60 0 -87 110q-18 76 -14 136q6 107 24 301q22 161 74 161q46 0 46 -59q0 -6 -3 -18q-64 -291 -64 -419q-10 -123 14 -123q56 0 156 206q66 135 111 264q12 43 34 120q21 71 51 71
q14 0 33 -11q25 -16 23 -39q-9 -86 50 -264q72 -217 180 -217q52 0 105.5 146.5t53.5 286.5q0 32 -4 60q-16 132 -72 132q-3 0 -20 -6t-23 -6q-43 0 -43 16q0 17 34.5 36.5t64.5 19.5q78 0 120 -120q32 -89 32 -188q0 -94 -68 -255q-83 -200 -186 -200z" />
    <glyph glyph-name="x" unicode="x" horiz-adv-x="791" 
d="M657 44q-130 0 -388 298q-58 -59 -136 -197q-85 -152 -85 -220q0 -21 17 -63l-39 -14q-16 14 -35.5 53.5t-19.5 57.5q0 91 117 270t117 169q0 1 -115.5 142t-115.5 186q0 14 11.5 30t24.5 16q30 0 137 -147.5t116 -147.5q1 0 141 193.5t177 193.5q20 0 33 -22
q11 -18 11 -34q0 -22 -154 -195t-154 -197t133.5 -150t162.5 -135q5 -1 30 -12q19 -7 31 -7q29 0 65 33q37 5 37 -27q0 -26 -56 -52q-46 -22 -63 -22z" />
    <glyph glyph-name="y" unicode="y" horiz-adv-x="707" 
d="M140 -642q-145 0 -260 123q-101 106 -101 193q0 42 34 42q19 0 29 -30q6 -22 12 -45q30 -83 94 -137q67 -57 150 -64q213 -18 337 235q100 204 100 453q0 171 -49 423q-85 -219 -141 -325q-114 -215 -222 -250q-19 -6 -36 -6q-96 0 -96 148q0 136 71 383q75 260 131 265
q20 2 41.5 -14.5t21.5 -32.5q0 -5 -2 -9q-59 -92 -110 -230q-71 -193 -71 -354q0 -85 25 -85q31 0 101 106q34 51 68 114q142 223 165 368q8 52 3 92q-8 68 49 68q54 0 65 -101l1 -13q24 -223 55 -276q17 -29 17 -276q0 -227 -99 -453q-136 -312 -383 -312z" />
    <glyph glyph-name="z" unicode="z" horiz-adv-x="786" 
d="M-15 -51q-38 22 -38 41q0 57 103 149q154 137 340 273q193 143 203.5 152l10.5 9q-103 6 -296 -28q-135 -24 -207 -45q-5 -2 -12 -2q-60 0 -60 49q0 26 40 46q32 16 50 16q61 0 432 35q136 0 136 -69q0 -34 -89 -109q-62 -47 -124 -95q-96 -71 -286 -215
q-143 -113 -156 -158q10 0 30 -2q364 99 449 99q71 0 134 -27q89 -37 89 -110q0 -8 -15 -38q-16 1 -31.5 11.5t-14.5 18.5q2 72 -131 72q-100 0 -436 -112q-66 -22 -78 -22q-49 0 -43 56v5z" />
    <glyph glyph-name="braceleft" unicode="{" 
 />
    <glyph glyph-name="bar" unicode="|" 
 />
    <glyph glyph-name="braceright" unicode="}" 
 />
    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="628" 
d="M366 716q-30 19 -62 39t-57 20q-32 0 -67 -30l-26 -28q-19 -18 -31 -18q-21 0 -21 23q0 6 28 46q27 37 36 47q21 23 47 34q19 8 38 8v0q37 0 102 -48q58 -42 88 -31q12 5 44 31q29 24 42 24v0q14 0 20 -14q7 -14 -3 -28q-63 -89 -129 -89q-25 0 -49 14z" />
    <glyph glyph-name="Adieresis" unicode="&#xc4;" 
 />
    <glyph glyph-name="Aring" unicode="&#xc5;" 
 />
    <glyph glyph-name="Ccedilla" unicode="&#xc7;" 
 />
    <glyph glyph-name="Eacute" unicode="&#xc9;" 
 />
    <glyph glyph-name="Ntilde" unicode="&#xd1;" 
 />
    <glyph glyph-name="Odieresis" unicode="&#xd6;" 
 />
    <glyph glyph-name="Udieresis" unicode="&#xdc;" 
 />
    <glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="734" 
d="M707 908q-50 -23 -174 -71q-10 -3 -19 -3q-30 0 -30 25q0 19 26 30q167 72 242 166q7 8 26 8v0q31 0 54 -18q26 -22 9 -50q-24 -37 -134 -87zM598 -11q-95 34 -95 222q0 20 1 41q-99 -132 -218 -241q-153 -140 -241 -140q-29 0 -50 16q-36 27 -36 88v0q0 125 134 337
q130 203 284 334q168 143 249 90q38 -24 38 -101q0 -92 -63 -98q-44 -3 -44 31q0 5 2 9q19 47 18 84q0 22 -5 21q-99 -18 -320.5 -305.5t-221.5 -396.5q0 -38 34 -38q87 0 273 225q129 156 141 173q57 79 65 145q5 45 48 45v0q61 0 49 -59q-49 -257 -49 -313q0 -102 45 -114
q16 -4 34 6q15 9 17 18q10 43 50 43q24 0 24 -26q0 -11 -6 -27q-31 -78 -112 -78q-22 0 -45 9z" />
    <glyph glyph-name="agrave" unicode="&#xe0;" 
 />
    <glyph glyph-name="acircumflex" unicode="&#xe2;" 
 />
    <glyph glyph-name="adieresis" unicode="&#xe4;" 
 />
    <glyph glyph-name="atilde" unicode="&#xe3;" 
 />
    <glyph glyph-name="aring" unicode="&#xe5;" 
 />
    <glyph glyph-name="ccedilla" unicode="&#xe7;" 
 />
    <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="626" 
d="M532 847q-51 -23 -174 -71q-10 -3 -19 -3q-30 0 -30 25q0 20 25 30q168 72 243 166q7 8 25 8v0q32 0 55 -18q26 -22 8 -50q-23 -37 -133 -87zM102 291q-18 -16 -38.5 -97t-20.5 -141q0 -78 103 -78q99 0 232 115q129 112 179 231h32q19 -18 13 -34q-58 -168 -194 -279
q-129 -107 -259 -107q-96 0 -145 66q-48 63 -42 170q8 150 160 372q163 238 297 238q45 0 69 -42q18 -31 18 -65q0 -98 -83 -225q-98 -153 -225 -153q-60 0 -92 26zM407 677q-38 -9 -69 -46q-208 -244 -208 -284q0 -11 46 -14q78 -4 170 112q90 113 90 202q0 38 -29 30z" />
    <glyph glyph-name="egrave" unicode="&#xe8;" 
 />
    <glyph glyph-name="ecircumflex" unicode="&#xea;" 
 />
    <glyph glyph-name="edieresis" unicode="&#xeb;" 
 />
    <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="315" 
d="M329 826q-50 -23 -174 -71q-10 -3 -19 -3q-30 0 -30 25q0 19 26 30q167 72 242 166q7 8 26 8v0q31 0 54 -18q26 -22 9 -50q-24 -37 -134 -87zM183 -119q-95 0 -145 148q-35 102 -35 199q0 89 22 219q33 188 90 188q45 0 45 -52q0 -24 -28 -90q-29 -72 -42 -245
q2 -82 0 -98l26 -124q26 -82 77 -82q12 0 16 4q14 19 39 31q21 -18 21 -34q0 -27 -35 -47q-28 -17 -51 -17z" />
    <glyph glyph-name="igrave" unicode="&#xec;" 
 />
    <glyph glyph-name="icircumflex" unicode="&#xee;" 
 />
    <glyph glyph-name="idieresis" unicode="&#xef;" 
 />
    <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="716" 
d="M366 716q-30 19 -62 39t-57 20q-32 0 -67 -30l-26 -28q-19 -18 -31 -18q-21 0 -21 23q0 6 28 46q27 37 36 47q21 23 47 34q19 8 38 8v0q37 0 102 -48q58 -42 88 -31q12 5 44 31q29 24 42 24v0q14 0 20 -14q7 -14 -3 -28q-63 -89 -129 -89q-25 0 -49 14zM81 238l17 30
q215 364 305 364q85 0 113 -125l18 -190q16 -156 20 -177q23 -140 67 -140q19 0 52 35l37 -12q2 -39 -34 -64q-27 -19 -50 -19q-144 0 -178 325q-6 77 -21 211q-11 82 -28 82q-34 0 -167.5 -210.5t-188.5 -388.5q-14 -48 -49 -48q-45 0 -41 45q1 16 64 424q3 51 10 141
q8 82 60 82q30 0 41 -22q6 -23 12 -45z" />
    <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="628" 
d="M523 850q-50 -23 -174 -70q-10 -4 -18 -4q-30 0 -30 25q0 20 25 30q168 73 242 166q7 9 26 9v0q31 0 54 -19q26 -22 9 -49q-23 -38 -134 -88zM172 -98q-87 -7 -139 59q-48 60 -48 151q0 154 73.5 333.5t137.5 179.5q58 0 58 -49q0 -14 -33 -58q-158 -208 -158 -389
q0 -156 78 -156q118 0 231 215q99 186 99 299q0 163 -81 163q-62 0 -132 -66l-15 9q-14 8 -14 24q0 34 72 69q60 29 89 29q162 0 168 -250q3 -121 -107 -319q-128 -231 -279 -244z" />
    <glyph glyph-name="ograve" unicode="&#xf2;" 
 />
    <glyph glyph-name="ocircumflex" unicode="&#xf4;" 
 />
    <glyph glyph-name="odieresis" unicode="&#xf6;" 
 />
    <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="628" 
d="M432 764q-31 20 -62.5 40t-56.5 20q-32 0 -67 -31q-13 -13 -26 -27q-19 -19 -32 -19q-21 0 -21 24q0 6 29 46q26 37 35 46q21 24 48 35q18 8 37 8v0q38 0 103 -48q58 -43 87 -31q12 4 45 31q28 23 41 23v0q14 0 20 -14q7 -14 -3 -28q-63 -88 -129 -88q-25 0 -48 13z
M172 -98q-87 -7 -139 59q-48 60 -48 151q0 154 73.5 333.5t137.5 179.5q58 0 58 -49q0 -14 -33 -58q-158 -208 -158 -389q0 -156 78 -156q118 0 231 215q99 186 99 299q0 163 -81 163q-62 0 -132 -66l-15 9q-14 8 -14 24q0 34 72 69q60 29 89 29q162 0 168 -250
q3 -121 -107 -319q-128 -231 -279 -244z" />
    <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="691" 
d="M523 850q-50 -23 -174 -70q-10 -4 -18 -4q-30 0 -30 25q0 20 25 30q168 73 242 166q7 9 26 9v0q31 0 54 -19q26 -22 9 -49q-23 -38 -134 -88zM427 345q-107 -224 -139 -274q-107 -165 -226 -165q-94 0 -94 188q0 54 57 291q66 270 111 272q22 0 42.5 -13.5t20.5 -30.5
q-1 -8 -7 -25l-18 -46q-127 -342 -127 -480q0 -84 29 -84q36 0 112 93q82 101 162 258q90 176 91 268q1 32 19.5 59t44.5 27q50 0 50 -50q0 -8 -17.5 -98t-17.5 -171q0 -314 97 -314q23 0 50 27q12 12 35 27q22 -19 22 -31q0 -36 -49 -64q-40 -23 -65 -23q-156 0 -182 341z
" />
    <glyph glyph-name="ugrave" unicode="&#xf9;" 
 />
    <glyph glyph-name="ucircumflex" unicode="&#xfb;" 
 />
    <glyph glyph-name="udieresis" unicode="&#xfc;" 
 />
    <glyph glyph-name="dagger" unicode="&#x2020;" horiz-adv-x="589" 
 />
    <glyph glyph-name="degree" unicode="&#xb0;" 
 />
    <glyph glyph-name="cent" unicode="&#xa2;" horiz-adv-x="683" 
d="M177 394q-43 -5 -42 -5q-104 0 -157 76q-44 62 -44 155q0 109 89 281q98 191 223 273q23 95 50 162q9 22 38 22v0q21 0 35 -13t7 -33q-18 -42 -34 -96q23 5 47 5q29 0 84 -25q73 -32 76 -77q2 -20 -17 -34q-15 -11 -29 -11q-23 0 -57 36t-67 36q-29 0 -59 -14
q-75 -303 -85 -633q151 56 256 219q7 10 16 10q13 0 24 -15.5t8 -26.5q-9 -32 -113 -134q-95 -93 -115 -104q-25 -15 -77 -42q1 -101 12 -169q6 -37 -22 -37q-25 0 -31 34q-11 67 -16 160zM14 606q0 -127 106 -127q29 0 55 4q-2 292 47 572q-83 -92 -149 -246
q-59 -137 -59 -203z" />
    <glyph glyph-name="sterling" unicode="&#xa3;" 
 />
    <glyph glyph-name="section" unicode="&#xa7;" 
 />
    <glyph glyph-name="bullet" unicode="&#x2022;" 
 />
    <glyph glyph-name="paragraph" unicode="&#xb6;" 
 />
    <glyph glyph-name="germandbls" unicode="&#xdf;" 
 />
    <glyph glyph-name="registered" unicode="&#xae;" 
 />
    <glyph glyph-name="copyright" unicode="&#xa9;" 
 />
    <glyph glyph-name="trademark" unicode="&#x2122;" 
 />
    <glyph glyph-name="acute" unicode="&#xb4;" 
 />
    <glyph glyph-name="dieresis" unicode="&#xa8;" 
 />
    <glyph glyph-name="AE" unicode="&#xc6;" 
 />
    <glyph glyph-name="Oslash" unicode="&#xd8;" 
 />
    <glyph glyph-name="plusminus" unicode="&#xb1;" 
 />
    <glyph glyph-name="yen" unicode="&#xa5;" 
 />
    <glyph glyph-name="mu" unicode="&#xb5;" 
 />
    <glyph glyph-name="ordfeminine" unicode="&#xaa;" 
 />
    <glyph glyph-name="ordmasculine" unicode="&#xba;" 
 />
    <glyph glyph-name="ae" unicode="&#xe6;" 
 />
    <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="554" 
 />
    <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="741" 
d="M434 295q-67 0 -67 52q0 17 26 33.5t44 16.5q61 0 61 -46q0 -56 -64 -56zM368 -773q-109 -30 -217 -30q-278 0 -278 207q0 107 149 237l276 207q149 111 149 173q0 33 -31 37q-54 8 -54 33q0 40 48 40q49 0 80 -36t31 -82q0 -83 -148 -207q-137 -106 -275 -212
q-148 -121 -148 -194q0 -134 204 -134q108 0 246 67q92 45 207 125q96 67 101 67q44 0 44 -49q0 -51 -169 -147q-143 -82 -215 -102z" />
    <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="418" 
d="M264 305q-67 0 -67 52q0 17 26 33.5t44 16.5q61 0 61 -46q0 -56 -64 -56zM177 -147q0 -365 90 -611q1 -5 1 -10q0 -19 -16 -35t-34 -16q-55 0 -98 253q-37 221 -37 416q0 40 2 66q6 66 42 142q44 92 104 117q16 7 28 7v0q19 0 20 -15q2 -15 -15 -32q-87 -62 -87 -282z
" />
    <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="372" 
d="M145 86q0 -55 9 -108q7 -40 55 -78q13 -10 13 -22v0q0 -20 -26 -30t-48 7q-76 57 -76 233q0 117 32 262q23 92 64 291q6 33 43 33q46 0 39 -40q-9 -54 -65 -283q-40 -160 -40 -265z" />
    <glyph glyph-name="florin" unicode="&#x192;" 
 />
    <glyph glyph-name="guillemotleft" unicode="&#xab;" 
 />
    <glyph glyph-name="guillemotright" unicode="&#xbb;" 
 />
    <glyph glyph-name="ellipsis" unicode="&#x2026;" horiz-adv-x="1096" 
d="M954 -22q-26 0 -52 19t-26 47q0 55 56 55q84 0 84 -47q0 -74 -62 -74zM552 -22q-26 0 -50 18q-28 20 -28 48q0 55 57 55q83 0 83 -47q0 -74 -62 -74zM125 -22q-26 0 -52 19t-26 47q0 55 56 55q84 0 84 -47q0 -74 -62 -74z" />
    <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" 
 />
    <glyph glyph-name="Agrave" unicode="&#xc0;" 
 />
    <glyph glyph-name="Atilde" unicode="&#xc3;" 
 />
    <glyph glyph-name="Otilde" unicode="&#xd5;" 
 />
    <glyph glyph-name="OE" unicode="&#x152;" 
 />
    <glyph glyph-name="oe" unicode="&#x153;" 
 />
    <glyph glyph-name="endash" unicode="&#x2013;" horiz-adv-x="823" 
d="M727 374q-32 9 -75 34q-31 18 -53 22q-39 6 -92 6q-226 0 -433 -64q-22 -6 -30 -5q-47 7 -47 42q0 5 1 11q6 31 165 61q120 22 198 27q140 9 234 -5q52 -8 102 -32q70 -34 61 -76z" />
    <glyph glyph-name="emdash" unicode="&#x2014;" horiz-adv-x="1130" 
d="M1019 378q-37 8 -92 33q-43 19 -74 22q-49 6 -126 6q-157 0 -368 -21q-205 -21 -314 -46q-27 -6 -35 -5q-59 7 -59 43q0 6 2 11q8 30 216 60q156 22 259 27q284 14 416 -2q62 -7 126 -30q88 -32 88 -70q0 -4 -2 -9z" />
    <glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="259" 
d="M236 806q2 -16 -21.5 -34t-47.5 -18q-38 0 -38 55q0 59 37 137q39 83 91 123q13 9 25 9v0q20 0 24 -18q5 -20 -18 -37q-56 -44 -56 -170q0 -24 4 -47zM103 806q2 -16 -22 -34t-47 -18q-38 0 -38 55q0 59 37 137q38 83 91 123q12 9 25 9v0q20 0 24 -18q5 -20 -18 -37
q-56 -44 -56 -170q0 -24 4 -47z" />
    <glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="301" 
d="M139 740q-12 -9 -25 -9q-25 0 -25 24q0 17 19 31q56 44 56 170q0 24 -4 47q-2 16 22 34t47 18q38 0 38 -55q0 -59 -37 -137q-38 -83 -91 -123zM6 740q-13 -9 -25 -9q-25 0 -25 24q0 17 19 31q56 44 56 170q0 24 -4 47q-2 16 21.5 34t47.5 18q38 0 38 -55q0 -59 -37 -137
q-39 -83 -91 -123z" />
    <glyph glyph-name="quoteleft" unicode="&#x2018;" horiz-adv-x="217" 
d="M114 821q3 -16 -21 -34t-48 -18q-38 0 -38 55q0 59 37 137q39 82 91 122q13 10 26 10v0q20 0 24 -19t-19 -37q-55 -43 -55 -169q0 -24 3 -47z" />
    <glyph glyph-name="quoteright" unicode="&#x2019;" horiz-adv-x="249" 
d="M62 770q-13 -10 -25 -10q-25 0 -25 24q0 17 19 32q56 43 56 169q0 25 -4 48q-2 16 21.5 34t47.5 18q38 0 38 -55q0 -60 -37 -137q-39 -83 -91 -123z" />
    <glyph glyph-name="divide" unicode="&#xf7;" 
 />
    <glyph glyph-name="ydieresis" unicode="&#xff;" 
 />
    <glyph glyph-name="Ydieresis" unicode="&#x178;" 
 />
    <glyph glyph-name="currency" unicode="&#xa4;" 
 />
    <glyph glyph-name="guilsinglleft" unicode="&#x2039;" 
 />
    <glyph glyph-name="guilsinglright" unicode="&#x203a;" 
 />
    <glyph glyph-name="daggerdbl" unicode="&#x2021;" 
 />
    <glyph glyph-name="periodcentered" unicode="&#x2219;" 
 />
    <glyph glyph-name="quotesinglbase" unicode="&#x201a;" 
 />
    <glyph glyph-name="quotedblbase" unicode="&#x201e;" 
 />
    <glyph glyph-name="perthousand" unicode="&#x2030;" 
 />
    <glyph glyph-name="Acircumflex" unicode="&#xc2;" 
 />
    <glyph glyph-name="Ecircumflex" unicode="&#xca;" 
 />
    <glyph glyph-name="Aacute" unicode="&#xc1;" 
 />
    <glyph glyph-name="Edieresis" unicode="&#xcb;" 
 />
    <glyph glyph-name="Egrave" unicode="&#xc8;" 
 />
    <glyph glyph-name="Iacute" unicode="&#xcd;" 
 />
    <glyph glyph-name="Icircumflex" unicode="&#xce;" 
 />
    <glyph glyph-name="Idieresis" unicode="&#xcf;" 
 />
    <glyph glyph-name="Igrave" unicode="&#xcc;" 
 />
    <glyph glyph-name="Oacute" unicode="&#xd3;" 
 />
    <glyph glyph-name="Ocircumflex" unicode="&#xd4;" 
 />
    <glyph glyph-name="Ograve" unicode="&#xd2;" 
 />
    <glyph glyph-name="Uacute" unicode="&#xda;" 
 />
    <glyph glyph-name="Ucircumflex" unicode="&#xdb;" 
 />
    <glyph glyph-name="Ugrave" unicode="&#xd9;" 
 />
    <glyph glyph-name="circumflex" unicode="&#x2c6;" 
 />
    <glyph glyph-name="tilde" unicode="&#x2dc;" 
 />
    <glyph glyph-name="macron" unicode="&#xaf;" 
 />
    <glyph glyph-name="cedilla" unicode="&#xb8;" 
 />
    <glyph glyph-name="Scaron" unicode="&#x160;" 
 />
    <glyph glyph-name="scaron" unicode="&#x161;" 
 />
    <glyph glyph-name="brokenbar" unicode="&#xa6;" 
 />
    <glyph glyph-name="Eth" unicode="&#xd0;" 
 />
    <glyph glyph-name="eth" unicode="&#xf0;" 
 />
    <glyph glyph-name="Yacute" unicode="&#xdd;" 
 />
    <glyph glyph-name="yacute" unicode="&#xfd;" 
 />
    <glyph glyph-name="Thorn" unicode="&#xde;" 
 />
    <glyph glyph-name="thorn" unicode="&#xfe;" 
 />
    <glyph glyph-name="minus" unicode="&#xad;" 
 />
    <glyph glyph-name="multiply" unicode="&#xd7;" 
 />
    <glyph glyph-name="onesuperior" unicode="&#xb9;" 
 />
    <glyph glyph-name="twosuperior" unicode="&#xb2;" 
 />
    <glyph glyph-name="threesuperior" unicode="&#xb3;" 
 />
    <glyph glyph-name="onehalf" unicode="&#xbd;" 
 />
    <glyph glyph-name="onequarter" unicode="&#xbc;" 
 />
    <glyph glyph-name="threequarters" unicode="&#xbe;" 
 />
    <glyph glyph-name="Lslash" unicode="&#x141;" 
 />
    <glyph glyph-name="lslash" unicode="&#x142;" 
 />
    <glyph glyph-name="LF" 
 />
    <glyph glyph-name="Zcaron" unicode="&#x17d;" 
 />
    <glyph glyph-name="zcaron" unicode="&#x17e;" 
 />
    <glyph glyph-name="DLE" 
 />
    <glyph glyph-name="DC1" 
 />
    <glyph glyph-name="DC2" 
 />
    <glyph glyph-name="DC3" 
 />
    <glyph glyph-name="DC4" 
 />
    <glyph glyph-name="RS" 
 />
    <glyph glyph-name="US" 
 />
    <glyph glyph-name="DEL" 
 />
    <glyph glyph-name="notequal" unicode="&#x2260;" 
 />
    <glyph glyph-name="infinity" unicode="&#x221e;" 
 />
    <glyph glyph-name="lessequal" unicode="&#x2264;" 
 />
    <glyph glyph-name="greaterequal" unicode="&#x2265;" 
 />
    <glyph glyph-name="partialdiff" unicode="&#x2202;" horiz-adv-x="739" 
 />
    <glyph glyph-name="summation" unicode="&#x3a3;" 
 />
    <glyph glyph-name="product" unicode="&#x220f;" 
 />
    <glyph glyph-name="pi" unicode="&#x3c0;" 
 />
    <glyph glyph-name="integral" unicode="&#x222b;" 
 />
    <glyph glyph-name="Omega" unicode="&#x3a9;" 
 />
    <glyph glyph-name="radical" unicode="&#x221a;" 
 />
    <glyph glyph-name="approxequal" unicode="&#x2248;" 
 />
    <glyph glyph-name="Delta" unicode="&#x2206;" 
 />
    <glyph glyph-name="lozenge" unicode="&#x25ca;" 
 />
    <glyph glyph-name="fraction" unicode="&#x2215;" 
 />
    <glyph glyph-name="fi" unicode="&#xf001;" 
 />
    <glyph glyph-name="fl" unicode="&#xf002;" 
 />
    <glyph glyph-name="apple" unicode="&#xf000;" 
 />
    <glyph glyph-name="dotlessi" unicode="&#x131;" 
 />
    <glyph glyph-name="breve" unicode="&#x2d8;" 
 />
    <glyph glyph-name="dotaccent" unicode="&#x2d9;" horiz-adv-x="611" 
 />
    <glyph glyph-name="ring" unicode="&#x2da;" 
 />
    <glyph glyph-name="hungarumlaut" unicode="&#x2dd;" 
 />
    <glyph glyph-name="ogonek" unicode="&#x2db;" 
 />
    <glyph glyph-name="caron" unicode="&#x2c7;" 
 />
    <hkern g1=".notdef" u2="&#xc1;" k="86" />
    <hkern g1=".notdef" u2="&#xc2;" k="-34" />
    <hkern g1=".notdef" u2="&#x2021;" k="-36" />
    <hkern g1=".notdef" u2="&#x203a;" k="-100" />
    <hkern g1=".notdef" u2="&#x2019;" k="-99" />
    <hkern g1=".notdef" u2="&#x2014;" k="-90" />
    <hkern g1=".notdef" u2="&#x2013;" k="-108" />
    <hkern g1=".notdef" u2="&#x153;" k="-97" />
    <hkern g1=".notdef" u2="&#xc0;" k="275" />
    <hkern g1=".notdef" u2="&#xa2;" k="-150" />
    <hkern g1=".notdef" u2="&#xc9;" k="27" />
    <hkern g1=".notdef" u2="&#x7e;" k="89" />
    <hkern g1=".notdef" u2="z" k="-21" />
    <hkern g1=".notdef" u2="y" k="-99" />
    <hkern g1=".notdef" u2="x" k="-38" />
    <hkern g1=".notdef" u2="w" k="-99" />
    <hkern g1=".notdef" u2="v" k="-71" />
    <hkern g1=".notdef" u2="u" k="-123" />
    <hkern g1=".notdef" u2="t" k="35" />
    <hkern g1=".notdef" u2="s" k="-133" />
    <hkern g1=".notdef" u2="r" k="-117" />
    <hkern g1=".notdef" u2="q" k="-97" />
    <hkern g1=".notdef" u2="p" k="-111" />
    <hkern g1=".notdef" u2="o" k="-110" />
    <hkern g1=".notdef" u2="n" k="-124" />
    <hkern g1=".notdef" u2="m" k="-192" />
    <hkern g1=".notdef" u2="l" k="-149" />
    <hkern g1=".notdef" u2="k" k="-154" />
    <hkern g1=".notdef" u2="j" k="167" />
    <hkern g1=".notdef" u2="i" k="-107" />
    <hkern g1=".notdef" u2="h" k="-127" />
    <hkern g1=".notdef" u2="g" k="-81" />
    <hkern g1=".notdef" u2="f" k="-143" />
    <hkern g1=".notdef" u2="e" k="-116" />
    <hkern g1=".notdef" u2="d" k="-21" />
    <hkern g1=".notdef" u2="c" k="-114" />
    <hkern g1=".notdef" u2="b" k="-159" />
    <hkern g1=".notdef" u2="a" k="-57" />
    <hkern g1=".notdef" u2="`" k="-102" />
    <hkern g1=".notdef" u2="Z" k="-77" />
    <hkern g1=".notdef" u2="Y" k="-218" />
    <hkern g1=".notdef" u2="X" k="-109" />
    <hkern g1=".notdef" u2="W" k="-123" />
    <hkern g1=".notdef" u2="V" k="-134" />
    <hkern g1=".notdef" u2="U" k="-193" />
    <hkern g1=".notdef" u2="T" k="-213" />
    <hkern g1=".notdef" u2="S" k="-71" />
    <hkern g1=".notdef" u2="R" k="-224" />
    <hkern g1=".notdef" u2="Q" k="-171" />
    <hkern g1=".notdef" u2="P" k="-233" />
    <hkern g1=".notdef" u2="O" k="-171" />
    <hkern g1=".notdef" u2="N" k="-114" />
    <hkern g1=".notdef" u2="M" k="-149" />
    <hkern g1=".notdef" u2="L" k="-43" />
    <hkern g1=".notdef" u2="K" k="-216" />
    <hkern g1=".notdef" u2="J" k="243" />
    <hkern g1=".notdef" u2="I" k="-171" />
    <hkern g1=".notdef" u2="H" k="-52" />
    <hkern g1=".notdef" u2="G" k="-170" />
    <hkern g1=".notdef" u2="F" k="-190" />
    <hkern g1=".notdef" u2="E" k="-174" />
    <hkern g1=".notdef" u2="D" k="-143" />
    <hkern g1=".notdef" u2="C" k="-169" />
    <hkern g1=".notdef" u2="B" k="-135" />
    <hkern g1=".notdef" u2="A" k="-125" />
    <hkern g1=".notdef" u2="&#x40;" k="-60" />
    <hkern g1=".notdef" u2="&#x3f;" k="-62" />
    <hkern g1=".notdef" u2="&#x3b;" k="198" />
    <hkern g1=".notdef" u2="&#x3a;" k="311" />
    <hkern g1=".notdef" u2="&#x39;" k="-90" />
    <hkern g1=".notdef" u2="&#x38;" k="-96" />
    <hkern g1=".notdef" u2="&#x37;" k="-130" />
    <hkern g1=".notdef" u2="&#x36;" k="-123" />
    <hkern g1=".notdef" u2="&#x35;" k="-101" />
    <hkern g1=".notdef" u2="&#x34;" k="-143" />
    <hkern g1=".notdef" u2="&#x33;" k="-76" />
    <hkern g1=".notdef" u2="&#x32;" k="-72" />
    <hkern g1=".notdef" u2="&#x31;" k="-107" />
    <hkern g1=".notdef" u2="&#x30;" k="-166" />
    <hkern g1=".notdef" u2="&#x2f;" k="45" />
    <hkern g1=".notdef" u2="&#x2e;" k="101" />
    <hkern g1=".notdef" u2="&#x2d;" k="47" />
    <hkern g1=".notdef" u2="&#x2c;" k="164" />
    <hkern g1=".notdef" u2="&#x29;" k="93" />
    <hkern g1=".notdef" u2="&#x28;" k="-104" />
    <hkern g1=".notdef" u2="&#x26;" k="-22" />
    <hkern g1=".notdef" u2="&#x25;" k="27" />
    <hkern g1=".notdef" u2="&#x24;" k="-181" />
    <hkern g1=".notdef" u2="&#x23;" k="59" />
    <hkern g1=".notdef" u2="&#x21;" k="-45" />
    <hkern g1=".notdef" g2=".notdef" k="-99" />
    <hkern u1="&#x21;" u2="&#xd0;" k="63" />
    <hkern u1="&#x21;" u2="&#xc1;" k="78" />
    <hkern u1="&#x21;" u2="&#xc2;" k="54" />
    <hkern u1="&#x21;" u2="&#x2013;" k="-39" />
    <hkern u1="&#x21;" u2="&#xc0;" k="273" />
    <hkern u1="&#x21;" u2="&#xd1;" k="39" />
    <hkern u1="&#x21;" u2="&#xc9;" k="342" />
    <hkern u1="&#x21;" u2="&#x7e;" k="142" />
    <hkern u1="&#x21;" u2="y" k="121" />
    <hkern u1="&#x21;" u2="x" k="-24" />
    <hkern u1="&#x21;" u2="v" k="25" />
    <hkern u1="&#x21;" u2="u" k="-44" />
    <hkern u1="&#x21;" u2="t" k="85" />
    <hkern u1="&#x21;" u2="r" k="-24" />
    <hkern u1="&#x21;" u2="q" k="-50" />
    <hkern u1="&#x21;" u2="p" k="-25" />
    <hkern u1="&#x21;" u2="o" k="-24" />
    <hkern u1="&#x21;" u2="n" k="-52" />
    <hkern u1="&#x21;" u2="m" k="-96" />
    <hkern u1="&#x21;" u2="k" k="-45" />
    <hkern u1="&#x21;" u2="j" k="-92" />
    <hkern u1="&#x21;" u2="h" k="-33" />
    <hkern u1="&#x21;" u2="f" k="29" />
    <hkern u1="&#x21;" u2="e" k="-42" />
    <hkern u1="&#x21;" u2="c" k="-35" />
    <hkern u1="&#x21;" u2="b" k="-58" />
    <hkern u1="&#x21;" u2="a" k="-28" />
    <hkern u1="&#x21;" u2="`" k="90" />
    <hkern u1="&#x21;" u2="Z" k="-41" />
    <hkern u1="&#x21;" u2="Y" k="-38" />
    <hkern u1="&#x21;" u2="X" k="-65" />
    <hkern u1="&#x21;" u2="W" k="-21" />
    <hkern u1="&#x21;" u2="T" k="-32" />
    <hkern u1="&#x21;" u2="S" k="26" />
    <hkern u1="&#x21;" u2="R" k="-56" />
    <hkern u1="&#x21;" u2="Q" k="-51" />
    <hkern u1="&#x21;" u2="P" k="-53" />
    <hkern u1="&#x21;" u2="O" k="-52" />
    <hkern u1="&#x21;" u2="M" k="-32" />
    <hkern u1="&#x21;" u2="L" k="-58" />
    <hkern u1="&#x21;" u2="K" k="-86" />
    <hkern u1="&#x21;" u2="I" k="-38" />
    <hkern u1="&#x21;" u2="H" k="-82" />
    <hkern u1="&#x21;" u2="G" k="-51" />
    <hkern u1="&#x21;" u2="F" k="-28" />
    <hkern u1="&#x21;" u2="E" k="-33" />
    <hkern u1="&#x21;" u2="D" k="-43" />
    <hkern u1="&#x21;" u2="C" k="-63" />
    <hkern u1="&#x21;" u2="B" k="-53" />
    <hkern u1="&#x21;" u2="A" k="-32" />
    <hkern u1="&#x21;" u2="&#x40;" k="113" />
    <hkern u1="&#x21;" u2="&#x3f;" k="43" />
    <hkern u1="&#x21;" u2="&#x3b;" k="130" />
    <hkern u1="&#x21;" u2="&#x3a;" k="141" />
    <hkern u1="&#x21;" u2="&#x36;" k="-21" />
    <hkern u1="&#x21;" u2="&#x35;" k="-44" />
    <hkern u1="&#x21;" u2="&#x32;" k="-70" />
    <hkern u1="&#x21;" u2="&#x31;" k="-22" />
    <hkern u1="&#x21;" u2="&#x30;" k="-34" />
    <hkern u1="&#x21;" u2="&#x2e;" k="415" />
    <hkern u1="&#x21;" u2="&#x2d;" k="87" />
    <hkern u1="&#x21;" u2="&#x2c;" k="72" />
    <hkern u1="&#x21;" u2="&#x29;" k="77" />
    <hkern u1="&#x21;" u2="&#x26;" k="67" />
    <hkern u1="&#x21;" u2="&#x25;" k="-34" />
    <hkern u1="&#x21;" u2="&#x23;" k="101" />
    <hkern u1="&#x21;" u2="&#x21;" k="125" />
    <hkern u1="&#x21;" g2=".notdef" k="-24" />
    <hkern u1="&#x23;" u2="&#xd0;" k="426" />
    <hkern u1="&#x23;" u2="&#xc1;" k="667" />
    <hkern u1="&#x23;" u2="&#xc2;" k="110" />
    <hkern u1="&#x23;" u2="&#x2021;" k="219" />
    <hkern u1="&#x23;" u2="&#x203a;" k="60" />
    <hkern u1="&#x23;" u2="&#x2014;" k="70" />
    <hkern u1="&#x23;" u2="&#x153;" k="36" />
    <hkern u1="&#x23;" u2="&#xc0;" k="873" />
    <hkern u1="&#x23;" u2="&#xa2;" k="-114" />
    <hkern u1="&#x23;" u2="&#xd1;" k="402" />
    <hkern u1="&#x23;" u2="&#xc9;" k="953" />
    <hkern u1="&#x23;" u2="&#x7e;" k="393" />
    <hkern u1="&#x23;" u2="z" k="29" />
    <hkern u1="&#x23;" u2="y" k="31" />
    <hkern u1="&#x23;" u2="w" k="21" />
    <hkern u1="&#x23;" u2="v" k="-59" />
    <hkern u1="&#x23;" u2="u" k="23" />
    <hkern u1="&#x23;" u2="t" k="132" />
    <hkern u1="&#x23;" u2="s" k="35" />
    <hkern u1="&#x23;" u2="r" k="-35" />
    <hkern u1="&#x23;" u2="q" k="155" />
    <hkern u1="&#x23;" u2="o" k="62" />
    <hkern u1="&#x23;" u2="m" k="-76" />
    <hkern u1="&#x23;" u2="l" k="-43" />
    <hkern u1="&#x23;" u2="k" k="-66" />
    <hkern u1="&#x23;" u2="j" k="105" />
    <hkern u1="&#x23;" u2="h" k="-30" />
    <hkern u1="&#x23;" u2="g" k="139" />
    <hkern u1="&#x23;" u2="f" k="86" />
    <hkern u1="&#x23;" u2="e" k="95" />
    <hkern u1="&#x23;" u2="d" k="226" />
    <hkern u1="&#x23;" u2="c" k="87" />
    <hkern u1="&#x23;" u2="b" k="-53" />
    <hkern u1="&#x23;" u2="a" k="209" />
    <hkern u1="&#x23;" u2="`" k="30" />
    <hkern u1="&#x23;" u2="Z" k="93" />
    <hkern u1="&#x23;" u2="Y" k="-81" />
    <hkern u1="&#x23;" u2="X" k="41" />
    <hkern u1="&#x23;" u2="W" k="21" />
    <hkern u1="&#x23;" u2="V" k="-41" />
    <hkern u1="&#x23;" u2="U" k="-67" />
    <hkern u1="&#x23;" u2="T" k="-82" />
    <hkern u1="&#x23;" u2="S" k="-73" />
    <hkern u1="&#x23;" u2="R" k="-113" />
    <hkern u1="&#x23;" u2="Q" k="-71" />
    <hkern u1="&#x23;" u2="P" k="-111" />
    <hkern u1="&#x23;" u2="O" k="-69" />
    <hkern u1="&#x23;" u2="N" k="-25" />
    <hkern u1="&#x23;" u2="M" k="-41" />
    <hkern u1="&#x23;" u2="L" k="96" />
    <hkern u1="&#x23;" u2="K" k="-118" />
    <hkern u1="&#x23;" u2="J" k="187" />
    <hkern u1="&#x23;" u2="I" k="138" />
    <hkern u1="&#x23;" u2="H" k="91" />
    <hkern u1="&#x23;" u2="G" k="-60" />
    <hkern u1="&#x23;" u2="F" k="-87" />
    <hkern u1="&#x23;" u2="E" k="-90" />
    <hkern u1="&#x23;" u2="D" k="-70" />
    <hkern u1="&#x23;" u2="C" k="-39" />
    <hkern u1="&#x23;" u2="A" k="197" />
    <hkern u1="&#x23;" u2="&#x40;" k="30" />
    <hkern u1="&#x23;" u2="&#x3b;" k="289" />
    <hkern u1="&#x23;" u2="&#x3a;" k="617" />
    <hkern u1="&#x23;" u2="&#x39;" k="-40" />
    <hkern u1="&#x23;" u2="&#x38;" k="-82" />
    <hkern u1="&#x23;" u2="&#x37;" k="160" />
    <hkern u1="&#x23;" u2="&#x33;" k="100" />
    <hkern u1="&#x23;" u2="&#x30;" k="-77" />
    <hkern u1="&#x23;" u2="&#x2f;" k="314" />
    <hkern u1="&#x23;" u2="&#x2e;" k="1026" />
    <hkern u1="&#x23;" u2="&#x2d;" k="452" />
    <hkern u1="&#x23;" u2="&#x2c;" k="780" />
    <hkern u1="&#x23;" u2="&#x29;" k="259" />
    <hkern u1="&#x23;" u2="&#x26;" k="197" />
    <hkern u1="&#x23;" u2="&#x25;" k="282" />
    <hkern u1="&#x23;" u2="&#x24;" k="-86" />
    <hkern u1="&#x23;" u2="&#x23;" k="138" />
    <hkern u1="&#x23;" u2="&#x21;" k="49" />
    <hkern u1="&#x23;" g2=".notdef" k="100" />
    <hkern u1="&#x24;" u2="&#xd0;" k="36" />
    <hkern u1="&#x24;" u2="&#xc1;" k="340" />
    <hkern u1="&#x24;" u2="&#xc2;" k="75" />
    <hkern u1="&#x24;" u2="&#x2021;" k="199" />
    <hkern u1="&#x24;" u2="&#x203a;" k="50" />
    <hkern u1="&#x24;" u2="&#x2014;" k="69" />
    <hkern u1="&#x24;" u2="&#x153;" k="32" />
    <hkern u1="&#x24;" u2="&#xc0;" k="517" />
    <hkern u1="&#x24;" u2="&#xa2;" k="-117" />
    <hkern u1="&#x24;" u2="&#xc9;" k="609" />
    <hkern u1="&#x24;" u2="&#x7e;" k="29" />
    <hkern u1="&#x24;" u2="x" k="-71" />
    <hkern u1="&#x24;" u2="v" k="-109" />
    <hkern u1="&#x24;" u2="t" k="50" />
    <hkern u1="&#x24;" u2="r" k="-86" />
    <hkern u1="&#x24;" u2="q" k="114" />
    <hkern u1="&#x24;" u2="p" k="-39" />
    <hkern u1="&#x24;" u2="o" k="38" />
    <hkern u1="&#x24;" u2="n" k="-32" />
    <hkern u1="&#x24;" u2="m" k="-111" />
    <hkern u1="&#x24;" u2="l" k="-67" />
    <hkern u1="&#x24;" u2="k" k="-86" />
    <hkern u1="&#x24;" u2="j" k="119" />
    <hkern u1="&#x24;" u2="h" k="-47" />
    <hkern u1="&#x24;" u2="g" k="117" />
    <hkern u1="&#x24;" u2="f" k="65" />
    <hkern u1="&#x24;" u2="e" k="73" />
    <hkern u1="&#x24;" u2="d" k="218" />
    <hkern u1="&#x24;" u2="c" k="64" />
    <hkern u1="&#x24;" u2="b" k="-68" />
    <hkern u1="&#x24;" u2="a" k="165" />
    <hkern u1="&#x24;" u2="`" k="184" />
    <hkern u1="&#x24;" u2="Z" k="198" />
    <hkern u1="&#x24;" u2="X" k="-101" />
    <hkern u1="&#x24;" u2="W" k="-113" />
    <hkern u1="&#x24;" u2="V" k="-52" />
    <hkern u1="&#x24;" u2="U" k="61" />
    <hkern u1="&#x24;" u2="T" k="35" />
    <hkern u1="&#x24;" u2="S" k="-92" />
    <hkern u1="&#x24;" u2="Q" k="-79" />
    <hkern u1="&#x24;" u2="O" k="-77" />
    <hkern u1="&#x24;" u2="N" k="-113" />
    <hkern u1="&#x24;" u2="M" k="-100" />
    <hkern u1="&#x24;" u2="L" k="83" />
    <hkern u1="&#x24;" u2="K" k="-140" />
    <hkern u1="&#x24;" u2="I" k="-41" />
    <hkern u1="&#x24;" u2="H" k="21" />
    <hkern u1="&#x24;" u2="G" k="-67" />
    <hkern u1="&#x24;" u2="E" k="35" />
    <hkern u1="&#x24;" u2="D" k="-94" />
    <hkern u1="&#x24;" u2="C" k="-43" />
    <hkern u1="&#x24;" u2="B" k="-157" />
    <hkern u1="&#x24;" u2="A" k="127" />
    <hkern u1="&#x24;" u2="&#x3b;" k="250" />
    <hkern u1="&#x24;" u2="&#x3a;" k="171" />
    <hkern u1="&#x24;" u2="&#x39;" k="-72" />
    <hkern u1="&#x24;" u2="&#x38;" k="-116" />
    <hkern u1="&#x24;" u2="&#x37;" k="79" />
    <hkern u1="&#x24;" u2="&#x33;" k="236" />
    <hkern u1="&#x24;" u2="&#x32;" k="-85" />
    <hkern u1="&#x24;" u2="&#x31;" k="64" />
    <hkern u1="&#x24;" u2="&#x30;" k="-95" />
    <hkern u1="&#x24;" u2="&#x2f;" k="286" />
    <hkern u1="&#x24;" u2="&#x2e;" k="271" />
    <hkern u1="&#x24;" u2="&#x2d;" k="66" />
    <hkern u1="&#x24;" u2="&#x2c;" k="339" />
    <hkern u1="&#x24;" u2="&#x29;" k="90" />
    <hkern u1="&#x24;" u2="&#x28;" k="-25" />
    <hkern u1="&#x24;" u2="&#x26;" k="142" />
    <hkern u1="&#x24;" u2="&#x25;" k="260" />
    <hkern u1="&#x24;" u2="&#x24;" k="-46" />
    <hkern u1="&#x24;" u2="&#x23;" k="70" />
    <hkern u1="&#x24;" u2="&#x21;" k="23" />
    <hkern u1="&#x24;" g2=".notdef" k="100" />
    <hkern u1="&#x25;" u2="&#xd0;" k="344" />
    <hkern u1="&#x25;" u2="&#xc1;" k="365" />
    <hkern u1="&#x25;" u2="&#xc2;" k="283" />
    <hkern u1="&#x25;" u2="&#x2021;" k="214" />
    <hkern u1="&#x25;" u2="&#x203a;" k="176" />
    <hkern u1="&#x25;" u2="&#x2019;" k="147" />
    <hkern u1="&#x25;" u2="&#x2014;" k="198" />
    <hkern u1="&#x25;" u2="&#x2013;" k="167" />
    <hkern u1="&#x25;" u2="&#x153;" k="187" />
    <hkern u1="&#x25;" u2="&#xc0;" k="603" />
    <hkern u1="&#x25;" u2="&#xa2;" k="-94" />
    <hkern u1="&#x25;" u2="&#xd1;" k="319" />
    <hkern u1="&#x25;" u2="&#xc9;" k="255" />
    <hkern u1="&#x25;" u2="&#x7e;" k="138" />
    <hkern u1="&#x25;" u2="z" k="217" />
    <hkern u1="&#x25;" u2="y" k="218" />
    <hkern u1="&#x25;" u2="x" k="82" />
    <hkern u1="&#x25;" u2="w" k="205" />
    <hkern u1="&#x25;" u2="v" k="178" />
    <hkern u1="&#x25;" u2="u" k="178" />
    <hkern u1="&#x25;" u2="t" k="205" />
    <hkern u1="&#x25;" u2="s" k="230" />
    <hkern u1="&#x25;" u2="r" k="147" />
    <hkern u1="&#x25;" u2="q" k="185" />
    <hkern u1="&#x25;" u2="p" k="203" />
    <hkern u1="&#x25;" u2="o" k="194" />
    <hkern u1="&#x25;" u2="n" k="180" />
    <hkern u1="&#x25;" u2="m" k="124" />
    <hkern u1="&#x25;" u2="l" k="-101" />
    <hkern u1="&#x25;" u2="k" k="-96" />
    <hkern u1="&#x25;" u2="j" k="153" />
    <hkern u1="&#x25;" u2="i" k="-47" />
    <hkern u1="&#x25;" u2="h" k="-56" />
    <hkern u1="&#x25;" u2="g" k="216" />
    <hkern u1="&#x25;" u2="f" k="62" />
    <hkern u1="&#x25;" u2="e" k="175" />
    <hkern u1="&#x25;" u2="d" k="230" />
    <hkern u1="&#x25;" u2="c" k="182" />
    <hkern u1="&#x25;" u2="b" k="-49" />
    <hkern u1="&#x25;" u2="a" k="208" />
    <hkern u1="&#x25;" u2="`" k="-92" />
    <hkern u1="&#x25;" u2="Z" k="-24" />
    <hkern u1="&#x25;" u2="Y" k="-152" />
    <hkern u1="&#x25;" u2="X" k="-92" />
    <hkern u1="&#x25;" u2="V" k="-46" />
    <hkern u1="&#x25;" u2="U" k="-121" />
    <hkern u1="&#x25;" u2="T" k="-155" />
    <hkern u1="&#x25;" u2="S" k="47" />
    <hkern u1="&#x25;" u2="R" k="-142" />
    <hkern u1="&#x25;" u2="Q" k="-53" />
    <hkern u1="&#x25;" u2="P" k="-154" />
    <hkern u1="&#x25;" u2="O" k="-58" />
    <hkern u1="&#x25;" u2="M" k="-44" />
    <hkern u1="&#x25;" u2="K" k="-163" />
    <hkern u1="&#x25;" u2="J" k="-42" />
    <hkern u1="&#x25;" u2="I" k="-156" />
    <hkern u1="&#x25;" u2="G" k="28" />
    <hkern u1="&#x25;" u2="F" k="-90" />
    <hkern u1="&#x25;" u2="E" k="-74" />
    <hkern u1="&#x25;" u2="D" k="-63" />
    <hkern u1="&#x25;" u2="C" k="84" />
    <hkern u1="&#x25;" u2="A" k="191" />
    <hkern u1="&#x25;" u2="&#x40;" k="256" />
    <hkern u1="&#x25;" u2="&#x3f;" k="24" />
    <hkern u1="&#x25;" u2="&#x3b;" k="450" />
    <hkern u1="&#x25;" u2="&#x3a;" k="369" />
    <hkern u1="&#x25;" u2="&#x39;" k="32" />
    <hkern u1="&#x25;" u2="&#x38;" k="43" />
    <hkern u1="&#x25;" u2="&#x37;" k="-119" />
    <hkern u1="&#x25;" u2="&#x36;" k="129" />
    <hkern u1="&#x25;" u2="&#x34;" k="43" />
    <hkern u1="&#x25;" u2="&#x33;" k="78" />
    <hkern u1="&#x25;" u2="&#x31;" k="-26" />
    <hkern u1="&#x25;" u2="&#x30;" k="-23" />
    <hkern u1="&#x25;" u2="&#x2f;" k="275" />
    <hkern u1="&#x25;" u2="&#x2e;" k="329" />
    <hkern u1="&#x25;" u2="&#x2d;" k="374" />
    <hkern u1="&#x25;" u2="&#x2c;" k="427" />
    <hkern u1="&#x25;" u2="&#x29;" k="83" />
    <hkern u1="&#x25;" u2="&#x28;" k="48" />
    <hkern u1="&#x25;" u2="&#x26;" k="188" />
    <hkern u1="&#x25;" u2="&#x25;" k="223" />
    <hkern u1="&#x25;" u2="&#x24;" k="-124" />
    <hkern u1="&#x25;" u2="&#x23;" k="91" />
    <hkern u1="&#x25;" g2=".notdef" k="177" />
    <hkern u1="&#x26;" u2="&#xd0;" k="-43" />
    <hkern u1="&#x26;" u2="&#xc1;" k="218" />
    <hkern u1="&#x26;" u2="&#xc2;" k="77" />
    <hkern u1="&#x26;" u2="&#x2021;" k="97" />
    <hkern u1="&#x26;" u2="&#x203a;" k="31" />
    <hkern u1="&#x26;" u2="&#x2014;" k="47" />
    <hkern u1="&#x26;" u2="&#x153;" k="24" />
    <hkern u1="&#x26;" u2="&#xc0;" k="432" />
    <hkern u1="&#x26;" u2="&#xa2;" k="-95" />
    <hkern u1="&#x26;" u2="&#xd1;" k="-67" />
    <hkern u1="&#x26;" u2="&#xc9;" k="133" />
    <hkern u1="&#x26;" u2="&#x7e;" k="163" />
    <hkern u1="&#x26;" u2="v" k="-84" />
    <hkern u1="&#x26;" u2="s" k="-27" />
    <hkern u1="&#x26;" u2="r" k="-57" />
    <hkern u1="&#x26;" u2="q" k="39" />
    <hkern u1="&#x26;" u2="p" k="-25" />
    <hkern u1="&#x26;" u2="n" k="-34" />
    <hkern u1="&#x26;" u2="m" k="-110" />
    <hkern u1="&#x26;" u2="l" k="-36" />
    <hkern u1="&#x26;" u2="k" k="-62" />
    <hkern u1="&#x26;" u2="j" k="97" />
    <hkern u1="&#x26;" u2="h" k="-29" />
    <hkern u1="&#x26;" u2="g" k="68" />
    <hkern u1="&#x26;" u2="f" k="44" />
    <hkern u1="&#x26;" u2="e" k="33" />
    <hkern u1="&#x26;" u2="d" k="113" />
    <hkern u1="&#x26;" u2="c" k="28" />
    <hkern u1="&#x26;" u2="b" k="-53" />
    <hkern u1="&#x26;" u2="a" k="67" />
    <hkern u1="&#x26;" u2="`" k="230" />
    <hkern u1="&#x26;" u2="Z" k="84" />
    <hkern u1="&#x26;" u2="Y" k="71" />
    <hkern u1="&#x26;" u2="X" k="60" />
    <hkern u1="&#x26;" u2="W" k="-104" />
    <hkern u1="&#x26;" u2="V" k="59" />
    <hkern u1="&#x26;" u2="U" k="60" />
    <hkern u1="&#x26;" u2="T" k="69" />
    <hkern u1="&#x26;" u2="S" k="-71" />
    <hkern u1="&#x26;" u2="Q" k="-72" />
    <hkern u1="&#x26;" u2="P" k="21" />
    <hkern u1="&#x26;" u2="O" k="-72" />
    <hkern u1="&#x26;" u2="N" k="-26" />
    <hkern u1="&#x26;" u2="M" k="21" />
    <hkern u1="&#x26;" u2="L" k="114" />
    <hkern u1="&#x26;" u2="K" k="-112" />
    <hkern u1="&#x26;" u2="J" k="310" />
    <hkern u1="&#x26;" u2="I" k="169" />
    <hkern u1="&#x26;" u2="G" k="-67" />
    <hkern u1="&#x26;" u2="C" k="-53" />
    <hkern u1="&#x26;" u2="B" k="-100" />
    <hkern u1="&#x26;" u2="A" k="59" />
    <hkern u1="&#x26;" u2="&#x3f;" k="104" />
    <hkern u1="&#x26;" u2="&#x3b;" k="220" />
    <hkern u1="&#x26;" u2="&#x3a;" k="139" />
    <hkern u1="&#x26;" u2="&#x39;" k="-36" />
    <hkern u1="&#x26;" u2="&#x38;" k="-82" />
    <hkern u1="&#x26;" u2="&#x37;" k="161" />
    <hkern u1="&#x26;" u2="&#x35;" k="-26" />
    <hkern u1="&#x26;" u2="&#x33;" k="34" />
    <hkern u1="&#x26;" u2="&#x32;" k="44" />
    <hkern u1="&#x26;" u2="&#x31;" k="81" />
    <hkern u1="&#x26;" u2="&#x30;" k="-77" />
    <hkern u1="&#x26;" u2="&#x2f;" k="159" />
    <hkern u1="&#x26;" u2="&#x2e;" k="207" />
    <hkern u1="&#x26;" u2="&#x2c;" k="284" />
    <hkern u1="&#x26;" u2="&#x29;" k="275" />
    <hkern u1="&#x26;" u2="&#x26;" k="146" />
    <hkern u1="&#x26;" u2="&#x25;" k="142" />
    <hkern u1="&#x26;" u2="&#x24;" k="-48" />
    <hkern u1="&#x26;" u2="&#x23;" k="35" />
    <hkern u1="&#x26;" u2="&#x21;" k="54" />
    <hkern u1="&#x26;" g2=".notdef" k="59" />
    <hkern u1="&#x28;" u2="&#xd0;" k="186" />
    <hkern u1="&#x28;" u2="&#xc1;" k="111" />
    <hkern u1="&#x28;" u2="&#xc2;" k="140" />
    <hkern u1="&#x28;" u2="&#x2021;" k="62" />
    <hkern u1="&#x28;" u2="&#x203a;" k="153" />
    <hkern u1="&#x28;" u2="&#x2019;" k="160" />
    <hkern u1="&#x28;" u2="&#x2014;" k="164" />
    <hkern u1="&#x28;" u2="&#x2013;" k="62" />
    <hkern u1="&#x28;" u2="&#x153;" k="114" />
    <hkern u1="&#x28;" u2="&#xc0;" k="388" />
    <hkern u1="&#x28;" u2="&#xd1;" k="161" />
    <hkern u1="&#x28;" u2="&#xc9;" k="196" />
    <hkern u1="&#x28;" u2="&#x7e;" k="184" />
    <hkern u1="&#x28;" u2="z" k="99" />
    <hkern u1="&#x28;" u2="y" k="245" />
    <hkern u1="&#x28;" u2="x" k="36" />
    <hkern u1="&#x28;" u2="w" k="126" />
    <hkern u1="&#x28;" u2="v" k="115" />
    <hkern u1="&#x28;" u2="u" k="95" />
    <hkern u1="&#x28;" u2="t" k="203" />
    <hkern u1="&#x28;" u2="s" k="139" />
    <hkern u1="&#x28;" u2="r" k="82" />
    <hkern u1="&#x28;" u2="q" k="119" />
    <hkern u1="&#x28;" u2="o" k="150" />
    <hkern u1="&#x28;" u2="n" k="53" />
    <hkern u1="&#x28;" u2="m" k="21" />
    <hkern u1="&#x28;" u2="l" k="-37" />
    <hkern u1="&#x28;" u2="k" k="-32" />
    <hkern u1="&#x28;" u2="j" k="25" />
    <hkern u1="&#x28;" u2="i" k="53" />
    <hkern u1="&#x28;" u2="g" k="169" />
    <hkern u1="&#x28;" u2="f" k="145" />
    <hkern u1="&#x28;" u2="e" k="130" />
    <hkern u1="&#x28;" u2="d" k="60" />
    <hkern u1="&#x28;" u2="c" k="147" />
    <hkern u1="&#x28;" u2="b" k="25" />
    <hkern u1="&#x28;" u2="a" k="45" />
    <hkern u1="&#x28;" u2="`" k="45" />
    <hkern u1="&#x28;" u2="Z" k="21" />
    <hkern u1="&#x28;" u2="Y" k="-62" />
    <hkern u1="&#x28;" u2="X" k="-81" />
    <hkern u1="&#x28;" u2="W" k="44" />
    <hkern u1="&#x28;" u2="V" k="28" />
    <hkern u1="&#x28;" u2="U" k="-27" />
    <hkern u1="&#x28;" u2="T" k="-60" />
    <hkern u1="&#x28;" u2="S" k="99" />
    <hkern u1="&#x28;" u2="R" k="-61" />
    <hkern u1="&#x28;" u2="Q" k="34" />
    <hkern u1="&#x28;" u2="P" k="-66" />
    <hkern u1="&#x28;" u2="O" k="34" />
    <hkern u1="&#x28;" u2="N" k="24" />
    <hkern u1="&#x28;" u2="L" k="-33" />
    <hkern u1="&#x28;" u2="K" k="-90" />
    <hkern u1="&#x28;" u2="J" k="93" />
    <hkern u1="&#x28;" u2="I" k="-97" />
    <hkern u1="&#x28;" u2="H" k="-58" />
    <hkern u1="&#x28;" u2="G" k="118" />
    <hkern u1="&#x28;" u2="F" k="-22" />
    <hkern u1="&#x28;" u2="C" k="91" />
    <hkern u1="&#x28;" u2="&#x40;" k="224" />
    <hkern u1="&#x28;" u2="&#x3f;" k="71" />
    <hkern u1="&#x28;" u2="&#x3b;" k="119" />
    <hkern u1="&#x28;" u2="&#x3a;" k="270" />
    <hkern u1="&#x28;" u2="&#x38;" k="58" />
    <hkern u1="&#x28;" u2="&#x37;" k="-73" />
    <hkern u1="&#x28;" u2="&#x36;" k="87" />
    <hkern u1="&#x28;" u2="&#x34;" k="109" />
    <hkern u1="&#x28;" u2="&#x33;" k="73" />
    <hkern u1="&#x28;" u2="&#x32;" k="-25" />
    <hkern u1="&#x28;" u2="&#x30;" k="74" />
    <hkern u1="&#x28;" u2="&#x2e;" k="269" />
    <hkern u1="&#x28;" u2="&#x2d;" k="210" />
    <hkern u1="&#x28;" u2="&#x2c;" k="95" />
    <hkern u1="&#x28;" u2="&#x29;" k="69" />
    <hkern u1="&#x28;" u2="&#x28;" k="130" />
    <hkern u1="&#x28;" u2="&#x26;" k="259" />
    <hkern u1="&#x28;" u2="&#x25;" k="-21" />
    <hkern u1="&#x28;" u2="&#x23;" k="131" />
    <hkern u1="&#x28;" u2="&#x21;" k="84" />
    <hkern u1="&#x28;" g2=".notdef" k="141" />
    <hkern u1="&#x29;" u2="&#xd0;" k="-132" />
    <hkern u1="&#x29;" u2="&#xc1;" k="85" />
    <hkern u1="&#x29;" u2="&#x203a;" k="-81" />
    <hkern u1="&#x29;" u2="&#x2019;" k="-92" />
    <hkern u1="&#x29;" u2="&#x2014;" k="-67" />
    <hkern u1="&#x29;" u2="&#x2013;" k="-99" />
    <hkern u1="&#x29;" u2="&#x153;" k="-76" />
    <hkern u1="&#x29;" u2="&#xc0;" k="351" />
    <hkern u1="&#x29;" u2="&#xa2;" k="-187" />
    <hkern u1="&#x29;" u2="&#xd1;" k="-157" />
    <hkern u1="&#x29;" u2="&#xc9;" k="36" />
    <hkern u1="&#x29;" u2="&#x7e;" k="-37" />
    <hkern u1="&#x29;" u2="z" k="-82" />
    <hkern u1="&#x29;" u2="y" k="-72" />
    <hkern u1="&#x29;" u2="x" k="-137" />
    <hkern u1="&#x29;" u2="w" k="-96" />
    <hkern u1="&#x29;" u2="v" k="-161" />
    <hkern u1="&#x29;" u2="u" k="-102" />
    <hkern u1="&#x29;" u2="t" k="-98" />
    <hkern u1="&#x29;" u2="s" k="-132" />
    <hkern u1="&#x29;" u2="r" k="-142" />
    <hkern u1="&#x29;" u2="q" k="-72" />
    <hkern u1="&#x29;" u2="p" k="-99" />
    <hkern u1="&#x29;" u2="o" k="-87" />
    <hkern u1="&#x29;" u2="n" k="-110" />
    <hkern u1="&#x29;" u2="m" k="-187" />
    <hkern u1="&#x29;" u2="l" k="-124" />
    <hkern u1="&#x29;" u2="k" k="-145" />
    <hkern u1="&#x29;" u2="j" k="-22" />
    <hkern u1="&#x29;" u2="i" k="-99" />
    <hkern u1="&#x29;" u2="h" k="-115" />
    <hkern u1="&#x29;" u2="g" k="-49" />
    <hkern u1="&#x29;" u2="f" k="-123" />
    <hkern u1="&#x29;" u2="e" k="-93" />
    <hkern u1="&#x29;" u2="c" k="-90" />
    <hkern u1="&#x29;" u2="b" k="-142" />
    <hkern u1="&#x29;" u2="a" k="-41" />
    <hkern u1="&#x29;" u2="Z" k="-22" />
    <hkern u1="&#x29;" u2="Y" k="-128" />
    <hkern u1="&#x29;" u2="X" k="-53" />
    <hkern u1="&#x29;" u2="W" k="-190" />
    <hkern u1="&#x29;" u2="V" k="-148" />
    <hkern u1="&#x29;" u2="U" k="-135" />
    <hkern u1="&#x29;" u2="T" k="-139" />
    <hkern u1="&#x29;" u2="S" k="-155" />
    <hkern u1="&#x29;" u2="R" k="-179" />
    <hkern u1="&#x29;" u2="Q" k="-159" />
    <hkern u1="&#x29;" u2="P" k="-174" />
    <hkern u1="&#x29;" u2="O" k="-163" />
    <hkern u1="&#x29;" u2="N" k="-177" />
    <hkern u1="&#x29;" u2="M" k="-181" />
    <hkern u1="&#x29;" u2="K" k="-199" />
    <hkern u1="&#x29;" u2="J" k="53" />
    <hkern u1="&#x29;" u2="I" k="-98" />
    <hkern u1="&#x29;" u2="H" k="-100" />
    <hkern u1="&#x29;" u2="G" k="-150" />
    <hkern u1="&#x29;" u2="F" k="-160" />
    <hkern u1="&#x29;" u2="E" k="-170" />
    <hkern u1="&#x29;" u2="D" k="-199" />
    <hkern u1="&#x29;" u2="C" k="-147" />
    <hkern u1="&#x29;" u2="B" k="-220" />
    <hkern u1="&#x29;" u2="A" k="-94" />
    <hkern u1="&#x29;" u2="&#x40;" k="-77" />
    <hkern u1="&#x29;" u2="&#x3f;" k="-113" />
    <hkern u1="&#x29;" u2="&#x3b;" k="142" />
    <hkern u1="&#x29;" u2="&#x3a;" k="58" />
    <hkern u1="&#x29;" u2="&#x39;" k="-120" />
    <hkern u1="&#x29;" u2="&#x38;" k="-176" />
    <hkern u1="&#x29;" u2="&#x37;" k="-56" />
    <hkern u1="&#x29;" u2="&#x36;" k="-101" />
    <hkern u1="&#x29;" u2="&#x35;" k="-135" />
    <hkern u1="&#x29;" u2="&#x34;" k="-109" />
    <hkern u1="&#x29;" u2="&#x33;" k="-78" />
    <hkern u1="&#x29;" u2="&#x32;" k="-180" />
    <hkern u1="&#x29;" u2="&#x31;" k="-83" />
    <hkern u1="&#x29;" u2="&#x30;" k="-161" />
    <hkern u1="&#x29;" u2="&#x2f;" k="47" />
    <hkern u1="&#x29;" u2="&#x2e;" k="110" />
    <hkern u1="&#x29;" u2="&#x2d;" k="-109" />
    <hkern u1="&#x29;" u2="&#x2c;" k="177" />
    <hkern u1="&#x29;" u2="&#x29;" k="127" />
    <hkern u1="&#x29;" u2="&#x28;" k="-96" />
    <hkern u1="&#x29;" u2="&#x25;" k="30" />
    <hkern u1="&#x29;" u2="&#x24;" k="-159" />
    <hkern u1="&#x29;" u2="&#x23;" k="-57" />
    <hkern u1="&#x29;" u2="&#x21;" k="-34" />
    <hkern u1="&#x29;" g2=".notdef" k="-75" />
    <hkern u1="&#x2c;" u2="&#xd0;" k="343" />
    <hkern u1="&#x2c;" u2="&#xc1;" k="92" />
    <hkern u1="&#x2c;" u2="&#xc2;" k="49" />
    <hkern u1="&#x2c;" u2="&#x2021;" k="-67" />
    <hkern u1="&#x2c;" u2="&#x203a;" k="-42" />
    <hkern u1="&#x2c;" u2="&#x2014;" k="-42" />
    <hkern u1="&#x2c;" u2="&#x2013;" k="-67" />
    <hkern u1="&#x2c;" u2="&#x153;" k="-63" />
    <hkern u1="&#x2c;" u2="&#xc0;" k="291" />
    <hkern u1="&#x2c;" u2="&#xa2;" k="281" />
    <hkern u1="&#x2c;" u2="&#xd1;" k="298" />
    <hkern u1="&#x2c;" u2="&#x7e;" k="448" />
    <hkern u1="&#x2c;" u2="z" k="-67" />
    <hkern u1="&#x2c;" u2="x" k="-36" />
    <hkern u1="&#x2c;" u2="w" k="-47" />
    <hkern u1="&#x2c;" u2="v" k="122" />
    <hkern u1="&#x2c;" u2="u" k="-63" />
    <hkern u1="&#x2c;" u2="t" k="156" />
    <hkern u1="&#x2c;" u2="s" k="-24" />
    <hkern u1="&#x2c;" u2="r" k="-38" />
    <hkern u1="&#x2c;" u2="q" k="-60" />
    <hkern u1="&#x2c;" u2="p" k="-29" />
    <hkern u1="&#x2c;" u2="o" k="-42" />
    <hkern u1="&#x2c;" u2="n" k="-67" />
    <hkern u1="&#x2c;" u2="m" k="-106" />
    <hkern u1="&#x2c;" u2="k" k="-25" />
    <hkern u1="&#x2c;" u2="j" k="-53" />
    <hkern u1="&#x2c;" u2="h" k="-39" />
    <hkern u1="&#x2c;" u2="f" k="100" />
    <hkern u1="&#x2c;" u2="e" k="-66" />
    <hkern u1="&#x2c;" u2="d" k="-56" />
    <hkern u1="&#x2c;" u2="c" k="-53" />
    <hkern u1="&#x2c;" u2="b" k="-51" />
    <hkern u1="&#x2c;" u2="a" k="-67" />
    <hkern u1="&#x2c;" u2="`" k="431" />
    <hkern u1="&#x2c;" u2="Z" k="-67" />
    <hkern u1="&#x2c;" u2="Y" k="100" />
    <hkern u1="&#x2c;" u2="X" k="-80" />
    <hkern u1="&#x2c;" u2="W" k="254" />
    <hkern u1="&#x2c;" u2="V" k="324" />
    <hkern u1="&#x2c;" u2="T" k="304" />
    <hkern u1="&#x2c;" u2="S" k="29" />
    <hkern u1="&#x2c;" u2="R" k="261" />
    <hkern u1="&#x2c;" u2="Q" k="-30" />
    <hkern u1="&#x2c;" u2="P" k="267" />
    <hkern u1="&#x2c;" u2="O" k="-47" />
    <hkern u1="&#x2c;" u2="N" k="270" />
    <hkern u1="&#x2c;" u2="M" k="280" />
    <hkern u1="&#x2c;" u2="K" k="-80" />
    <hkern u1="&#x2c;" u2="I" k="50" />
    <hkern u1="&#x2c;" u2="G" k="-45" />
    <hkern u1="&#x2c;" u2="F" k="64" />
    <hkern u1="&#x2c;" u2="E" k="102" />
    <hkern u1="&#x2c;" u2="D" k="253" />
    <hkern u1="&#x2c;" u2="C" k="-67" />
    <hkern u1="&#x2c;" u2="B" k="-34" />
    <hkern u1="&#x2c;" u2="&#x40;" k="160" />
    <hkern u1="&#x2c;" u2="&#x3f;" k="376" />
    <hkern u1="&#x2c;" u2="&#x3b;" k="175" />
    <hkern u1="&#x2c;" u2="&#x3a;" k="106" />
    <hkern u1="&#x2c;" u2="&#x39;" k="126" />
    <hkern u1="&#x2c;" u2="&#x38;" k="39" />
    <hkern u1="&#x2c;" u2="&#x37;" k="25" />
    <hkern u1="&#x2c;" u2="&#x36;" k="-31" />
    <hkern u1="&#x2c;" u2="&#x35;" k="-40" />
    <hkern u1="&#x2c;" u2="&#x34;" k="363" />
    <hkern u1="&#x2c;" u2="&#x33;" k="-143" />
    <hkern u1="&#x2c;" u2="&#x32;" k="-86" />
    <hkern u1="&#x2c;" u2="&#x31;" k="68" />
    <hkern u1="&#x2c;" u2="&#x30;" k="-21" />
    <hkern u1="&#x2c;" u2="&#x2f;" k="-23" />
    <hkern u1="&#x2c;" u2="&#x2e;" k="90" />
    <hkern u1="&#x2c;" u2="&#x2d;" k="366" />
    <hkern u1="&#x2c;" u2="&#x2c;" k="166" />
    <hkern u1="&#x2c;" u2="&#x29;" k="128" />
    <hkern u1="&#x2c;" u2="&#x26;" k="59" />
    <hkern u1="&#x2c;" u2="&#x25;" k="-23" />
    <hkern u1="&#x2c;" u2="&#x24;" k="296" />
    <hkern u1="&#x2c;" u2="&#x23;" k="189" />
    <hkern u1="&#x2c;" u2="&#x21;" k="171" />
    <hkern u1="&#x2c;" g2=".notdef" k="-66" />
    <hkern u1="&#x2d;" u2="&#xd0;" k="-94" />
    <hkern u1="&#x2d;" u2="&#xc1;" k="109" />
    <hkern u1="&#x2d;" u2="&#x2021;" k="49" />
    <hkern u1="&#x2d;" u2="&#x203a;" k="-55" />
    <hkern u1="&#x2d;" u2="&#x2019;" k="-83" />
    <hkern u1="&#x2d;" u2="&#x2014;" k="-55" />
    <hkern u1="&#x2d;" u2="&#x2013;" k="-78" />
    <hkern u1="&#x2d;" u2="&#x153;" k="-74" />
    <hkern u1="&#x2d;" u2="&#xc0;" k="286" />
    <hkern u1="&#x2d;" u2="&#xa2;" k="-94" />
    <hkern u1="&#x2d;" u2="&#xd1;" k="-138" />
    <hkern u1="&#x2d;" u2="&#xc9;" k="664" />
    <hkern u1="&#x2d;" u2="&#x7e;" k="586" />
    <hkern u1="&#x2d;" u2="z" k="258" />
    <hkern u1="&#x2d;" u2="y" k="-65" />
    <hkern u1="&#x2d;" u2="x" k="71" />
    <hkern u1="&#x2d;" u2="w" k="-94" />
    <hkern u1="&#x2d;" u2="v" k="-87" />
    <hkern u1="&#x2d;" u2="u" k="-74" />
    <hkern u1="&#x2d;" u2="t" k="-100" />
    <hkern u1="&#x2d;" u2="s" k="-129" />
    <hkern u1="&#x2d;" u2="r" k="-93" />
    <hkern u1="&#x2d;" u2="p" k="-73" />
    <hkern u1="&#x2d;" u2="o" k="-55" />
    <hkern u1="&#x2d;" u2="n" k="-78" />
    <hkern u1="&#x2d;" u2="m" k="-158" />
    <hkern u1="&#x2d;" u2="l" k="-92" />
    <hkern u1="&#x2d;" u2="k" k="-126" />
    <hkern u1="&#x2d;" u2="j" k="140" />
    <hkern u1="&#x2d;" u2="i" k="-83" />
    <hkern u1="&#x2d;" u2="h" k="-92" />
    <hkern u1="&#x2d;" u2="f" k="-64" />
    <hkern u1="&#x2d;" u2="e" k="-45" />
    <hkern u1="&#x2d;" u2="d" k="51" />
    <hkern u1="&#x2d;" u2="c" k="-47" />
    <hkern u1="&#x2d;" u2="b" k="-126" />
    <hkern u1="&#x2d;" u2="a" k="49" />
    <hkern u1="&#x2d;" u2="`" k="483" />
    <hkern u1="&#x2d;" u2="Z" k="154" />
    <hkern u1="&#x2d;" u2="Y" k="45" />
    <hkern u1="&#x2d;" u2="X" k="57" />
    <hkern u1="&#x2d;" u2="W" k="193" />
    <hkern u1="&#x2d;" u2="V" k="262" />
    <hkern u1="&#x2d;" u2="T" k="252" />
    <hkern u1="&#x2d;" u2="S" k="-61" />
    <hkern u1="&#x2d;" u2="R" k="71" />
    <hkern u1="&#x2d;" u2="Q" k="-148" />
    <hkern u1="&#x2d;" u2="O" k="-148" />
    <hkern u1="&#x2d;" u2="N" k="130" />
    <hkern u1="&#x2d;" u2="M" k="121" />
    <hkern u1="&#x2d;" u2="L" k="72" />
    <hkern u1="&#x2d;" u2="K" k="-170" />
    <hkern u1="&#x2d;" u2="J" k="228" />
    <hkern u1="&#x2d;" u2="I" k="121" />
    <hkern u1="&#x2d;" u2="H" k="-88" />
    <hkern u1="&#x2d;" u2="G" k="-146" />
    <hkern u1="&#x2d;" u2="F" k="-132" />
    <hkern u1="&#x2d;" u2="E" k="-85" />
    <hkern u1="&#x2d;" u2="C" k="-140" />
    <hkern u1="&#x2d;" u2="B" k="-32" />
    <hkern u1="&#x2d;" u2="A" k="53" />
    <hkern u1="&#x2d;" u2="&#x40;" k="-63" />
    <hkern u1="&#x2d;" u2="&#x3f;" k="147" />
    <hkern u1="&#x2d;" u2="&#x3b;" k="202" />
    <hkern u1="&#x2d;" u2="&#x3a;" k="95" />
    <hkern u1="&#x2d;" u2="&#x39;" k="-113" />
    <hkern u1="&#x2d;" u2="&#x38;" k="95" />
    <hkern u1="&#x2d;" u2="&#x37;" k="93" />
    <hkern u1="&#x2d;" u2="&#x36;" k="-92" />
    <hkern u1="&#x2d;" u2="&#x35;" k="-156" />
    <hkern u1="&#x2d;" u2="&#x34;" k="-105" />
    <hkern u1="&#x2d;" u2="&#x33;" k="100" />
    <hkern u1="&#x2d;" u2="&#x32;" k="273" />
    <hkern u1="&#x2d;" u2="&#x31;" k="22" />
    <hkern u1="&#x2d;" u2="&#x30;" k="-146" />
    <hkern u1="&#x2d;" u2="&#x2f;" k="151" />
    <hkern u1="&#x2d;" u2="&#x2e;" k="288" />
    <hkern u1="&#x2d;" u2="&#x2d;" k="-70" />
    <hkern u1="&#x2d;" u2="&#x2c;" k="357" />
    <hkern u1="&#x2d;" u2="&#x29;" k="223" />
    <hkern u1="&#x2d;" u2="&#x28;" k="-83" />
    <hkern u1="&#x2d;" u2="&#x26;" k="69" />
    <hkern u1="&#x2d;" u2="&#x25;" k="151" />
    <hkern u1="&#x2d;" u2="&#x24;" k="-97" />
    <hkern u1="&#x2d;" g2=".notdef" k="-45" />
    <hkern u1="&#x2e;" u2="&#xd0;" k="147" />
    <hkern u1="&#x2e;" u2="&#xc2;" k="-43" />
    <hkern u1="&#x2e;" u2="&#x2021;" k="-161" />
    <hkern u1="&#x2e;" u2="&#x203a;" k="-126" />
    <hkern u1="&#x2e;" u2="&#x2019;" k="-90" />
    <hkern u1="&#x2e;" u2="&#x2014;" k="-126" />
    <hkern u1="&#x2e;" u2="&#x2013;" k="-156" />
    <hkern u1="&#x2e;" u2="&#x153;" k="-148" />
    <hkern u1="&#x2e;" u2="&#xc0;" k="115" />
    <hkern u1="&#x2e;" u2="&#xa2;" k="85" />
    <hkern u1="&#x2e;" u2="&#xd1;" k="102" />
    <hkern u1="&#x2e;" u2="&#xc9;" k="-67" />
    <hkern u1="&#x2e;" u2="&#x7e;" k="252" />
    <hkern u1="&#x2e;" u2="z" k="-164" />
    <hkern u1="&#x2e;" u2="y" k="-42" />
    <hkern u1="&#x2e;" u2="x" k="-136" />
    <hkern u1="&#x2e;" u2="w" k="-131" />
    <hkern u1="&#x2e;" u2="v" k="118" />
    <hkern u1="&#x2e;" u2="u" k="-148" />
    <hkern u1="&#x2e;" u2="t" k="168" />
    <hkern u1="&#x2e;" u2="s" k="-124" />
    <hkern u1="&#x2e;" u2="r" k="-125" />
    <hkern u1="&#x2e;" u2="q" k="-182" />
    <hkern u1="&#x2e;" u2="p" k="-120" />
    <hkern u1="&#x2e;" u2="o" k="-126" />
    <hkern u1="&#x2e;" u2="n" k="-156" />
    <hkern u1="&#x2e;" u2="m" k="-190" />
    <hkern u1="&#x2e;" u2="l" k="-85" />
    <hkern u1="&#x2e;" u2="k" k="-124" />
    <hkern u1="&#x2e;" u2="j" k="-235" />
    <hkern u1="&#x2e;" u2="i" k="-90" />
    <hkern u1="&#x2e;" u2="h" k="-129" />
    <hkern u1="&#x2e;" u2="g" k="-141" />
    <hkern u1="&#x2e;" u2="f" k="118" />
    <hkern u1="&#x2e;" u2="e" k="-150" />
    <hkern u1="&#x2e;" u2="d" k="-151" />
    <hkern u1="&#x2e;" u2="c" k="-136" />
    <hkern u1="&#x2e;" u2="b" k="-140" />
    <hkern u1="&#x2e;" u2="a" k="-161" />
    <hkern u1="&#x2e;" u2="`" k="236" />
    <hkern u1="&#x2e;" u2="Z" k="-193" />
    <hkern u1="&#x2e;" u2="Y" k="83" />
    <hkern u1="&#x2e;" u2="X" k="-180" />
    <hkern u1="&#x2e;" u2="W" k="73" />
    <hkern u1="&#x2e;" u2="V" k="136" />
    <hkern u1="&#x2e;" u2="U" k="-83" />
    <hkern u1="&#x2e;" u2="T" k="116" />
    <hkern u1="&#x2e;" u2="S" k="89" />
    <hkern u1="&#x2e;" u2="R" k="74" />
    <hkern u1="&#x2e;" u2="Q" k="-127" />
    <hkern u1="&#x2e;" u2="P" k="79" />
    <hkern u1="&#x2e;" u2="O" k="-129" />
    <hkern u1="&#x2e;" u2="N" k="91" />
    <hkern u1="&#x2e;" u2="M" k="69" />
    <hkern u1="&#x2e;" u2="L" k="86" />
    <hkern u1="&#x2e;" u2="K" k="-162" />
    <hkern u1="&#x2e;" u2="J" k="-162" />
    <hkern u1="&#x2e;" u2="I" k="120" />
    <hkern u1="&#x2e;" u2="H" k="67" />
    <hkern u1="&#x2e;" u2="G" k="-132" />
    <hkern u1="&#x2e;" u2="F" k="93" />
    <hkern u1="&#x2e;" u2="E" k="81" />
    <hkern u1="&#x2e;" u2="D" k="70" />
    <hkern u1="&#x2e;" u2="C" k="-156" />
    <hkern u1="&#x2e;" u2="B" k="31" />
    <hkern u1="&#x2e;" u2="A" k="-115" />
    <hkern u1="&#x2e;" u2="&#x40;" k="225" />
    <hkern u1="&#x2e;" u2="&#x3f;" k="241" />
    <hkern u1="&#x2e;" u2="&#x3b;" k="224" />
    <hkern u1="&#x2e;" u2="&#x39;" k="198" />
    <hkern u1="&#x2e;" u2="&#x38;" k="78" />
    <hkern u1="&#x2e;" u2="&#x37;" k="-71" />
    <hkern u1="&#x2e;" u2="&#x36;" k="-121" />
    <hkern u1="&#x2e;" u2="&#x35;" k="-138" />
    <hkern u1="&#x2e;" u2="&#x34;" k="179" />
    <hkern u1="&#x2e;" u2="&#x33;" k="-256" />
    <hkern u1="&#x2e;" u2="&#x32;" k="-187" />
    <hkern u1="&#x2e;" u2="&#x31;" k="117" />
    <hkern u1="&#x2e;" u2="&#x30;" k="-105" />
    <hkern u1="&#x2e;" u2="&#x2f;" k="-120" />
    <hkern u1="&#x2e;" u2="&#x2d;" k="170" />
    <hkern u1="&#x2e;" u2="&#x2c;" k="229" />
    <hkern u1="&#x2e;" u2="&#x29;" k="179" />
    <hkern u1="&#x2e;" u2="&#x28;" k="-73" />
    <hkern u1="&#x2e;" u2="&#x26;" k="-25" />
    <hkern u1="&#x2e;" u2="&#x25;" k="-120" />
    <hkern u1="&#x2e;" u2="&#x24;" k="101" />
    <hkern u1="&#x2e;" u2="&#x23;" k="192" />
    <hkern u1="&#x2e;" u2="&#x21;" k="256" />
    <hkern u1="&#x2e;" g2=".notdef" k="-150" />
    <hkern u1="&#x2f;" u2="&#xd0;" k="339" />
    <hkern u1="&#x2f;" u2="&#xc1;" k="612" />
    <hkern u1="&#x2f;" u2="&#xc2;" k="369" />
    <hkern u1="&#x2f;" u2="&#x2021;" k="427" />
    <hkern u1="&#x2f;" u2="&#x203a;" k="201" />
    <hkern u1="&#x2f;" u2="&#x2019;" k="168" />
    <hkern u1="&#x2f;" u2="&#x2014;" k="313" />
    <hkern u1="&#x2f;" u2="&#x2013;" k="193" />
    <hkern u1="&#x2f;" u2="&#x153;" k="292" />
    <hkern u1="&#x2f;" u2="&#xc0;" k="900" />
    <hkern u1="&#x2f;" u2="&#xa2;" k="-91" />
    <hkern u1="&#x2f;" u2="&#xd1;" k="314" />
    <hkern u1="&#x2f;" u2="&#xc9;" k="663" />
    <hkern u1="&#x2f;" u2="&#x7e;" k="136" />
    <hkern u1="&#x2f;" u2="z" k="313" />
    <hkern u1="&#x2f;" u2="y" k="271" />
    <hkern u1="&#x2f;" u2="x" k="104" />
    <hkern u1="&#x2f;" u2="w" k="306" />
    <hkern u1="&#x2f;" u2="v" k="207" />
    <hkern u1="&#x2f;" u2="u" k="293" />
    <hkern u1="&#x2f;" u2="t" k="231" />
    <hkern u1="&#x2f;" u2="s" k="338" />
    <hkern u1="&#x2f;" u2="r" k="174" />
    <hkern u1="&#x2f;" u2="q" k="471" />
    <hkern u1="&#x2f;" u2="p" k="228" />
    <hkern u1="&#x2f;" u2="o" k="360" />
    <hkern u1="&#x2f;" u2="n" k="291" />
    <hkern u1="&#x2f;" u2="m" k="195" />
    <hkern u1="&#x2f;" u2="l" k="-81" />
    <hkern u1="&#x2f;" u2="k" k="-76" />
    <hkern u1="&#x2f;" u2="j" k="177" />
    <hkern u1="&#x2f;" u2="i" k="-27" />
    <hkern u1="&#x2f;" u2="h" k="-38" />
    <hkern u1="&#x2f;" u2="g" k="462" />
    <hkern u1="&#x2f;" u2="f" k="81" />
    <hkern u1="&#x2f;" u2="e" k="392" />
    <hkern u1="&#x2f;" u2="d" k="480" />
    <hkern u1="&#x2f;" u2="c" k="388" />
    <hkern u1="&#x2f;" u2="b" k="-31" />
    <hkern u1="&#x2f;" u2="a" k="510" />
    <hkern u1="&#x2f;" u2="`" k="-96" />
    <hkern u1="&#x2f;" u2="Y" k="-135" />
    <hkern u1="&#x2f;" u2="X" k="-69" />
    <hkern u1="&#x2f;" u2="W" k="30" />
    <hkern u1="&#x2f;" u2="V" k="-28" />
    <hkern u1="&#x2f;" u2="U" k="-103" />
    <hkern u1="&#x2f;" u2="T" k="-137" />
    <hkern u1="&#x2f;" u2="S" k="65" />
    <hkern u1="&#x2f;" u2="R" k="-124" />
    <hkern u1="&#x2f;" u2="Q" k="-35" />
    <hkern u1="&#x2f;" u2="P" k="-136" />
    <hkern u1="&#x2f;" u2="O" k="-39" />
    <hkern u1="&#x2f;" u2="M" k="-23" />
    <hkern u1="&#x2f;" u2="K" k="-143" />
    <hkern u1="&#x2f;" u2="I" k="-137" />
    <hkern u1="&#x2f;" u2="G" k="45" />
    <hkern u1="&#x2f;" u2="F" k="-68" />
    <hkern u1="&#x2f;" u2="E" k="-53" />
    <hkern u1="&#x2f;" u2="D" k="-43" />
    <hkern u1="&#x2f;" u2="C" k="102" />
    <hkern u1="&#x2f;" u2="A" k="290" />
    <hkern u1="&#x2f;" u2="&#x40;" k="279" />
    <hkern u1="&#x2f;" u2="&#x3f;" k="46" />
    <hkern u1="&#x2f;" u2="&#x3b;" k="587" />
    <hkern u1="&#x2f;" u2="&#x3a;" k="509" />
    <hkern u1="&#x2f;" u2="&#x39;" k="50" />
    <hkern u1="&#x2f;" u2="&#x38;" k="63" />
    <hkern u1="&#x2f;" u2="&#x37;" k="-96" />
    <hkern u1="&#x2f;" u2="&#x36;" k="146" />
    <hkern u1="&#x2f;" u2="&#x34;" k="62" />
    <hkern u1="&#x2f;" u2="&#x33;" k="101" />
    <hkern u1="&#x2f;" u2="&#x2f;" k="568" />
    <hkern u1="&#x2f;" u2="&#x2e;" k="737" />
    <hkern u1="&#x2f;" u2="&#x2d;" k="369" />
    <hkern u1="&#x2f;" u2="&#x2c;" k="795" />
    <hkern u1="&#x2f;" u2="&#x29;" k="106" />
    <hkern u1="&#x2f;" u2="&#x28;" k="65" />
    <hkern u1="&#x2f;" u2="&#x26;" k="212" />
    <hkern u1="&#x2f;" u2="&#x25;" k="240" />
    <hkern u1="&#x2f;" u2="&#x24;" k="-121" />
    <hkern u1="&#x2f;" u2="&#x23;" k="109" />
    <hkern u1="&#x2f;" u2="&#x21;" k="27" />
    <hkern u1="&#x2f;" g2=".notdef" k="323" />
    <hkern u1="&#x30;" u2="&#xd0;" k="-86" />
    <hkern u1="&#x30;" u2="&#xc1;" k="131" />
    <hkern u1="&#x30;" u2="&#xc2;" k="37" />
    <hkern u1="&#x30;" u2="&#x2021;" k="28" />
    <hkern u1="&#x30;" u2="&#x203a;" k="-35" />
    <hkern u1="&#x30;" u2="&#x2019;" k="-43" />
    <hkern u1="&#x30;" u2="&#x2013;" k="-51" />
    <hkern u1="&#x30;" u2="&#x153;" k="-28" />
    <hkern u1="&#x30;" u2="&#xc0;" k="334" />
    <hkern u1="&#x30;" u2="&#xa2;" k="-132" />
    <hkern u1="&#x30;" u2="&#xd1;" k="-111" />
    <hkern u1="&#x30;" u2="&#xc9;" k="79" />
    <hkern u1="&#x30;" u2="&#x7e;" k="27" />
    <hkern u1="&#x30;" u2="z" k="-34" />
    <hkern u1="&#x30;" u2="y" k="-29" />
    <hkern u1="&#x30;" u2="x" k="-77" />
    <hkern u1="&#x30;" u2="w" k="-49" />
    <hkern u1="&#x30;" u2="v" k="-112" />
    <hkern u1="&#x30;" u2="u" k="-57" />
    <hkern u1="&#x30;" u2="t" k="-51" />
    <hkern u1="&#x30;" u2="s" k="-86" />
    <hkern u1="&#x30;" u2="r" k="-90" />
    <hkern u1="&#x30;" u2="q" k="-31" />
    <hkern u1="&#x30;" u2="p" k="-53" />
    <hkern u1="&#x30;" u2="o" k="-42" />
    <hkern u1="&#x30;" u2="n" k="-63" />
    <hkern u1="&#x30;" u2="m" k="-140" />
    <hkern u1="&#x30;" u2="l" k="-72" />
    <hkern u1="&#x30;" u2="k" k="-94" />
    <hkern u1="&#x30;" u2="j" k="61" />
    <hkern u1="&#x30;" u2="i" k="-51" />
    <hkern u1="&#x30;" u2="h" k="-65" />
    <hkern u1="&#x30;" u2="f" k="-74" />
    <hkern u1="&#x30;" u2="e" k="-49" />
    <hkern u1="&#x30;" u2="d" k="48" />
    <hkern u1="&#x30;" u2="c" k="-46" />
    <hkern u1="&#x30;" u2="b" k="-92" />
    <hkern u1="&#x30;" u2="`" k="98" />
    <hkern u1="&#x30;" u2="Z" k="26" />
    <hkern u1="&#x30;" u2="Y" k="-41" />
    <hkern u1="&#x30;" u2="W" k="-139" />
    <hkern u1="&#x30;" u2="V" k="-80" />
    <hkern u1="&#x30;" u2="U" k="-50" />
    <hkern u1="&#x30;" u2="T" k="-47" />
    <hkern u1="&#x30;" u2="S" k="-103" />
    <hkern u1="&#x30;" u2="R" k="-93" />
    <hkern u1="&#x30;" u2="Q" k="-109" />
    <hkern u1="&#x30;" u2="P" k="-89" />
    <hkern u1="&#x30;" u2="O" k="-113" />
    <hkern u1="&#x30;" u2="N" k="-112" />
    <hkern u1="&#x30;" u2="M" k="-118" />
    <hkern u1="&#x30;" u2="L" k="78" />
    <hkern u1="&#x30;" u2="K" k="-148" />
    <hkern u1="&#x30;" u2="J" k="155" />
    <hkern u1="&#x30;" u2="H" k="-50" />
    <hkern u1="&#x30;" u2="G" k="-106" />
    <hkern u1="&#x30;" u2="F" k="-100" />
    <hkern u1="&#x30;" u2="E" k="-96" />
    <hkern u1="&#x30;" u2="D" k="-129" />
    <hkern u1="&#x30;" u2="C" k="-99" />
    <hkern u1="&#x30;" u2="B" k="-159" />
    <hkern u1="&#x30;" u2="A" k="-48" />
    <hkern u1="&#x30;" u2="&#x40;" k="-29" />
    <hkern u1="&#x30;" u2="&#x3f;" k="-44" />
    <hkern u1="&#x30;" u2="&#x3b;" k="190" />
    <hkern u1="&#x30;" u2="&#x3a;" k="104" />
    <hkern u1="&#x30;" u2="&#x2f;" k="97" />
    <hkern u1="&#x30;" u2="&#x2e;" k="153" />
    <hkern u1="&#x30;" u2="&#x2d;" k="-63" />
    <hkern u1="&#x30;" u2="&#x2c;" k="223" />
    <hkern u1="&#x30;" u2="&#x29;" k="211" />
    <hkern u1="&#x30;" u2="&#x28;" k="-48" />
    <hkern u1="&#x30;" u2="&#x26;" k="49" />
    <hkern u1="&#x30;" u2="&#x25;" k="78" />
    <hkern u1="&#x30;" u2="&#x24;" k="-87" />
    <hkern u1="&#x30;" g2=".notdef" k="-29" />
    <hkern u1="&#x31;" u2="&#xd0;" k="140" />
    <hkern u1="&#x31;" u2="&#xc1;" k="35" />
    <hkern u1="&#x31;" u2="&#xc2;" k="34" />
    <hkern u1="&#x31;" u2="&#x2021;" k="-48" />
    <hkern u1="&#x31;" u2="&#x2019;" k="27" />
    <hkern u1="&#x31;" u2="&#x2013;" k="-81" />
    <hkern u1="&#x31;" u2="&#x153;" k="-26" />
    <hkern u1="&#x31;" u2="&#xc0;" k="298" />
    <hkern u1="&#x31;" u2="&#xa2;" k="43" />
    <hkern u1="&#x31;" u2="&#xd1;" k="115" />
    <hkern u1="&#x31;" u2="&#xc9;" k="175" />
    <hkern u1="&#x31;" u2="&#x7e;" k="177" />
    <hkern u1="&#x31;" u2="z" k="-46" />
    <hkern u1="&#x31;" u2="y" k="143" />
    <hkern u1="&#x31;" u2="x" k="-66" />
    <hkern u1="&#x31;" u2="v" k="79" />
    <hkern u1="&#x31;" u2="u" k="-50" />
    <hkern u1="&#x31;" u2="t" k="159" />
    <hkern u1="&#x31;" u2="r" k="-62" />
    <hkern u1="&#x31;" u2="p" k="-67" />
    <hkern u1="&#x31;" u2="n" k="-92" />
    <hkern u1="&#x31;" u2="m" k="-124" />
    <hkern u1="&#x31;" u2="k" k="-25" />
    <hkern u1="&#x31;" u2="j" k="115" />
    <hkern u1="&#x31;" u2="i" k="20" />
    <hkern u1="&#x31;" u2="h" k="-69" />
    <hkern u1="&#x31;" u2="g" k="140" />
    <hkern u1="&#x31;" u2="f" k="61" />
    <hkern u1="&#x31;" u2="d" k="-43" />
    <hkern u1="&#x31;" u2="a" k="-70" />
    <hkern u1="&#x31;" u2="`" k="116" />
    <hkern u1="&#x31;" u2="Z" k="-79" />
    <hkern u1="&#x31;" u2="X" k="-107" />
    <hkern u1="&#x31;" u2="W" k="21" />
    <hkern u1="&#x31;" u2="V" k="32" />
    <hkern u1="&#x31;" u2="S" k="44" />
    <hkern u1="&#x31;" u2="R" k="-27" />
    <hkern u1="&#x31;" u2="P" k="-24" />
    <hkern u1="&#x31;" u2="L" k="-108" />
    <hkern u1="&#x31;" u2="K" k="-69" />
    <hkern u1="&#x31;" u2="J" k="191" />
    <hkern u1="&#x31;" u2="I" k="-54" />
    <hkern u1="&#x31;" u2="H" k="-131" />
    <hkern u1="&#x31;" u2="C" k="-27" />
    <hkern u1="&#x31;" u2="B" k="-80" />
    <hkern u1="&#x31;" u2="A" k="-84" />
    <hkern u1="&#x31;" u2="&#x40;" k="184" />
    <hkern u1="&#x31;" u2="&#x3f;" k="75" />
    <hkern u1="&#x31;" u2="&#x3b;" k="82" />
    <hkern u1="&#x31;" u2="&#x3a;" k="120" />
    <hkern u1="&#x31;" u2="&#x2f;" k="-68" />
    <hkern u1="&#x31;" u2="&#x2e;" k="249" />
    <hkern u1="&#x31;" u2="&#x2d;" k="163" />
    <hkern u1="&#x31;" u2="&#x29;" k="27" />
    <hkern u1="&#x31;" u2="&#x28;" k="26" />
    <hkern u1="&#x31;" u2="&#x26;" k="149" />
    <hkern u1="&#x31;" u2="&#x25;" k="-85" />
    <hkern u1="&#x31;" u2="&#x24;" k="23" />
    <hkern u1="&#x31;" u2="&#x23;" k="135" />
    <hkern u1="&#x31;" u2="&#x21;" k="81" />
    <hkern u1="&#x32;" u2="&#xd0;" k="144" />
    <hkern u1="&#x32;" u2="&#xc1;" k="168" />
    <hkern u1="&#x32;" u2="&#xc2;" k="140" />
    <hkern u1="&#x32;" u2="&#x2021;" k="47" />
    <hkern u1="&#x32;" u2="&#x203a;" k="85" />
    <hkern u1="&#x32;" u2="&#x2019;" k="72" />
    <hkern u1="&#x32;" u2="&#x2014;" k="97" />
    <hkern u1="&#x32;" u2="&#x153;" k="58" />
    <hkern u1="&#x32;" u2="&#xc0;" k="413" />
    <hkern u1="&#x32;" u2="&#xa2;" k="-85" />
    <hkern u1="&#x32;" u2="&#xd1;" k="118" />
    <hkern u1="&#x32;" u2="&#xc9;" k="174" />
    <hkern u1="&#x32;" u2="&#x7e;" k="27" />
    <hkern u1="&#x32;" u2="z" k="57" />
    <hkern u1="&#x32;" u2="y" k="100" />
    <hkern u1="&#x32;" u2="x" k="-38" />
    <hkern u1="&#x32;" u2="w" k="78" />
    <hkern u1="&#x32;" u2="u" k="44" />
    <hkern u1="&#x32;" u2="t" k="160" />
    <hkern u1="&#x32;" u2="s" k="76" />
    <hkern u1="&#x32;" u2="q" k="56" />
    <hkern u1="&#x32;" u2="p" k="39" />
    <hkern u1="&#x32;" u2="o" k="88" />
    <hkern u1="&#x32;" u2="n" k="21" />
    <hkern u1="&#x32;" u2="k" k="-31" />
    <hkern u1="&#x32;" u2="j" k="133" />
    <hkern u1="&#x32;" u2="i" k="60" />
    <hkern u1="&#x32;" u2="g" k="112" />
    <hkern u1="&#x32;" u2="f" k="114" />
    <hkern u1="&#x32;" u2="e" k="66" />
    <hkern u1="&#x32;" u2="d" k="55" />
    <hkern u1="&#x32;" u2="c" k="82" />
    <hkern u1="&#x32;" u2="a" k="35" />
    <hkern u1="&#x32;" u2="`" k="74" />
    <hkern u1="&#x32;" u2="Z" k="21" />
    <hkern u1="&#x32;" u2="Y" k="-30" />
    <hkern u1="&#x32;" u2="W" k="-98" />
    <hkern u1="&#x32;" u2="V" k="-64" />
    <hkern u1="&#x32;" u2="U" k="-48" />
    <hkern u1="&#x32;" u2="T" k="-42" />
    <hkern u1="&#x32;" u2="S" k="-34" />
    <hkern u1="&#x32;" u2="R" k="-90" />
    <hkern u1="&#x32;" u2="P" k="-86" />
    <hkern u1="&#x32;" u2="N" k="-89" />
    <hkern u1="&#x32;" u2="M" k="-104" />
    <hkern u1="&#x32;" u2="K" k="-93" />
    <hkern u1="&#x32;" u2="J" k="304" />
    <hkern u1="&#x32;" u2="I" k="49" />
    <hkern u1="&#x32;" u2="H" k="-27" />
    <hkern u1="&#x32;" u2="F" k="-77" />
    <hkern u1="&#x32;" u2="E" k="-87" />
    <hkern u1="&#x32;" u2="D" k="-109" />
    <hkern u1="&#x32;" u2="C" k="25" />
    <hkern u1="&#x32;" u2="B" k="-130" />
    <hkern u1="&#x32;" u2="&#x40;" k="101" />
    <hkern u1="&#x32;" u2="&#x3f;" k="-21" />
    <hkern u1="&#x32;" u2="&#x3b;" k="181" />
    <hkern u1="&#x32;" u2="&#x3a;" k="221" />
    <hkern u1="&#x32;" u2="&#x2f;" k="34" />
    <hkern u1="&#x32;" u2="&#x2e;" k="251" />
    <hkern u1="&#x32;" u2="&#x2d;" k="174" />
    <hkern u1="&#x32;" u2="&#x2c;" k="139" />
    <hkern u1="&#x32;" u2="&#x29;" k="127" />
    <hkern u1="&#x32;" u2="&#x28;" k="41" />
    <hkern u1="&#x32;" u2="&#x26;" k="172" />
    <hkern u1="&#x32;" u2="&#x24;" k="-77" />
    <hkern u1="&#x32;" u2="&#x23;" k="35" />
    <hkern u1="&#x32;" u2="&#x21;" k="75" />
    <hkern u1="&#x32;" g2=".notdef" k="74" />
    <hkern u1="&#x33;" u2="&#xd0;" k="53" />
    <hkern u1="&#x33;" u2="&#xc1;" k="117" />
    <hkern u1="&#x33;" u2="&#xc2;" k="38" />
    <hkern u1="&#x33;" u2="&#x203a;" k="-45" />
    <hkern u1="&#x33;" u2="&#x2019;" k="-53" />
    <hkern u1="&#x33;" u2="&#x2014;" k="-34" />
    <hkern u1="&#x33;" u2="&#x2013;" k="-55" />
    <hkern u1="&#x33;" u2="&#x153;" k="-44" />
    <hkern u1="&#x33;" u2="&#xc0;" k="351" />
    <hkern u1="&#x33;" u2="&#xa2;" k="-190" />
    <hkern u1="&#x33;" u2="&#xd1;" k="30" />
    <hkern u1="&#x33;" u2="&#xc9;" k="28" />
    <hkern u1="&#x33;" u2="&#x7e;" k="-72" />
    <hkern u1="&#x33;" u2="y" k="-26" />
    <hkern u1="&#x33;" u2="x" k="-150" />
    <hkern u1="&#x33;" u2="w" k="-35" />
    <hkern u1="&#x33;" u2="v" k="-74" />
    <hkern u1="&#x33;" u2="u" k="-61" />
    <hkern u1="&#x33;" u2="t" k="34" />
    <hkern u1="&#x33;" u2="s" k="-39" />
    <hkern u1="&#x33;" u2="r" k="-112" />
    <hkern u1="&#x33;" u2="q" k="-58" />
    <hkern u1="&#x33;" u2="p" k="-57" />
    <hkern u1="&#x33;" u2="o" k="-46" />
    <hkern u1="&#x33;" u2="n" k="-60" />
    <hkern u1="&#x33;" u2="m" k="-116" />
    <hkern u1="&#x33;" u2="l" k="-147" />
    <hkern u1="&#x33;" u2="k" k="-153" />
    <hkern u1="&#x33;" u2="i" k="-94" />
    <hkern u1="&#x33;" u2="h" k="-118" />
    <hkern u1="&#x33;" u2="g" k="-27" />
    <hkern u1="&#x33;" u2="f" k="-62" />
    <hkern u1="&#x33;" u2="e" k="-64" />
    <hkern u1="&#x33;" u2="c" k="-57" />
    <hkern u1="&#x33;" u2="b" k="-124" />
    <hkern u1="&#x33;" u2="a" k="-31" />
    <hkern u1="&#x33;" u2="`" k="-89" />
    <hkern u1="&#x33;" u2="Z" k="-52" />
    <hkern u1="&#x33;" u2="Y" k="-187" />
    <hkern u1="&#x33;" u2="X" k="-76" />
    <hkern u1="&#x33;" u2="W" k="-189" />
    <hkern u1="&#x33;" u2="V" k="-191" />
    <hkern u1="&#x33;" u2="U" k="-190" />
    <hkern u1="&#x33;" u2="T" k="-197" />
    <hkern u1="&#x33;" u2="S" k="-133" />
    <hkern u1="&#x33;" u2="R" k="-233" />
    <hkern u1="&#x33;" u2="Q" k="-125" />
    <hkern u1="&#x33;" u2="P" k="-229" />
    <hkern u1="&#x33;" u2="O" k="-129" />
    <hkern u1="&#x33;" u2="N" k="-209" />
    <hkern u1="&#x33;" u2="M" k="-217" />
    <hkern u1="&#x33;" u2="L" k="-29" />
    <hkern u1="&#x33;" u2="K" k="-218" />
    <hkern u1="&#x33;" u2="I" k="-144" />
    <hkern u1="&#x33;" u2="H" k="-29" />
    <hkern u1="&#x33;" u2="G" k="-100" />
    <hkern u1="&#x33;" u2="F" k="-211" />
    <hkern u1="&#x33;" u2="E" k="-219" />
    <hkern u1="&#x33;" u2="D" k="-239" />
    <hkern u1="&#x33;" u2="C" k="-94" />
    <hkern u1="&#x33;" u2="B" k="-238" />
    <hkern u1="&#x33;" u2="A" k="-48" />
    <hkern u1="&#x33;" u2="&#x3f;" k="-153" />
    <hkern u1="&#x33;" u2="&#x3b;" k="209" />
    <hkern u1="&#x33;" u2="&#x3a;" k="142" />
    <hkern u1="&#x33;" u2="&#x2f;" k="50" />
    <hkern u1="&#x33;" u2="&#x2e;" k="101" />
    <hkern u1="&#x33;" u2="&#x2d;" k="72" />
    <hkern u1="&#x33;" u2="&#x2c;" k="175" />
    <hkern u1="&#x33;" u2="&#x29;" k="124" />
    <hkern u1="&#x33;" u2="&#x28;" k="-66" />
    <hkern u1="&#x33;" u2="&#x26;" k="33" />
    <hkern u1="&#x33;" u2="&#x25;" k="32" />
    <hkern u1="&#x33;" u2="&#x24;" k="-202" />
    <hkern u1="&#x33;" u2="&#x23;" k="-98" />
    <hkern u1="&#x33;" u2="&#x21;" k="-50" />
    <hkern u1="&#x33;" g2=".notdef" k="-54" />
    <hkern u1="&#x34;" u2="&#xd0;" k="-154" />
    <hkern u1="&#x34;" u2="&#xc1;" k="80" />
    <hkern u1="&#x34;" u2="&#x2021;" k="34" />
    <hkern u1="&#x34;" u2="&#x203a;" k="-76" />
    <hkern u1="&#x34;" u2="&#x2019;" k="-91" />
    <hkern u1="&#x34;" u2="&#x2014;" k="-64" />
    <hkern u1="&#x34;" u2="&#x2013;" k="-93" />
    <hkern u1="&#x34;" u2="&#x153;" k="-76" />
    <hkern u1="&#x34;" u2="&#xc0;" k="255" />
    <hkern u1="&#x34;" u2="&#xa2;" k="-124" />
    <hkern u1="&#x34;" u2="&#xd1;" k="-174" />
    <hkern u1="&#x34;" u2="&#xc9;" k="141" />
    <hkern u1="&#x34;" u2="&#x7e;" k="91" />
    <hkern u1="&#x34;" u2="z" k="31" />
    <hkern u1="&#x34;" u2="y" k="-71" />
    <hkern u1="&#x34;" u2="w" k="-92" />
    <hkern u1="&#x34;" u2="v" k="-87" />
    <hkern u1="&#x34;" u2="u" k="-100" />
    <hkern u1="&#x34;" u2="t" k="-95" />
    <hkern u1="&#x34;" u2="s" k="-129" />
    <hkern u1="&#x34;" u2="r" k="-115" />
    <hkern u1="&#x34;" u2="q" k="-28" />
    <hkern u1="&#x34;" u2="p" k="-99" />
    <hkern u1="&#x34;" u2="o" k="-82" />
    <hkern u1="&#x34;" u2="n" k="-105" />
    <hkern u1="&#x34;" u2="m" k="-183" />
    <hkern u1="&#x34;" u2="l" k="-115" />
    <hkern u1="&#x34;" u2="k" k="-143" />
    <hkern u1="&#x34;" u2="j" k="44" />
    <hkern u1="&#x34;" u2="i" k="-98" />
    <hkern u1="&#x34;" u2="h" k="-115" />
    <hkern u1="&#x34;" u2="g" k="-22" />
    <hkern u1="&#x34;" u2="f" k="-86" />
    <hkern u1="&#x34;" u2="e" k="-74" />
    <hkern u1="&#x34;" u2="d" k="44" />
    <hkern u1="&#x34;" u2="c" k="-76" />
    <hkern u1="&#x34;" u2="b" k="-143" />
    <hkern u1="&#x34;" u2="`" k="22" />
    <hkern u1="&#x34;" u2="Z" k="45" />
    <hkern u1="&#x34;" u2="Y" k="-86" />
    <hkern u1="&#x34;" u2="X" k="-25" />
    <hkern u1="&#x34;" u2="W" k="-55" />
    <hkern u1="&#x34;" u2="V" k="-48" />
    <hkern u1="&#x34;" u2="U" k="-73" />
    <hkern u1="&#x34;" u2="T" k="-90" />
    <hkern u1="&#x34;" u2="S" k="-85" />
    <hkern u1="&#x34;" u2="R" k="-114" />
    <hkern u1="&#x34;" u2="Q" k="-160" />
    <hkern u1="&#x34;" u2="P" k="-111" />
    <hkern u1="&#x34;" u2="O" k="-162" />
    <hkern u1="&#x34;" u2="N" k="-62" />
    <hkern u1="&#x34;" u2="M" k="-74" />
    <hkern u1="&#x34;" u2="K" k="-192" />
    <hkern u1="&#x34;" u2="J" k="-298" />
    <hkern u1="&#x34;" u2="I" k="-84" />
    <hkern u1="&#x34;" u2="H" k="-102" />
    <hkern u1="&#x34;" u2="G" k="-148" />
    <hkern u1="&#x34;" u2="F" k="-150" />
    <hkern u1="&#x34;" u2="E" k="-93" />
    <hkern u1="&#x34;" u2="D" k="-97" />
    <hkern u1="&#x34;" u2="C" k="-149" />
    <hkern u1="&#x34;" u2="B" k="-96" />
    <hkern u1="&#x34;" u2="A" k="-25" />
    <hkern u1="&#x34;" u2="&#x40;" k="-69" />
    <hkern u1="&#x34;" u2="&#x3b;" k="124" />
    <hkern u1="&#x34;" u2="&#x3a;" k="75" />
    <hkern u1="&#x34;" u2="&#x2e;" k="213" />
    <hkern u1="&#x34;" u2="&#x2d;" k="-130" />
    <hkern u1="&#x34;" u2="&#x2c;" k="149" />
    <hkern u1="&#x34;" u2="&#x29;" k="81" />
    <hkern u1="&#x34;" u2="&#x28;" k="-96" />
    <hkern u1="&#x34;" u2="&#x26;" k="37" />
    <hkern u1="&#x34;" u2="&#x24;" k="-116" />
    <hkern u1="&#x34;" u2="&#x21;" k="-25" />
    <hkern u1="&#x34;" g2=".notdef" k="-59" />
    <hkern u1="&#x35;" u2="&#xd0;" k="-115" />
    <hkern u1="&#x35;" u2="&#xc1;" k="110" />
    <hkern u1="&#x35;" u2="&#x2021;" k="37" />
    <hkern u1="&#x35;" u2="&#x203a;" k="-32" />
    <hkern u1="&#x35;" u2="&#x2019;" k="-39" />
    <hkern u1="&#x35;" u2="&#x2014;" k="-22" />
    <hkern u1="&#x35;" u2="&#x2013;" k="-50" />
    <hkern u1="&#x35;" u2="&#x153;" k="-29" />
    <hkern u1="&#x35;" u2="&#xc0;" k="309" />
    <hkern u1="&#x35;" u2="&#xa2;" k="-93" />
    <hkern u1="&#x35;" u2="&#xd1;" k="-138" />
    <hkern u1="&#x35;" u2="&#xc9;" k="88" />
    <hkern u1="&#x35;" u2="&#x7e;" k="660" />
    <hkern u1="&#x35;" u2="z" k="-23" />
    <hkern u1="&#x35;" u2="y" k="-32" />
    <hkern u1="&#x35;" u2="x" k="35" />
    <hkern u1="&#x35;" u2="w" k="-53" />
    <hkern u1="&#x35;" u2="v" k="-82" />
    <hkern u1="&#x35;" u2="u" k="-79" />
    <hkern u1="&#x35;" u2="t" k="-44" />
    <hkern u1="&#x35;" u2="s" k="-96" />
    <hkern u1="&#x35;" u2="r" k="-79" />
    <hkern u1="&#x35;" u2="q" k="-29" />
    <hkern u1="&#x35;" u2="p" k="-61" />
    <hkern u1="&#x35;" u2="o" k="-60" />
    <hkern u1="&#x35;" u2="n" k="-88" />
    <hkern u1="&#x35;" u2="m" k="-162" />
    <hkern u1="&#x35;" u2="l" k="-65" />
    <hkern u1="&#x35;" u2="k" k="-94" />
    <hkern u1="&#x35;" u2="j" k="98" />
    <hkern u1="&#x35;" u2="i" k="-46" />
    <hkern u1="&#x35;" u2="h" k="-66" />
    <hkern u1="&#x35;" u2="f" k="-80" />
    <hkern u1="&#x35;" u2="e" k="-60" />
    <hkern u1="&#x35;" u2="d" k="51" />
    <hkern u1="&#x35;" u2="c" k="-63" />
    <hkern u1="&#x35;" u2="b" k="-95" />
    <hkern u1="&#x35;" u2="`" k="103" />
    <hkern u1="&#x35;" u2="Z" k="50" />
    <hkern u1="&#x35;" u2="Y" k="-54" />
    <hkern u1="&#x35;" u2="W" k="34" />
    <hkern u1="&#x35;" u2="V" k="42" />
    <hkern u1="&#x35;" u2="U" k="-28" />
    <hkern u1="&#x35;" u2="T" k="-56" />
    <hkern u1="&#x35;" u2="S" k="-76" />
    <hkern u1="&#x35;" u2="R" k="-59" />
    <hkern u1="&#x35;" u2="Q" k="-110" />
    <hkern u1="&#x35;" u2="P" k="-67" />
    <hkern u1="&#x35;" u2="O" k="-114" />
    <hkern u1="&#x35;" u2="N" k="69" />
    <hkern u1="&#x35;" u2="M" k="43" />
    <hkern u1="&#x35;" u2="L" k="87" />
    <hkern u1="&#x35;" u2="K" k="-142" />
    <hkern u1="&#x35;" u2="J" k="61" />
    <hkern u1="&#x35;" u2="I" k="-50" />
    <hkern u1="&#x35;" u2="H" k="-49" />
    <hkern u1="&#x35;" u2="G" k="-102" />
    <hkern u1="&#x35;" u2="F" k="-101" />
    <hkern u1="&#x35;" u2="E" k="-42" />
    <hkern u1="&#x35;" u2="D" k="25" />
    <hkern u1="&#x35;" u2="C" k="-104" />
    <hkern u1="&#x35;" u2="A" k="-53" />
    <hkern u1="&#x35;" u2="&#x3f;" k="124" />
    <hkern u1="&#x35;" u2="&#x3b;" k="182" />
    <hkern u1="&#x35;" u2="&#x3a;" k="88" />
    <hkern u1="&#x35;" u2="&#x2f;" k="117" />
    <hkern u1="&#x35;" u2="&#x2e;" k="162" />
    <hkern u1="&#x35;" u2="&#x2d;" k="-91" />
    <hkern u1="&#x35;" u2="&#x2c;" k="227" />
    <hkern u1="&#x35;" u2="&#x29;" k="163" />
    <hkern u1="&#x35;" u2="&#x28;" k="-44" />
    <hkern u1="&#x35;" u2="&#x26;" k="50" />
    <hkern u1="&#x35;" u2="&#x25;" k="100" />
    <hkern u1="&#x35;" u2="&#x24;" k="-68" />
    <hkern u1="&#x35;" u2="&#x21;" k="25" />
    <hkern u1="&#x35;" g2=".notdef" k="-29" />
    <hkern u1="&#x36;" u2="&#xd0;" k="-85" />
    <hkern u1="&#x36;" u2="&#xc1;" k="127" />
    <hkern u1="&#x36;" u2="&#xc2;" k="34" />
    <hkern u1="&#x36;" u2="&#x2021;" k="42" />
    <hkern u1="&#x36;" u2="&#x2019;" k="-22" />
    <hkern u1="&#x36;" u2="&#x2013;" k="-33" />
    <hkern u1="&#x36;" u2="&#xc0;" k="328" />
    <hkern u1="&#x36;" u2="&#xa2;" k="-88" />
    <hkern u1="&#x36;" u2="&#xd1;" k="-109" />
    <hkern u1="&#x36;" u2="&#xc9;" k="78" />
    <hkern u1="&#x36;" u2="&#x7e;" k="467" />
    <hkern u1="&#x36;" u2="w" k="-35" />
    <hkern u1="&#x36;" u2="v" k="-76" />
    <hkern u1="&#x36;" u2="u" k="-55" />
    <hkern u1="&#x36;" u2="t" k="-30" />
    <hkern u1="&#x36;" u2="s" k="-76" />
    <hkern u1="&#x36;" u2="r" k="-61" />
    <hkern u1="&#x36;" u2="q" k="-22" />
    <hkern u1="&#x36;" u2="p" k="-44" />
    <hkern u1="&#x36;" u2="o" k="-38" />
    <hkern u1="&#x36;" u2="n" k="-62" />
    <hkern u1="&#x36;" u2="m" k="-138" />
    <hkern u1="&#x36;" u2="l" k="-63" />
    <hkern u1="&#x36;" u2="k" k="-79" />
    <hkern u1="&#x36;" u2="j" k="104" />
    <hkern u1="&#x36;" u2="i" k="-30" />
    <hkern u1="&#x36;" u2="h" k="-50" />
    <hkern u1="&#x36;" u2="f" k="-64" />
    <hkern u1="&#x36;" u2="e" k="-43" />
    <hkern u1="&#x36;" u2="d" k="61" />
    <hkern u1="&#x36;" u2="c" k="-42" />
    <hkern u1="&#x36;" u2="b" k="-79" />
    <hkern u1="&#x36;" u2="`" k="50" />
    <hkern u1="&#x36;" u2="Z" k="29" />
    <hkern u1="&#x36;" u2="Y" k="-112" />
    <hkern u1="&#x36;" u2="X" k="-70" />
    <hkern u1="&#x36;" u2="W" k="-48" />
    <hkern u1="&#x36;" u2="V" k="23" />
    <hkern u1="&#x36;" u2="U" k="-64" />
    <hkern u1="&#x36;" u2="T" k="-93" />
    <hkern u1="&#x36;" u2="S" k="-70" />
    <hkern u1="&#x36;" u2="R" k="-79" />
    <hkern u1="&#x36;" u2="Q" k="-94" />
    <hkern u1="&#x36;" u2="P" k="-94" />
    <hkern u1="&#x36;" u2="O" k="-98" />
    <hkern u1="&#x36;" u2="N" k="80" />
    <hkern u1="&#x36;" u2="M" k="36" />
    <hkern u1="&#x36;" u2="L" k="35" />
    <hkern u1="&#x36;" u2="K" k="-127" />
    <hkern u1="&#x36;" u2="J" k="-23" />
    <hkern u1="&#x36;" u2="I" k="-124" />
    <hkern u1="&#x36;" u2="H" k="-36" />
    <hkern u1="&#x36;" u2="G" k="-92" />
    <hkern u1="&#x36;" u2="F" k="-86" />
    <hkern u1="&#x36;" u2="E" k="-26" />
    <hkern u1="&#x36;" u2="D" k="40" />
    <hkern u1="&#x36;" u2="C" k="-86" />
    <hkern u1="&#x36;" u2="A" k="-38" />
    <hkern u1="&#x36;" u2="&#x3f;" k="143" />
    <hkern u1="&#x36;" u2="&#x3b;" k="199" />
    <hkern u1="&#x36;" u2="&#x3a;" k="112" />
    <hkern u1="&#x36;" u2="&#x2f;" k="112" />
    <hkern u1="&#x36;" u2="&#x2e;" k="151" />
    <hkern u1="&#x36;" u2="&#x2d;" k="-61" />
    <hkern u1="&#x36;" u2="&#x2c;" k="220" />
    <hkern u1="&#x36;" u2="&#x29;" k="75" />
    <hkern u1="&#x36;" u2="&#x28;" k="-31" />
    <hkern u1="&#x36;" u2="&#x26;" k="63" />
    <hkern u1="&#x36;" u2="&#x25;" k="95" />
    <hkern u1="&#x36;" u2="&#x24;" k="-62" />
    <hkern u1="&#x36;" u2="&#x23;" k="23" />
    <hkern u1="&#x36;" u2="&#x21;" k="40" />
    <hkern u1="&#x37;" u2="&#xd0;" k="252" />
    <hkern u1="&#x37;" u2="&#xc1;" k="488" />
    <hkern u1="&#x37;" u2="&#xc2;" k="315" />
    <hkern u1="&#x37;" u2="&#x2021;" k="375" />
    <hkern u1="&#x37;" u2="&#x203a;" k="213" />
    <hkern u1="&#x37;" u2="&#x2019;" k="164" />
    <hkern u1="&#x37;" u2="&#x2014;" k="301" />
    <hkern u1="&#x37;" u2="&#x2013;" k="189" />
    <hkern u1="&#x37;" u2="&#x153;" k="251" />
    <hkern u1="&#x37;" u2="&#xc0;" k="688" />
    <hkern u1="&#x37;" u2="&#xa2;" k="-79" />
    <hkern u1="&#x37;" u2="&#xd1;" k="228" />
    <hkern u1="&#x37;" u2="&#xc9;" k="449" />
    <hkern u1="&#x37;" u2="&#x7e;" k="157" />
    <hkern u1="&#x37;" u2="z" k="246" />
    <hkern u1="&#x37;" u2="y" k="239" />
    <hkern u1="&#x37;" u2="x" k="88" />
    <hkern u1="&#x37;" u2="w" k="243" />
    <hkern u1="&#x37;" u2="v" k="149" />
    <hkern u1="&#x37;" u2="u" k="243" />
    <hkern u1="&#x37;" u2="t" k="241" />
    <hkern u1="&#x37;" u2="s" k="256" />
    <hkern u1="&#x37;" u2="r" k="133" />
    <hkern u1="&#x37;" u2="q" k="339" />
    <hkern u1="&#x37;" u2="p" k="189" />
    <hkern u1="&#x37;" u2="o" k="297" />
    <hkern u1="&#x37;" u2="n" k="223" />
    <hkern u1="&#x37;" u2="m" k="141" />
    <hkern u1="&#x37;" u2="l" k="-100" />
    <hkern u1="&#x37;" u2="k" k="-95" />
    <hkern u1="&#x37;" u2="j" k="302" />
    <hkern u1="&#x37;" u2="h" k="-55" />
    <hkern u1="&#x37;" u2="g" k="363" />
    <hkern u1="&#x37;" u2="f" k="76" />
    <hkern u1="&#x37;" u2="e" k="320" />
    <hkern u1="&#x37;" u2="d" k="388" />
    <hkern u1="&#x37;" u2="c" k="318" />
    <hkern u1="&#x37;" u2="b" k="-42" />
    <hkern u1="&#x37;" u2="a" k="368" />
    <hkern u1="&#x37;" u2="`" k="-57" />
    <hkern u1="&#x37;" u2="Y" k="-138" />
    <hkern u1="&#x37;" u2="X" k="-121" />
    <hkern u1="&#x37;" u2="W" k="40" />
    <hkern u1="&#x37;" u2="U" k="-91" />
    <hkern u1="&#x37;" u2="T" k="-119" />
    <hkern u1="&#x37;" u2="S" k="83" />
    <hkern u1="&#x37;" u2="R" k="-105" />
    <hkern u1="&#x37;" u2="Q" k="-36" />
    <hkern u1="&#x37;" u2="P" k="-120" />
    <hkern u1="&#x37;" u2="O" k="-39" />
    <hkern u1="&#x37;" u2="K" k="-159" />
    <hkern u1="&#x37;" u2="J" k="-72" />
    <hkern u1="&#x37;" u2="I" k="-163" />
    <hkern u1="&#x37;" u2="H" k="-33" />
    <hkern u1="&#x37;" u2="G" k="44" />
    <hkern u1="&#x37;" u2="F" k="-51" />
    <hkern u1="&#x37;" u2="E" k="-41" />
    <hkern u1="&#x37;" u2="D" k="-37" />
    <hkern u1="&#x37;" u2="C" k="113" />
    <hkern u1="&#x37;" u2="A" k="291" />
    <hkern u1="&#x37;" u2="&#x40;" k="250" />
    <hkern u1="&#x37;" u2="&#x3f;" k="53" />
    <hkern u1="&#x37;" u2="&#x3b;" k="500" />
    <hkern u1="&#x37;" u2="&#x3a;" k="425" />
    <hkern u1="&#x37;" u2="&#x2f;" k="383" />
    <hkern u1="&#x37;" u2="&#x2e;" k="522" />
    <hkern u1="&#x37;" u2="&#x2d;" k="282" />
    <hkern u1="&#x37;" u2="&#x2c;" k="512" />
    <hkern u1="&#x37;" u2="&#x29;" k="25" />
    <hkern u1="&#x37;" u2="&#x28;" k="66" />
    <hkern u1="&#x37;" u2="&#x26;" k="239" />
    <hkern u1="&#x37;" u2="&#x25;" k="247" />
    <hkern u1="&#x37;" u2="&#x24;" k="-105" />
    <hkern u1="&#x37;" u2="&#x23;" k="110" />
    <hkern u1="&#x37;" g2=".notdef" k="323" />
    <hkern u1="&#x38;" u2="&#xd0;" k="31" />
    <hkern u1="&#x38;" u2="&#xc1;" k="113" />
    <hkern u1="&#x38;" u2="&#xc2;" k="28" />
    <hkern u1="&#x38;" u2="&#x2021;" k="-20" />
    <hkern u1="&#x38;" u2="&#x203a;" k="-54" />
    <hkern u1="&#x38;" u2="&#x2019;" k="-62" />
    <hkern u1="&#x38;" u2="&#x2014;" k="-43" />
    <hkern u1="&#x38;" u2="&#x2013;" k="-64" />
    <hkern u1="&#x38;" u2="&#x153;" k="-52" />
    <hkern u1="&#x38;" u2="&#xc0;" k="349" />
    <hkern u1="&#x38;" u2="&#xa2;" k="-203" />
    <hkern u1="&#x38;" u2="&#xc9;" k="26" />
    <hkern u1="&#x38;" u2="&#x7e;" k="-84" />
    <hkern u1="&#x38;" u2="y" k="-43" />
    <hkern u1="&#x38;" u2="x" k="-162" />
    <hkern u1="&#x38;" u2="w" k="-44" />
    <hkern u1="&#x38;" u2="v" k="-75" />
    <hkern u1="&#x38;" u2="u" k="-69" />
    <hkern u1="&#x38;" u2="t" k="24" />
    <hkern u1="&#x38;" u2="s" k="-51" />
    <hkern u1="&#x38;" u2="r" k="-71" />
    <hkern u1="&#x38;" u2="q" k="-70" />
    <hkern u1="&#x38;" u2="p" k="-73" />
    <hkern u1="&#x38;" u2="o" k="-55" />
    <hkern u1="&#x38;" u2="n" k="-68" />
    <hkern u1="&#x38;" u2="m" k="-126" />
    <hkern u1="&#x38;" u2="l" k="-163" />
    <hkern u1="&#x38;" u2="k" k="-170" />
    <hkern u1="&#x38;" u2="i" k="-116" />
    <hkern u1="&#x38;" u2="h" k="-131" />
    <hkern u1="&#x38;" u2="g" k="-43" />
    <hkern u1="&#x38;" u2="f" k="-73" />
    <hkern u1="&#x38;" u2="e" k="-73" />
    <hkern u1="&#x38;" u2="c" k="-66" />
    <hkern u1="&#x38;" u2="b" k="-136" />
    <hkern u1="&#x38;" u2="a" k="-36" />
    <hkern u1="&#x38;" u2="`" k="-121" />
    <hkern u1="&#x38;" u2="Z" k="-86" />
    <hkern u1="&#x38;" u2="Y" k="-227" />
    <hkern u1="&#x38;" u2="X" k="-126" />
    <hkern u1="&#x38;" u2="W" k="-202" />
    <hkern u1="&#x38;" u2="V" k="-201" />
    <hkern u1="&#x38;" u2="U" k="-214" />
    <hkern u1="&#x38;" u2="T" k="-226" />
    <hkern u1="&#x38;" u2="S" k="-148" />
    <hkern u1="&#x38;" u2="R" k="-257" />
    <hkern u1="&#x38;" u2="Q" k="-142" />
    <hkern u1="&#x38;" u2="P" k="-254" />
    <hkern u1="&#x38;" u2="O" k="-142" />
    <hkern u1="&#x38;" u2="N" k="-217" />
    <hkern u1="&#x38;" u2="M" k="-231" />
    <hkern u1="&#x38;" u2="L" k="-53" />
    <hkern u1="&#x38;" u2="K" k="-232" />
    <hkern u1="&#x38;" u2="J" k="-79" />
    <hkern u1="&#x38;" u2="I" k="-198" />
    <hkern u1="&#x38;" u2="H" k="-59" />
    <hkern u1="&#x38;" u2="G" k="-120" />
    <hkern u1="&#x38;" u2="F" k="-232" />
    <hkern u1="&#x38;" u2="E" k="-237" />
    <hkern u1="&#x38;" u2="D" k="-249" />
    <hkern u1="&#x38;" u2="C" k="-105" />
    <hkern u1="&#x38;" u2="B" k="-251" />
    <hkern u1="&#x38;" u2="A" k="-59" />
    <hkern u1="&#x38;" u2="&#x3f;" k="-163" />
    <hkern u1="&#x38;" u2="&#x3b;" k="204" />
    <hkern u1="&#x38;" u2="&#x3a;" k="139" />
    <hkern u1="&#x38;" u2="&#x2f;" k="47" />
    <hkern u1="&#x38;" u2="&#x2e;" k="100" />
    <hkern u1="&#x38;" u2="&#x2d;" k="50" />
    <hkern u1="&#x38;" u2="&#x2c;" k="176" />
    <hkern u1="&#x38;" u2="&#x29;" k="28" />
    <hkern u1="&#x38;" u2="&#x28;" k="-82" />
    <hkern u1="&#x38;" u2="&#x26;" k="24" />
    <hkern u1="&#x38;" u2="&#x25;" k="28" />
    <hkern u1="&#x38;" u2="&#x24;" k="-219" />
    <hkern u1="&#x38;" u2="&#x23;" k="-109" />
    <hkern u1="&#x38;" u2="&#x21;" k="-63" />
    <hkern u1="&#x38;" g2=".notdef" k="-63" />
    <hkern u1="&#x39;" u2="&#xd0;" k="-71" />
    <hkern u1="&#x39;" u2="&#xc1;" k="149" />
    <hkern u1="&#x39;" u2="&#xc2;" k="52" />
    <hkern u1="&#x39;" u2="&#x2021;" k="44" />
    <hkern u1="&#x39;" u2="&#x2019;" k="-32" />
    <hkern u1="&#x39;" u2="&#x2013;" k="-41" />
    <hkern u1="&#x39;" u2="&#xc0;" k="349" />
    <hkern u1="&#x39;" u2="&#xa2;" k="-128" />
    <hkern u1="&#x39;" u2="&#xd1;" k="-96" />
    <hkern u1="&#x39;" u2="&#xc9;" k="97" />
    <hkern u1="&#x39;" u2="&#x7e;" k="21" />
    <hkern u1="&#x39;" u2="z" k="-24" />
    <hkern u1="&#x39;" u2="x" k="-79" />
    <hkern u1="&#x39;" u2="w" k="-36" />
    <hkern u1="&#x39;" u2="v" k="-103" />
    <hkern u1="&#x39;" u2="u" k="-41" />
    <hkern u1="&#x39;" u2="t" k="-37" />
    <hkern u1="&#x39;" u2="s" k="-70" />
    <hkern u1="&#x39;" u2="r" k="-84" />
    <hkern u1="&#x39;" u2="p" k="-38" />
    <hkern u1="&#x39;" u2="o" k="-26" />
    <hkern u1="&#x39;" u2="n" k="-51" />
    <hkern u1="&#x39;" u2="m" k="-127" />
    <hkern u1="&#x39;" u2="l" k="-65" />
    <hkern u1="&#x39;" u2="k" k="-85" />
    <hkern u1="&#x39;" u2="j" k="71" />
    <hkern u1="&#x39;" u2="i" k="-39" />
    <hkern u1="&#x39;" u2="h" k="-55" />
    <hkern u1="&#x39;" u2="f" k="-61" />
    <hkern u1="&#x39;" u2="e" k="-32" />
    <hkern u1="&#x39;" u2="d" k="65" />
    <hkern u1="&#x39;" u2="c" k="-29" />
    <hkern u1="&#x39;" u2="b" k="-81" />
    <hkern u1="&#x39;" u2="`" k="56" />
    <hkern u1="&#x39;" u2="Z" k="40" />
    <hkern u1="&#x39;" u2="Y" k="-63" />
    <hkern u1="&#x39;" u2="W" k="-131" />
    <hkern u1="&#x39;" u2="V" k="-88" />
    <hkern u1="&#x39;" u2="U" k="-75" />
    <hkern u1="&#x39;" u2="T" k="-78" />
    <hkern u1="&#x39;" u2="S" k="-96" />
    <hkern u1="&#x39;" u2="R" k="-118" />
    <hkern u1="&#x39;" u2="Q" k="-98" />
    <hkern u1="&#x39;" u2="P" k="-114" />
    <hkern u1="&#x39;" u2="O" k="-102" />
    <hkern u1="&#x39;" u2="N" k="-118" />
    <hkern u1="&#x39;" u2="M" k="-122" />
    <hkern u1="&#x39;" u2="L" k="79" />
    <hkern u1="&#x39;" u2="K" k="-140" />
    <hkern u1="&#x39;" u2="J" k="-48" />
    <hkern u1="&#x39;" u2="I" k="-32" />
    <hkern u1="&#x39;" u2="H" k="-39" />
    <hkern u1="&#x39;" u2="G" k="-83" />
    <hkern u1="&#x39;" u2="F" k="-101" />
    <hkern u1="&#x39;" u2="E" k="-110" />
    <hkern u1="&#x39;" u2="D" k="-140" />
    <hkern u1="&#x39;" u2="C" k="-85" />
    <hkern u1="&#x39;" u2="B" k="-162" />
    <hkern u1="&#x39;" u2="A" k="-32" />
    <hkern u1="&#x39;" u2="&#x3f;" k="-54" />
    <hkern u1="&#x39;" u2="&#x3b;" k="201" />
    <hkern u1="&#x39;" u2="&#x3a;" k="118" />
    <hkern u1="&#x39;" u2="&#x2f;" k="108" />
    <hkern u1="&#x39;" u2="&#x2e;" k="171" />
    <hkern u1="&#x39;" u2="&#x2d;" k="-48" />
    <hkern u1="&#x39;" u2="&#x2c;" k="238" />
    <hkern u1="&#x39;" u2="&#x29;" k="205" />
    <hkern u1="&#x39;" u2="&#x28;" k="-36" />
    <hkern u1="&#x39;" u2="&#x26;" k="64" />
    <hkern u1="&#x39;" u2="&#x25;" k="91" />
    <hkern u1="&#x39;" u2="&#x24;" k="-99" />
    <hkern u1="&#x39;" u2="&#x21;" k="24" />
    <hkern u1="&#x3a;" u2="&#xd0;" k="-162" />
    <hkern u1="&#x3a;" u2="&#xc2;" k="-43" />
    <hkern u1="&#x3a;" u2="&#x2021;" k="-136" />
    <hkern u1="&#x3a;" u2="&#x203a;" k="-114" />
    <hkern u1="&#x3a;" u2="&#x2019;" k="-142" />
    <hkern u1="&#x3a;" u2="&#x2014;" k="-114" />
    <hkern u1="&#x3a;" u2="&#x2013;" k="-147" />
    <hkern u1="&#x3a;" u2="&#x153;" k="-136" />
    <hkern u1="&#x3a;" u2="&#xc0;" k="146" />
    <hkern u1="&#x3a;" u2="&#xa2;" k="-176" />
    <hkern u1="&#x3a;" u2="&#xd1;" k="-186" />
    <hkern u1="&#x3a;" u2="&#xc9;" k="-61" />
    <hkern u1="&#x3a;" u2="&#x7e;" k="252" />
    <hkern u1="&#x3a;" u2="z" k="-122" />
    <hkern u1="&#x3a;" u2="y" k="-28" />
    <hkern u1="&#x3a;" u2="x" k="-116" />
    <hkern u1="&#x3a;" u2="w" k="-156" />
    <hkern u1="&#x3a;" u2="v" k="-161" />
    <hkern u1="&#x3a;" u2="u" k="-136" />
    <hkern u1="&#x3a;" u2="t" k="-131" />
    <hkern u1="&#x3a;" u2="s" k="-155" />
    <hkern u1="&#x3a;" u2="r" k="-160" />
    <hkern u1="&#x3a;" u2="q" k="-156" />
    <hkern u1="&#x3a;" u2="p" k="-135" />
    <hkern u1="&#x3a;" u2="o" k="-114" />
    <hkern u1="&#x3a;" u2="n" k="-147" />
    <hkern u1="&#x3a;" u2="m" k="-220" />
    <hkern u1="&#x3a;" u2="l" k="-153" />
    <hkern u1="&#x3a;" u2="k" k="-184" />
    <hkern u1="&#x3a;" u2="j" k="-229" />
    <hkern u1="&#x3a;" u2="i" k="-142" />
    <hkern u1="&#x3a;" u2="h" k="-153" />
    <hkern u1="&#x3a;" u2="g" k="-109" />
    <hkern u1="&#x3a;" u2="f" k="-56" />
    <hkern u1="&#x3a;" u2="e" k="-131" />
    <hkern u1="&#x3a;" u2="d" k="-129" />
    <hkern u1="&#x3a;" u2="c" k="-116" />
    <hkern u1="&#x3a;" u2="b" k="-183" />
    <hkern u1="&#x3a;" u2="a" k="-136" />
    <hkern u1="&#x3a;" u2="`" k="236" />
    <hkern u1="&#x3a;" u2="Z" k="-157" />
    <hkern u1="&#x3a;" u2="Y" k="95" />
    <hkern u1="&#x3a;" u2="X" k="-157" />
    <hkern u1="&#x3a;" u2="W" k="81" />
    <hkern u1="&#x3a;" u2="V" k="134" />
    <hkern u1="&#x3a;" u2="U" k="-70" />
    <hkern u1="&#x3a;" u2="T" k="119" />
    <hkern u1="&#x3a;" u2="S" k="-154" />
    <hkern u1="&#x3a;" u2="R" k="80" />
    <hkern u1="&#x3a;" u2="Q" k="-204" />
    <hkern u1="&#x3a;" u2="P" k="83" />
    <hkern u1="&#x3a;" u2="O" k="-204" />
    <hkern u1="&#x3a;" u2="N" k="101" />
    <hkern u1="&#x3a;" u2="M" k="79" />
    <hkern u1="&#x3a;" u2="L" k="-81" />
    <hkern u1="&#x3a;" u2="K" k="-230" />
    <hkern u1="&#x3a;" u2="J" k="-148" />
    <hkern u1="&#x3a;" u2="I" k="-50" />
    <hkern u1="&#x3a;" u2="H" k="-116" />
    <hkern u1="&#x3a;" u2="G" k="-202" />
    <hkern u1="&#x3a;" u2="F" k="-150" />
    <hkern u1="&#x3a;" u2="E" k="-121" />
    <hkern u1="&#x3a;" u2="D" k="72" />
    <hkern u1="&#x3a;" u2="C" k="-196" />
    <hkern u1="&#x3a;" u2="B" k="-124" />
    <hkern u1="&#x3a;" u2="A" k="-112" />
    <hkern u1="&#x3a;" u2="&#x40;" k="-106" />
    <hkern u1="&#x3a;" u2="&#x3f;" k="168" />
    <hkern u1="&#x3a;" u2="&#x3b;" k="252" />
    <hkern u1="&#x3a;" u2="&#x3a;" k="26" />
    <hkern u1="&#x3a;" u2="&#x39;" k="-139" />
    <hkern u1="&#x3a;" u2="&#x38;" k="-91" />
    <hkern u1="&#x3a;" u2="&#x37;" k="-54" />
    <hkern u1="&#x3a;" u2="&#x36;" k="-151" />
    <hkern u1="&#x3a;" u2="&#x35;" k="-133" />
    <hkern u1="&#x3a;" u2="&#x34;" k="-106" />
    <hkern u1="&#x3a;" u2="&#x33;" k="-142" />
    <hkern u1="&#x3a;" u2="&#x32;" k="-150" />
    <hkern u1="&#x3a;" u2="&#x31;" k="122" />
    <hkern u1="&#x3a;" u2="&#x30;" k="-202" />
    <hkern u1="&#x3a;" u2="&#x2f;" k="-106" />
    <hkern u1="&#x3a;" u2="&#x2d;" k="-132" />
    <hkern u1="&#x3a;" u2="&#x2c;" k="56" />
    <hkern u1="&#x3a;" u2="&#x29;" k="204" />
    <hkern u1="&#x3a;" u2="&#x28;" k="-141" />
    <hkern u1="&#x3a;" u2="&#x25;" k="-105" />
    <hkern u1="&#x3a;" u2="&#x24;" k="-155" />
    <hkern u1="&#x3a;" u2="&#x23;" k="-91" />
    <hkern u1="&#x3a;" u2="&#x21;" k="-59" />
    <hkern u1="&#x3a;" g2=".notdef" k="-131" />
    <hkern u1="&#x3b;" u2="&#xd0;" k="-75" />
    <hkern u1="&#x3b;" u2="&#xc1;" k="107" />
    <hkern u1="&#x3b;" u2="&#xc2;" k="36" />
    <hkern u1="&#x3b;" u2="&#x2021;" k="-44" />
    <hkern u1="&#x3b;" u2="&#x203a;" k="-31" />
    <hkern u1="&#x3b;" u2="&#x2019;" k="-65" />
    <hkern u1="&#x3b;" u2="&#x2014;" k="-31" />
    <hkern u1="&#x3b;" u2="&#x2013;" k="-71" />
    <hkern u1="&#x3b;" u2="&#x153;" k="-58" />
    <hkern u1="&#x3b;" u2="&#xc0;" k="322" />
    <hkern u1="&#x3b;" u2="&#xa2;" k="-108" />
    <hkern u1="&#x3b;" u2="&#xd1;" k="-103" />
    <hkern u1="&#x3b;" u2="&#x7e;" k="448" />
    <hkern u1="&#x3b;" u2="z" k="-32" />
    <hkern u1="&#x3b;" u2="y" k="-25" />
    <hkern u1="&#x3b;" u2="x" k="-23" />
    <hkern u1="&#x3b;" u2="w" k="-80" />
    <hkern u1="&#x3b;" u2="v" k="-95" />
    <hkern u1="&#x3b;" u2="u" k="-58" />
    <hkern u1="&#x3b;" u2="t" k="-49" />
    <hkern u1="&#x3b;" u2="s" k="-74" />
    <hkern u1="&#x3b;" u2="r" k="-90" />
    <hkern u1="&#x3b;" u2="q" k="-54" />
    <hkern u1="&#x3b;" u2="p" k="-61" />
    <hkern u1="&#x3b;" u2="o" k="-31" />
    <hkern u1="&#x3b;" u2="n" k="-71" />
    <hkern u1="&#x3b;" u2="m" k="-145" />
    <hkern u1="&#x3b;" u2="l" k="-79" />
    <hkern u1="&#x3b;" u2="k" k="-103" />
    <hkern u1="&#x3b;" u2="j" k="-46" />
    <hkern u1="&#x3b;" u2="i" k="-65" />
    <hkern u1="&#x3b;" u2="h" k="-79" />
    <hkern u1="&#x3b;" u2="f" k="37" />
    <hkern u1="&#x3b;" u2="e" k="-44" />
    <hkern u1="&#x3b;" u2="d" k="-35" />
    <hkern u1="&#x3b;" u2="c" k="-32" />
    <hkern u1="&#x3b;" u2="b" k="-104" />
    <hkern u1="&#x3b;" u2="a" k="-44" />
    <hkern u1="&#x3b;" u2="`" k="431" />
    <hkern u1="&#x3b;" u2="Z" k="-53" />
    <hkern u1="&#x3b;" u2="Y" k="86" />
    <hkern u1="&#x3b;" u2="X" k="-62" />
    <hkern u1="&#x3b;" u2="W" k="264" />
    <hkern u1="&#x3b;" u2="V" k="320" />
    <hkern u1="&#x3b;" u2="U" k="22" />
    <hkern u1="&#x3b;" u2="T" k="304" />
    <hkern u1="&#x3b;" u2="S" k="-92" />
    <hkern u1="&#x3b;" u2="R" k="86" />
    <hkern u1="&#x3b;" u2="Q" k="-120" />
    <hkern u1="&#x3b;" u2="P" k="26" />
    <hkern u1="&#x3b;" u2="O" k="-125" />
    <hkern u1="&#x3b;" u2="N" k="284" />
    <hkern u1="&#x3b;" u2="M" k="274" />
    <hkern u1="&#x3b;" u2="K" k="-156" />
    <hkern u1="&#x3b;" u2="J" k="33" />
    <hkern u1="&#x3b;" u2="I" k="41" />
    <hkern u1="&#x3b;" u2="H" k="-39" />
    <hkern u1="&#x3b;" u2="G" k="-113" />
    <hkern u1="&#x3b;" u2="F" k="-23" />
    <hkern u1="&#x3b;" u2="E" k="-31" />
    <hkern u1="&#x3b;" u2="C" k="-113" />
    <hkern u1="&#x3b;" u2="B" k="-30" />
    <hkern u1="&#x3b;" u2="&#x40;" k="-33" />
    <hkern u1="&#x3b;" u2="&#x3f;" k="348" />
    <hkern u1="&#x3b;" u2="&#x3b;" k="179" />
    <hkern u1="&#x3b;" u2="&#x3a;" k="101" />
    <hkern u1="&#x3b;" u2="&#x39;" k="-72" />
    <hkern u1="&#x3b;" u2="&#x38;" k="-40" />
    <hkern u1="&#x3b;" u2="&#x37;" k="40" />
    <hkern u1="&#x3b;" u2="&#x36;" k="-71" />
    <hkern u1="&#x3b;" u2="&#x35;" k="-67" />
    <hkern u1="&#x3b;" u2="&#x33;" k="-73" />
    <hkern u1="&#x3b;" u2="&#x32;" k="-54" />
    <hkern u1="&#x3b;" u2="&#x31;" k="32" />
    <hkern u1="&#x3b;" u2="&#x30;" k="-124" />
    <hkern u1="&#x3b;" u2="&#x2e;" k="85" />
    <hkern u1="&#x3b;" u2="&#x2d;" k="-45" />
    <hkern u1="&#x3b;" u2="&#x2c;" k="130" />
    <hkern u1="&#x3b;" u2="&#x29;" k="133" />
    <hkern u1="&#x3b;" u2="&#x28;" k="-63" />
    <hkern u1="&#x3b;" u2="&#x26;" k="88" />
    <hkern u1="&#x3b;" u2="&#x24;" k="-81" />
    <hkern u1="&#x3b;" g2=".notdef" k="-44" />
    <hkern u1="&#x3f;" u2="&#xd0;" k="254" />
    <hkern u1="&#x3f;" u2="&#xc1;" k="486" />
    <hkern u1="&#x3f;" u2="&#xc2;" k="214" />
    <hkern u1="&#x3f;" u2="&#x2021;" k="348" />
    <hkern u1="&#x3f;" u2="&#x203a;" k="107" />
    <hkern u1="&#x3f;" u2="&#x2019;" k="56" />
    <hkern u1="&#x3f;" u2="&#x2014;" k="211" />
    <hkern u1="&#x3f;" u2="&#x2013;" k="70" />
    <hkern u1="&#x3f;" u2="&#x153;" k="143" />
    <hkern u1="&#x3f;" u2="&#xc0;" k="832" />
    <hkern u1="&#x3f;" u2="&#xa2;" k="-101" />
    <hkern u1="&#x3f;" u2="&#xd1;" k="228" />
    <hkern u1="&#x3f;" u2="&#xc9;" k="930" />
    <hkern u1="&#x3f;" u2="z" k="176" />
    <hkern u1="&#x3f;" u2="y" k="116" />
    <hkern u1="&#x3f;" u2="x" k="-31" />
    <hkern u1="&#x3f;" u2="w" k="167" />
    <hkern u1="&#x3f;" u2="v" k="61" />
    <hkern u1="&#x3f;" u2="u" k="142" />
    <hkern u1="&#x3f;" u2="t" k="148" />
    <hkern u1="&#x3f;" u2="s" k="192" />
    <hkern u1="&#x3f;" u2="r" k="21" />
    <hkern u1="&#x3f;" u2="q" k="312" />
    <hkern u1="&#x3f;" u2="p" k="72" />
    <hkern u1="&#x3f;" u2="o" k="213" />
    <hkern u1="&#x3f;" u2="n" k="155" />
    <hkern u1="&#x3f;" u2="m" k="45" />
    <hkern u1="&#x3f;" u2="l" k="-42" />
    <hkern u1="&#x3f;" u2="k" k="-51" />
    <hkern u1="&#x3f;" u2="j" k="105" />
    <hkern u1="&#x3f;" u2="g" k="297" />
    <hkern u1="&#x3f;" u2="f" k="98" />
    <hkern u1="&#x3f;" u2="e" k="240" />
    <hkern u1="&#x3f;" u2="d" k="354" />
    <hkern u1="&#x3f;" u2="c" k="237" />
    <hkern u1="&#x3f;" u2="a" k="344" />
    <hkern u1="&#x3f;" u2="`" k="-26" />
    <hkern u1="&#x3f;" u2="Z" k="42" />
    <hkern u1="&#x3f;" u2="Y" k="-95" />
    <hkern u1="&#x3f;" u2="X" k="22" />
    <hkern u1="&#x3f;" u2="W" k="-86" />
    <hkern u1="&#x3f;" u2="V" k="-91" />
    <hkern u1="&#x3f;" u2="U" k="-88" />
    <hkern u1="&#x3f;" u2="T" k="-95" />
    <hkern u1="&#x3f;" u2="S" k="-23" />
    <hkern u1="&#x3f;" u2="R" k="-131" />
    <hkern u1="&#x3f;" u2="Q" k="-25" />
    <hkern u1="&#x3f;" u2="P" k="-127" />
    <hkern u1="&#x3f;" u2="O" k="-25" />
    <hkern u1="&#x3f;" u2="N" k="-101" />
    <hkern u1="&#x3f;" u2="M" k="-123" />
    <hkern u1="&#x3f;" u2="L" k="73" />
    <hkern u1="&#x3f;" u2="K" k="-113" />
    <hkern u1="&#x3f;" u2="J" k="93" />
    <hkern u1="&#x3f;" u2="I" k="-48" />
    <hkern u1="&#x3f;" u2="H" k="72" />
    <hkern u1="&#x3f;" u2="F" k="-112" />
    <hkern u1="&#x3f;" u2="E" k="-121" />
    <hkern u1="&#x3f;" u2="D" k="-132" />
    <hkern u1="&#x3f;" u2="C" k="41" />
    <hkern u1="&#x3f;" u2="B" k="-129" />
    <hkern u1="&#x3f;" u2="A" k="270" />
    <hkern u1="&#x3f;" u2="&#x40;" k="133" />
    <hkern u1="&#x3f;" u2="&#x3f;" k="-46" />
    <hkern u1="&#x3f;" u2="&#x3b;" k="460" />
    <hkern u1="&#x3f;" u2="&#x3a;" k="401" />
    <hkern u1="&#x3f;" u2="&#x38;" k="-68" />
    <hkern u1="&#x3f;" u2="&#x36;" k="78" />
    <hkern u1="&#x3f;" u2="&#x34;" k="81" />
    <hkern u1="&#x3f;" u2="&#x33;" k="66" />
    <hkern u1="&#x3f;" u2="&#x32;" k="-104" />
    <hkern u1="&#x3f;" u2="&#x31;" k="-28" />
    <hkern u1="&#x3f;" u2="&#x30;" k="-37" />
    <hkern u1="&#x3f;" u2="&#x2f;" k="340" />
    <hkern u1="&#x3f;" u2="&#x2e;" k="1003" />
    <hkern u1="&#x3f;" u2="&#x2d;" k="284" />
    <hkern u1="&#x3f;" u2="&#x2c;" k="500" />
    <hkern u1="&#x3f;" u2="&#x29;" k="219" />
    <hkern u1="&#x3f;" u2="&#x28;" k="39" />
    <hkern u1="&#x3f;" u2="&#x26;" k="154" />
    <hkern u1="&#x3f;" u2="&#x25;" k="247" />
    <hkern u1="&#x3f;" u2="&#x24;" k="-118" />
    <hkern u1="&#x3f;" u2="&#x21;" k="56" />
    <hkern u1="&#x3f;" g2=".notdef" k="219" />
    <hkern u1="&#x40;" u2="&#xd0;" k="-51" />
    <hkern u1="&#x40;" u2="&#xc1;" k="133" />
    <hkern u1="&#x40;" u2="&#x203a;" k="-47" />
    <hkern u1="&#x40;" u2="&#x2019;" k="-42" />
    <hkern u1="&#x40;" u2="&#x2014;" k="-41" />
    <hkern u1="&#x40;" u2="&#x2013;" k="-56" />
    <hkern u1="&#x40;" u2="&#x153;" k="-47" />
    <hkern u1="&#x40;" u2="&#xc0;" k="334" />
    <hkern u1="&#x40;" u2="&#xa2;" k="-60" />
    <hkern u1="&#x40;" u2="&#xd1;" k="-72" />
    <hkern u1="&#x40;" u2="&#xc9;" k="77" />
    <hkern u1="&#x40;" u2="&#x7e;" k="143" />
    <hkern u1="&#x40;" u2="y" k="-56" />
    <hkern u1="&#x40;" u2="w" k="-45" />
    <hkern u1="&#x40;" u2="v" k="-44" />
    <hkern u1="&#x40;" u2="u" k="-73" />
    <hkern u1="&#x40;" u2="t" k="-21" />
    <hkern u1="&#x40;" u2="s" k="-74" />
    <hkern u1="&#x40;" u2="r" k="-60" />
    <hkern u1="&#x40;" u2="q" k="-67" />
    <hkern u1="&#x40;" u2="p" k="-56" />
    <hkern u1="&#x40;" u2="o" k="-60" />
    <hkern u1="&#x40;" u2="n" k="-74" />
    <hkern u1="&#x40;" u2="m" k="-138" />
    <hkern u1="&#x40;" u2="l" k="-57" />
    <hkern u1="&#x40;" u2="k" k="-93" />
    <hkern u1="&#x40;" u2="j" k="115" />
    <hkern u1="&#x40;" u2="i" k="-45" />
    <hkern u1="&#x40;" u2="h" k="-68" />
    <hkern u1="&#x40;" u2="g" k="-50" />
    <hkern u1="&#x40;" u2="f" k="-81" />
    <hkern u1="&#x40;" u2="e" k="-73" />
    <hkern u1="&#x40;" u2="c" k="-70" />
    <hkern u1="&#x40;" u2="b" k="-100" />
    <hkern u1="&#x40;" u2="a" k="-22" />
    <hkern u1="&#x40;" u2="`" k="394" />
    <hkern u1="&#x40;" u2="Y" k="44" />
    <hkern u1="&#x40;" u2="X" k="-25" />
    <hkern u1="&#x40;" u2="W" k="-82" />
    <hkern u1="&#x40;" u2="V" k="35" />
    <hkern u1="&#x40;" u2="T" k="288" />
    <hkern u1="&#x40;" u2="S" k="-38" />
    <hkern u1="&#x40;" u2="R" k="100" />
    <hkern u1="&#x40;" u2="Q" k="-110" />
    <hkern u1="&#x40;" u2="P" k="50" />
    <hkern u1="&#x40;" u2="O" k="-110" />
    <hkern u1="&#x40;" u2="N" k="-24" />
    <hkern u1="&#x40;" u2="M" k="-32" />
    <hkern u1="&#x40;" u2="L" k="89" />
    <hkern u1="&#x40;" u2="K" k="-135" />
    <hkern u1="&#x40;" u2="J" k="282" />
    <hkern u1="&#x40;" u2="I" k="160" />
    <hkern u1="&#x40;" u2="H" k="-25" />
    <hkern u1="&#x40;" u2="G" k="-112" />
    <hkern u1="&#x40;" u2="F" k="-94" />
    <hkern u1="&#x40;" u2="E" k="-26" />
    <hkern u1="&#x40;" u2="C" k="-112" />
    <hkern u1="&#x40;" u2="B" k="-82" />
    <hkern u1="&#x40;" u2="A" k="-66" />
    <hkern u1="&#x40;" u2="&#x3f;" k="84" />
    <hkern u1="&#x40;" u2="&#x3b;" k="233" />
    <hkern u1="&#x40;" u2="&#x3a;" k="170" />
    <hkern u1="&#x40;" u2="&#x39;" k="-34" />
    <hkern u1="&#x40;" u2="&#x38;" k="-52" />
    <hkern u1="&#x40;" u2="&#x37;" k="63" />
    <hkern u1="&#x40;" u2="&#x36;" k="-67" />
    <hkern u1="&#x40;" u2="&#x35;" k="-54" />
    <hkern u1="&#x40;" u2="&#x34;" k="-93" />
    <hkern u1="&#x40;" u2="&#x33;" k="-22" />
    <hkern u1="&#x40;" u2="&#x31;" k="52" />
    <hkern u1="&#x40;" u2="&#x30;" k="-107" />
    <hkern u1="&#x40;" u2="&#x2f;" k="73" />
    <hkern u1="&#x40;" u2="&#x2e;" k="151" />
    <hkern u1="&#x40;" u2="&#x2d;" k="-32" />
    <hkern u1="&#x40;" u2="&#x2c;" k="202" />
    <hkern u1="&#x40;" u2="&#x29;" k="191" />
    <hkern u1="&#x40;" u2="&#x28;" k="-45" />
    <hkern u1="&#x40;" u2="&#x26;" k="24" />
    <hkern u1="&#x40;" u2="&#x25;" k="63" />
    <hkern u1="&#x40;" u2="&#x23;" k="56" />
    <hkern u1="&#x40;" u2="&#x21;" k="41" />
    <hkern u1="&#x40;" g2=".notdef" k="-58" />
    <hkern u1="A" u2="&#xd0;" k="-68" />
    <hkern u1="A" u2="&#x2021;" k="-90" />
    <hkern u1="A" u2="&#x203a;" k="-58" />
    <hkern u1="A" u2="&#x2019;" k="-30" />
    <hkern u1="A" u2="&#x2014;" k="-42" />
    <hkern u1="A" u2="&#x2013;" k="-129" />
    <hkern u1="A" u2="&#x153;" k="-83" />
    <hkern u1="A" u2="&#xc0;" k="303" />
    <hkern u1="A" u2="&#xa2;" k="-28" />
    <hkern u1="A" u2="&#xd1;" k="-85" />
    <hkern u1="A" u2="&#xc9;" k="69" />
    <hkern u1="A" u2="&#x7e;" k="243" />
    <hkern u1="A" u2="z" k="-106" />
    <hkern u1="A" u2="x" k="-109" />
    <hkern u1="A" u2="w" k="-76" />
    <hkern u1="A" u2="u" k="-119" />
    <hkern u1="A" u2="t" k="-23" />
    <hkern u1="A" u2="s" k="-80" />
    <hkern u1="A" u2="r" k="-115" />
    <hkern u1="A" u2="q" k="-68" />
    <hkern u1="A" u2="p" k="-95" />
    <hkern u1="A" u2="o" k="-71" />
    <hkern u1="A" u2="n" k="-149" />
    <hkern u1="A" u2="m" k="-179" />
    <hkern u1="A" u2="l" k="-41" />
    <hkern u1="A" u2="k" k="-72" />
    <hkern u1="A" u2="j" k="78" />
    <hkern u1="A" u2="i" k="-38" />
    <hkern u1="A" u2="h" k="-101" />
    <hkern u1="A" u2="g" k="41" />
    <hkern u1="A" u2="f" k="-58" />
    <hkern u1="A" u2="e" k="-90" />
    <hkern u1="A" u2="d" k="-76" />
    <hkern u1="A" u2="c" k="-73" />
    <hkern u1="A" u2="b" k="-70" />
    <hkern u1="A" u2="a" k="-122" />
    <hkern u1="A" u2="`" k="261" />
    <hkern u1="A" u2="Z" k="-111" />
    <hkern u1="A" u2="Y" k="41" />
    <hkern u1="A" u2="X" k="-137" />
    <hkern u1="A" u2="W" k="68" />
    <hkern u1="A" u2="V" k="110" />
    <hkern u1="A" u2="U" k="-54" />
    <hkern u1="A" u2="T" k="112" />
    <hkern u1="A" u2="R" k="75" />
    <hkern u1="A" u2="Q" k="-82" />
    <hkern u1="A" u2="P" k="53" />
    <hkern u1="A" u2="O" k="-89" />
    <hkern u1="A" u2="N" k="78" />
    <hkern u1="A" u2="M" k="77" />
    <hkern u1="A" u2="L" k="-126" />
    <hkern u1="A" u2="K" k="-119" />
    <hkern u1="A" u2="J" k="181" />
    <hkern u1="A" u2="I" k="-83" />
    <hkern u1="A" u2="H" k="-122" />
    <hkern u1="A" u2="G" k="-65" />
    <hkern u1="A" u2="F" k="-70" />
    <hkern u1="A" u2="D" k="48" />
    <hkern u1="A" u2="C" k="-77" />
    <hkern u1="A" u2="B" k="-109" />
    <hkern u1="A" u2="A" k="-90" />
    <hkern u1="A" u2="&#x3f;" k="117" />
    <hkern u1="A" u2="&#x3b;" k="70" />
    <hkern u1="A" u2="&#x3a;" k="41" />
    <hkern u1="A" u2="&#x39;" k="-40" />
    <hkern u1="A" u2="&#x37;" k="-30" />
    <hkern u1="A" u2="&#x36;" k="-60" />
    <hkern u1="A" u2="&#x35;" k="-116" />
    <hkern u1="A" u2="&#x34;" k="-21" />
    <hkern u1="A" u2="&#x33;" k="-90" />
    <hkern u1="A" u2="&#x32;" k="-143" />
    <hkern u1="A" u2="&#x31;" k="-64" />
    <hkern u1="A" u2="&#x30;" k="-80" />
    <hkern u1="A" u2="&#x2f;" k="-81" />
    <hkern u1="A" u2="&#x2e;" k="142" />
    <hkern u1="A" u2="&#x2d;" k="-46" />
    <hkern u1="A" u2="&#x2c;" k="21" />
    <hkern u1="A" u2="&#x29;" k="21" />
    <hkern u1="A" u2="&#x26;" k="85" />
    <hkern u1="A" u2="&#x25;" k="-99" />
    <hkern u1="A" u2="&#x24;" k="-20" />
    <hkern u1="A" u2="&#x23;" k="89" />
    <hkern u1="A" u2="&#x21;" k="48" />
    <hkern u1="A" g2=".notdef" k="-65" />
    <hkern u1="B" u2="&#xd0;" k="-102" />
    <hkern u1="B" u2="&#xc1;" k="134" />
    <hkern u1="B" u2="&#xc2;" k="40" />
    <hkern u1="B" u2="&#x2021;" k="64" />
    <hkern u1="B" u2="&#x203a;" k="-27" />
    <hkern u1="B" u2="&#x2019;" k="-34" />
    <hkern u1="B" u2="&#x2013;" k="-42" />
    <hkern u1="B" u2="&#x153;" k="-22" />
    <hkern u1="B" u2="&#xc0;" k="336" />
    <hkern u1="B" u2="&#xa2;" k="-84" />
    <hkern u1="B" u2="&#xd1;" k="-125" />
    <hkern u1="B" u2="&#xc9;" k="180" />
    <hkern u1="B" u2="&#x7e;" k="276" />
    <hkern u1="B" u2="y" k="-20" />
    <hkern u1="B" u2="x" k="63" />
    <hkern u1="B" u2="w" k="-41" />
    <hkern u1="B" u2="v" k="-51" />
    <hkern u1="B" u2="u" k="-54" />
    <hkern u1="B" u2="t" k="-40" />
    <hkern u1="B" u2="s" k="-80" />
    <hkern u1="B" u2="r" k="-63" />
    <hkern u1="B" u2="p" k="-43" />
    <hkern u1="B" u2="o" k="-38" />
    <hkern u1="B" u2="n" k="-62" />
    <hkern u1="B" u2="m" k="-136" />
    <hkern u1="B" u2="l" k="-55" />
    <hkern u1="B" u2="k" k="-83" />
    <hkern u1="B" u2="j" k="103" />
    <hkern u1="B" u2="i" k="-41" />
    <hkern u1="B" u2="h" k="-54" />
    <hkern u1="B" u2="f" k="-68" />
    <hkern u1="B" u2="e" k="-36" />
    <hkern u1="B" u2="d" k="80" />
    <hkern u1="B" u2="c" k="-37" />
    <hkern u1="B" u2="b" k="-83" />
    <hkern u1="B" u2="a" k="37" />
    <hkern u1="B" u2="`" k="199" />
    <hkern u1="B" u2="Z" k="106" />
    <hkern u1="B" u2="Y" k="68" />
    <hkern u1="B" u2="X" k="38" />
    <hkern u1="B" u2="W" k="124" />
    <hkern u1="B" u2="V" k="102" />
    <hkern u1="B" u2="U" k="37" />
    <hkern u1="B" u2="T" k="66" />
    <hkern u1="B" u2="S" k="-53" />
    <hkern u1="B" u2="R" k="35" />
    <hkern u1="B" u2="Q" k="-98" />
    <hkern u1="B" u2="P" k="39" />
    <hkern u1="B" u2="O" k="-103" />
    <hkern u1="B" u2="N" k="93" />
    <hkern u1="B" u2="M" k="81" />
    <hkern u1="B" u2="L" k="98" />
    <hkern u1="B" u2="K" k="-132" />
    <hkern u1="B" u2="J" k="211" />
    <hkern u1="B" u2="I" k="89" />
    <hkern u1="B" u2="H" k="-39" />
    <hkern u1="B" u2="G" k="-96" />
    <hkern u1="B" u2="F" k="-90" />
    <hkern u1="B" u2="E" k="-29" />
    <hkern u1="B" u2="D" k="33" />
    <hkern u1="B" u2="C" k="-89" />
    <hkern u1="B" u2="A" k="-34" />
    <hkern u1="B" u2="&#x3f;" k="138" />
    <hkern u1="B" u2="&#x3b;" k="208" />
    <hkern u1="B" u2="&#x3a;" k="110" />
    <hkern u1="B" u2="&#x39;" k="-48" />
    <hkern u1="B" u2="&#x37;" k="106" />
    <hkern u1="B" u2="&#x36;" k="-43" />
    <hkern u1="B" u2="&#x35;" k="-73" />
    <hkern u1="B" u2="&#x34;" k="-48" />
    <hkern u1="B" u2="&#x33;" k="69" />
    <hkern u1="B" u2="&#x32;" k="79" />
    <hkern u1="B" u2="&#x31;" k="53" />
    <hkern u1="B" u2="&#x30;" k="-97" />
    <hkern u1="B" u2="&#x2f;" k="153" />
    <hkern u1="B" u2="&#x2e;" k="254" />
    <hkern u1="B" u2="&#x2d;" k="-78" />
    <hkern u1="B" u2="&#x2c;" k="316" />
    <hkern u1="B" u2="&#x29;" k="234" />
    <hkern u1="B" u2="&#x28;" k="-34" />
    <hkern u1="B" u2="&#x26;" k="67" />
    <hkern u1="B" u2="&#x25;" k="135" />
    <hkern u1="B" u2="&#x24;" k="-64" />
    <hkern u1="B" u2="&#x23;" k="21" />
    <hkern u1="B" u2="&#x21;" k="34" />
    <hkern u1="C" u2="&#xd0;" k="613" />
    <hkern u1="C" u2="&#xc1;" k="66" />
    <hkern u1="C" u2="&#x2021;" k="27" />
    <hkern u1="C" u2="&#x203a;" k="-50" />
    <hkern u1="C" u2="&#x2019;" k="-51" />
    <hkern u1="C" u2="&#x2014;" k="-38" />
    <hkern u1="C" u2="&#x2013;" k="-63" />
    <hkern u1="C" u2="&#x153;" k="-46" />
    <hkern u1="C" u2="&#xc0;" k="264" />
    <hkern u1="C" u2="&#xa2;" k="78" />
    <hkern u1="C" u2="&#xd1;" k="590" />
    <hkern u1="C" u2="&#xc9;" k="30" />
    <hkern u1="C" u2="&#x7e;" k="565" />
    <hkern u1="C" u2="z" k="27" />
    <hkern u1="C" u2="y" k="-51" />
    <hkern u1="C" u2="x" k="29" />
    <hkern u1="C" u2="w" k="-60" />
    <hkern u1="C" u2="v" k="-22" />
    <hkern u1="C" u2="u" k="-82" />
    <hkern u1="C" u2="t" k="90" />
    <hkern u1="C" u2="s" k="-97" />
    <hkern u1="C" u2="r" k="-76" />
    <hkern u1="C" u2="q" k="-39" />
    <hkern u1="C" u2="p" k="-70" />
    <hkern u1="C" u2="o" k="-66" />
    <hkern u1="C" u2="n" k="-90" />
    <hkern u1="C" u2="m" k="-158" />
    <hkern u1="C" u2="l" k="-78" />
    <hkern u1="C" u2="k" k="-110" />
    <hkern u1="C" u2="j" k="94" />
    <hkern u1="C" u2="i" k="-59" />
    <hkern u1="C" u2="h" k="-84" />
    <hkern u1="C" u2="g" k="-24" />
    <hkern u1="C" u2="f" k="-101" />
    <hkern u1="C" u2="e" k="-66" />
    <hkern u1="C" u2="d" k="42" />
    <hkern u1="C" u2="c" k="-67" />
    <hkern u1="C" u2="b" k="-113" />
    <hkern u1="C" u2="`" k="139" />
    <hkern u1="C" u2="Z" k="34" />
    <hkern u1="C" u2="W" k="210" />
    <hkern u1="C" u2="V" k="124" />
    <hkern u1="C" u2="S" k="69" />
    <hkern u1="C" u2="R" k="21" />
    <hkern u1="C" u2="Q" k="-124" />
    <hkern u1="C" u2="O" k="-127" />
    <hkern u1="C" u2="N" k="131" />
    <hkern u1="C" u2="M" k="137" />
    <hkern u1="C" u2="L" k="70" />
    <hkern u1="C" u2="K" k="-154" />
    <hkern u1="C" u2="J" k="45" />
    <hkern u1="C" u2="I" k="-43" />
    <hkern u1="C" u2="H" k="50" />
    <hkern u1="C" u2="G" k="-123" />
    <hkern u1="C" u2="F" k="-114" />
    <hkern u1="C" u2="E" k="33" />
    <hkern u1="C" u2="C" k="-120" />
    <hkern u1="C" u2="B" k="-29" />
    <hkern u1="C" u2="A" k="-72" />
    <hkern u1="C" u2="&#x3f;" k="127" />
    <hkern u1="C" u2="&#x3b;" k="232" />
    <hkern u1="C" u2="&#x3a;" k="331" />
    <hkern u1="C" u2="&#x39;" k="-57" />
    <hkern u1="C" u2="&#x38;" k="87" />
    <hkern u1="C" u2="&#x36;" k="-74" />
    <hkern u1="C" u2="&#x35;" k="49" />
    <hkern u1="C" u2="&#x34;" k="-86" />
    <hkern u1="C" u2="&#x33;" k="-23" />
    <hkern u1="C" u2="&#x32;" k="41" />
    <hkern u1="C" u2="&#x31;" k="31" />
    <hkern u1="C" u2="&#x30;" k="-119" />
    <hkern u1="C" u2="&#x2f;" k="106" />
    <hkern u1="C" u2="&#x2e;" k="104" />
    <hkern u1="C" u2="&#x2d;" k="639" />
    <hkern u1="C" u2="&#x2c;" k="173" />
    <hkern u1="C" u2="&#x29;" k="146" />
    <hkern u1="C" u2="&#x28;" k="-59" />
    <hkern u1="C" u2="&#x26;" k="35" />
    <hkern u1="C" u2="&#x25;" k="88" />
    <hkern u1="C" u2="&#x24;" k="52" />
    <hkern u1="C" u2="&#x23;" k="200" />
    <hkern u1="C" g2=".notdef" k="-43" />
    <hkern u1="D" u2="&#xd0;" k="-114" />
    <hkern u1="D" u2="&#xc1;" k="118" />
    <hkern u1="D" u2="&#x2021;" k="44" />
    <hkern u1="D" u2="&#x203a;" k="-50" />
    <hkern u1="D" u2="&#x2019;" k="-67" />
    <hkern u1="D" u2="&#x2014;" k="-33" />
    <hkern u1="D" u2="&#x2013;" k="-80" />
    <hkern u1="D" u2="&#x153;" k="-47" />
    <hkern u1="D" u2="&#xc0;" k="323" />
    <hkern u1="D" u2="&#xa2;" k="-167" />
    <hkern u1="D" u2="&#xd1;" k="-139" />
    <hkern u1="D" u2="&#xc9;" k="127" />
    <hkern u1="D" u2="z" k="-62" />
    <hkern u1="D" u2="y" k="-53" />
    <hkern u1="D" u2="x" k="-107" />
    <hkern u1="D" u2="w" k="-74" />
    <hkern u1="D" u2="v" k="-141" />
    <hkern u1="D" u2="u" k="-76" />
    <hkern u1="D" u2="t" k="-74" />
    <hkern u1="D" u2="s" k="-105" />
    <hkern u1="D" u2="r" k="-121" />
    <hkern u1="D" u2="q" k="-27" />
    <hkern u1="D" u2="p" k="-81" />
    <hkern u1="D" u2="o" k="-57" />
    <hkern u1="D" u2="n" k="-89" />
    <hkern u1="D" u2="m" k="-165" />
    <hkern u1="D" u2="l" k="-100" />
    <hkern u1="D" u2="k" k="-125" />
    <hkern u1="D" u2="j" k="30" />
    <hkern u1="D" u2="i" k="-75" />
    <hkern u1="D" u2="h" k="-92" />
    <hkern u1="D" u2="f" k="-89" />
    <hkern u1="D" u2="e" k="-54" />
    <hkern u1="D" u2="d" k="56" />
    <hkern u1="D" u2="c" k="-54" />
    <hkern u1="D" u2="b" k="-118" />
    <hkern u1="D" u2="`" k="131" />
    <hkern u1="D" u2="Z" k="54" />
    <hkern u1="D" u2="Y" k="-25" />
    <hkern u1="D" u2="W" k="-176" />
    <hkern u1="D" u2="V" k="-107" />
    <hkern u1="D" u2="U" k="-45" />
    <hkern u1="D" u2="T" k="-28" />
    <hkern u1="D" u2="S" k="-135" />
    <hkern u1="D" u2="R" k="-89" />
    <hkern u1="D" u2="Q" k="-138" />
    <hkern u1="D" u2="P" k="-85" />
    <hkern u1="D" u2="O" k="-137" />
    <hkern u1="D" u2="N" k="-142" />
    <hkern u1="D" u2="M" k="-156" />
    <hkern u1="D" u2="L" k="48" />
    <hkern u1="D" u2="K" k="-176" />
    <hkern u1="D" u2="J" k="243" />
    <hkern u1="D" u2="I" k="103" />
    <hkern u1="D" u2="H" k="-71" />
    <hkern u1="D" u2="G" k="-132" />
    <hkern u1="D" u2="F" k="-120" />
    <hkern u1="D" u2="E" k="-116" />
    <hkern u1="D" u2="D" k="-148" />
    <hkern u1="D" u2="C" k="-122" />
    <hkern u1="D" u2="B" k="-192" />
    <hkern u1="D" u2="A" k="-57" />
    <hkern u1="D" u2="&#x40;" k="-58" />
    <hkern u1="D" u2="&#x3f;" k="-62" />
    <hkern u1="D" u2="&#x3b;" k="165" />
    <hkern u1="D" u2="&#x3a;" k="80" />
    <hkern u1="D" u2="&#x39;" k="-99" />
    <hkern u1="D" u2="&#x38;" k="-154" />
    <hkern u1="D" u2="&#x37;" k="88" />
    <hkern u1="D" u2="&#x36;" k="-77" />
    <hkern u1="D" u2="&#x35;" k="-105" />
    <hkern u1="D" u2="&#x34;" k="-70" />
    <hkern u1="D" u2="&#x32;" k="-139" />
    <hkern u1="D" u2="&#x30;" k="-140" />
    <hkern u1="D" u2="&#x2f;" k="127" />
    <hkern u1="D" u2="&#x2e;" k="201" />
    <hkern u1="D" u2="&#x2d;" k="-91" />
    <hkern u1="D" u2="&#x2c;" k="263" />
    <hkern u1="D" u2="&#x29;" k="214" />
    <hkern u1="D" u2="&#x28;" k="-76" />
    <hkern u1="D" u2="&#x26;" k="49" />
    <hkern u1="D" u2="&#x25;" k="108" />
    <hkern u1="D" u2="&#x24;" k="-119" />
    <hkern u1="D" u2="&#x23;" k="-33" />
    <hkern u1="D" g2=".notdef" k="-33" />
    <hkern u1="E" u2="&#xd0;" k="318" />
    <hkern u1="E" u2="&#xc1;" k="64" />
    <hkern u1="E" u2="&#xc2;" k="65" />
    <hkern u1="E" u2="&#x203a;" k="38" />
    <hkern u1="E" u2="&#x2019;" k="58" />
    <hkern u1="E" u2="&#x2014;" k="45" />
    <hkern u1="E" u2="&#x2013;" k="-34" />
    <hkern u1="E" u2="&#xc0;" k="304" />
    <hkern u1="E" u2="&#xa2;" k="104" />
    <hkern u1="E" u2="&#xd1;" k="308" />
    <hkern u1="E" u2="&#xc9;" k="62" />
    <hkern u1="E" u2="&#x7e;" k="655" />
    <hkern u1="E" u2="y" k="56" />
    <hkern u1="E" u2="x" k="-26" />
    <hkern u1="E" u2="w" k="24" />
    <hkern u1="E" u2="v" k="173" />
    <hkern u1="E" u2="t" k="220" />
    <hkern u1="E" u2="p" k="-34" />
    <hkern u1="E" u2="o" k="29" />
    <hkern u1="E" u2="n" k="-55" />
    <hkern u1="E" u2="m" k="-85" />
    <hkern u1="E" u2="l" k="36" />
    <hkern u1="E" u2="j" k="138" />
    <hkern u1="E" u2="i" k="50" />
    <hkern u1="E" u2="h" k="-40" />
    <hkern u1="E" u2="g" k="52" />
    <hkern u1="E" u2="f" k="94" />
    <hkern u1="E" u2="c" k="27" />
    <hkern u1="E" u2="b" k="31" />
    <hkern u1="E" u2="a" k="-29" />
    <hkern u1="E" u2="`" k="130" />
    <hkern u1="E" u2="Z" k="-49" />
    <hkern u1="E" u2="Y" k="21" />
    <hkern u1="E" u2="X" k="-79" />
    <hkern u1="E" u2="W" k="159" />
    <hkern u1="E" u2="V" k="112" />
    <hkern u1="E" u2="T" k="24" />
    <hkern u1="E" u2="S" k="62" />
    <hkern u1="E" u2="Q" k="23" />
    <hkern u1="E" u2="N" k="133" />
    <hkern u1="E" u2="M" k="109" />
    <hkern u1="E" u2="L" k="-79" />
    <hkern u1="E" u2="K" k="-42" />
    <hkern u1="E" u2="J" k="131" />
    <hkern u1="E" u2="I" k="-28" />
    <hkern u1="E" u2="H" k="-103" />
    <hkern u1="E" u2="F" k="52" />
    <hkern u1="E" u2="E" k="73" />
    <hkern u1="E" u2="D" k="106" />
    <hkern u1="E" u2="B" k="-47" />
    <hkern u1="E" u2="A" k="-51" />
    <hkern u1="E" u2="&#x40;" k="291" />
    <hkern u1="E" u2="&#x3f;" k="179" />
    <hkern u1="E" u2="&#x3b;" k="79" />
    <hkern u1="E" u2="&#x3a;" k="149" />
    <hkern u1="E" u2="&#x39;" k="-25" />
    <hkern u1="E" u2="&#x38;" k="62" />
    <hkern u1="E" u2="&#x37;" k="30" />
    <hkern u1="E" u2="&#x35;" k="-57" />
    <hkern u1="E" u2="&#x34;" k="221" />
    <hkern u1="E" u2="&#x33;" k="-20" />
    <hkern u1="E" u2="&#x32;" k="-80" />
    <hkern u1="E" u2="&#x31;" k="-48" />
    <hkern u1="E" u2="&#x30;" k="39" />
    <hkern u1="E" u2="&#x2f;" k="-36" />
    <hkern u1="E" u2="&#x2e;" k="139" />
    <hkern u1="E" u2="&#x2d;" k="357" />
    <hkern u1="E" u2="&#x29;" k="42" />
    <hkern u1="E" u2="&#x28;" k="51" />
    <hkern u1="E" u2="&#x26;" k="163" />
    <hkern u1="E" u2="&#x25;" k="-54" />
    <hkern u1="E" u2="&#x24;" k="72" />
    <hkern u1="E" u2="&#x23;" k="299" />
    <hkern u1="E" u2="&#x21;" k="114" />
    <hkern u1="E" g2=".notdef" k="22" />
    <hkern u1="F" u2="&#xc1;" k="264" />
    <hkern u1="F" u2="&#xc2;" k="136" />
    <hkern u1="F" u2="&#x2021;" k="192" />
    <hkern u1="F" u2="&#x203a;" k="82" />
    <hkern u1="F" u2="&#x2014;" k="87" />
    <hkern u1="F" u2="&#x2013;" k="51" />
    <hkern u1="F" u2="&#x153;" k="69" />
    <hkern u1="F" u2="&#xc0;" k="630" />
    <hkern u1="F" u2="&#xa2;" k="-274" />
    <hkern u1="F" u2="&#xd1;" k="-32" />
    <hkern u1="F" u2="&#xc9;" k="330" />
    <hkern u1="F" u2="&#x7e;" k="372" />
    <hkern u1="F" u2="z" k="153" />
    <hkern u1="F" u2="y" k="74" />
    <hkern u1="F" u2="x" k="147" />
    <hkern u1="F" u2="w" k="52" />
    <hkern u1="F" u2="v" k="37" />
    <hkern u1="F" u2="u" k="48" />
    <hkern u1="F" u2="t" k="52" />
    <hkern u1="F" u2="s" k="24" />
    <hkern u1="F" u2="r" k="25" />
    <hkern u1="F" u2="q" k="135" />
    <hkern u1="F" u2="p" k="42" />
    <hkern u1="F" u2="o" k="73" />
    <hkern u1="F" u2="n" k="37" />
    <hkern u1="F" u2="m" k="-41" />
    <hkern u1="F" u2="l" k="-281" />
    <hkern u1="F" u2="k" k="-281" />
    <hkern u1="F" u2="j" k="263" />
    <hkern u1="F" u2="i" k="-221" />
    <hkern u1="F" u2="h" k="-242" />
    <hkern u1="F" u2="g" k="137" />
    <hkern u1="F" u2="f" k="-120" />
    <hkern u1="F" u2="e" k="86" />
    <hkern u1="F" u2="d" k="194" />
    <hkern u1="F" u2="c" k="82" />
    <hkern u1="F" u2="b" k="-233" />
    <hkern u1="F" u2="a" k="177" />
    <hkern u1="F" u2="`" k="-236" />
    <hkern u1="F" u2="Z" k="-207" />
    <hkern u1="F" u2="Y" k="-345" />
    <hkern u1="F" u2="X" k="-290" />
    <hkern u1="F" u2="W" k="-159" />
    <hkern u1="F" u2="V" k="-224" />
    <hkern u1="F" u2="U" k="-306" />
    <hkern u1="F" u2="T" k="-344" />
    <hkern u1="F" u2="S" k="-137" />
    <hkern u1="F" u2="R" k="-329" />
    <hkern u1="F" u2="Q" k="-238" />
    <hkern u1="F" u2="P" k="-341" />
    <hkern u1="F" u2="O" k="-239" />
    <hkern u1="F" u2="N" k="-187" />
    <hkern u1="F" u2="M" k="-214" />
    <hkern u1="F" u2="L" k="-182" />
    <hkern u1="F" u2="K" k="-343" />
    <hkern u1="F" u2="J" k="-243" />
    <hkern u1="F" u2="I" k="-341" />
    <hkern u1="F" u2="H" k="-205" />
    <hkern u1="F" u2="G" k="-159" />
    <hkern u1="F" u2="F" k="-231" />
    <hkern u1="F" u2="E" k="-212" />
    <hkern u1="F" u2="D" k="-176" />
    <hkern u1="F" u2="C" k="-98" />
    <hkern u1="F" u2="B" k="-171" />
    <hkern u1="F" u2="A" k="88" />
    <hkern u1="F" u2="&#x40;" k="75" />
    <hkern u1="F" u2="&#x3f;" k="-119" />
    <hkern u1="F" u2="&#x3b;" k="261" />
    <hkern u1="F" u2="&#x3a;" k="205" />
    <hkern u1="F" u2="&#x39;" k="-154" />
    <hkern u1="F" u2="&#x38;" k="-90" />
    <hkern u1="F" u2="&#x37;" k="-303" />
    <hkern u1="F" u2="&#x36;" k="-53" />
    <hkern u1="F" u2="&#x35;" k="-179" />
    <hkern u1="F" u2="&#x34;" k="-142" />
    <hkern u1="F" u2="&#x33;" k="-90" />
    <hkern u1="F" u2="&#x32;" k="-83" />
    <hkern u1="F" u2="&#x31;" k="-208" />
    <hkern u1="F" u2="&#x30;" k="-204" />
    <hkern u1="F" u2="&#x2f;" k="139" />
    <hkern u1="F" u2="&#x2e;" k="403" />
    <hkern u1="F" u2="&#x2c;" k="251" />
    <hkern u1="F" u2="&#x29;" k="-143" />
    <hkern u1="F" u2="&#x28;" k="-138" />
    <hkern u1="F" u2="&#x26;" k="25" />
    <hkern u1="F" u2="&#x25;" k="40" />
    <hkern u1="F" u2="&#x24;" k="-305" />
    <hkern u1="F" u2="&#x23;" k="87" />
    <hkern u1="F" u2="&#x21;" k="-170" />
    <hkern u1="F" g2=".notdef" k="97" />
    <hkern u1="G" u2="&#xd0;" k="-34" />
    <hkern u1="G" u2="&#xc2;" k="68" />
    <hkern u1="G" u2="&#x2021;" k="30" />
    <hkern u1="G" u2="&#x2014;" k="33" />
    <hkern u1="G" u2="&#x2013;" k="-26" />
    <hkern u1="G" u2="&#x153;" k="22" />
    <hkern u1="G" u2="&#xc0;" k="123" />
    <hkern u1="G" u2="&#xa2;" k="-69" />
    <hkern u1="G" u2="&#xd1;" k="-59" />
    <hkern u1="G" u2="&#xc9;" k="48" />
    <hkern u1="G" u2="&#x7e;" k="67" />
    <hkern u1="G" u2="z" k="-20" />
    <hkern u1="G" u2="x" k="-66" />
    <hkern u1="G" u2="v" k="-86" />
    <hkern u1="G" u2="u" k="-29" />
    <hkern u1="G" u2="s" k="-43" />
    <hkern u1="G" u2="r" k="-70" />
    <hkern u1="G" u2="q" k="-30" />
    <hkern u1="G" u2="p" k="-97" />
    <hkern u1="G" u2="n" k="-43" />
    <hkern u1="G" u2="m" k="-99" />
    <hkern u1="G" u2="l" k="-23" />
    <hkern u1="G" u2="k" k="-38" />
    <hkern u1="G" u2="j" k="57" />
    <hkern u1="G" u2="e" k="-29" />
    <hkern u1="G" u2="d" k="50" />
    <hkern u1="G" u2="c" k="-23" />
    <hkern u1="G" u2="b" k="-27" />
    <hkern u1="G" u2="a" k="-20" />
    <hkern u1="G" u2="`" k="384" />
    <hkern u1="G" u2="Y" k="120" />
    <hkern u1="G" u2="X" k="-27" />
    <hkern u1="G" u2="W" k="-85" />
    <hkern u1="G" u2="V" k="-47" />
    <hkern u1="G" u2="U" k="62" />
    <hkern u1="G" u2="T" k="307" />
    <hkern u1="G" u2="S" k="-50" />
    <hkern u1="G" u2="R" k="147" />
    <hkern u1="G" u2="Q" k="-40" />
    <hkern u1="G" u2="P" k="75" />
    <hkern u1="G" u2="O" k="-41" />
    <hkern u1="G" u2="N" k="-81" />
    <hkern u1="G" u2="M" k="-77" />
    <hkern u1="G" u2="L" k="-32" />
    <hkern u1="G" u2="K" k="-97" />
    <hkern u1="G" u2="J" k="-370" />
    <hkern u1="G" u2="I" k="26" />
    <hkern u1="G" u2="H" k="-57" />
    <hkern u1="G" u2="G" k="-26" />
    <hkern u1="G" u2="F" k="-31" />
    <hkern u1="G" u2="E" k="-33" />
    <hkern u1="G" u2="D" k="-99" />
    <hkern u1="G" u2="C" k="-32" />
    <hkern u1="G" u2="B" k="-127" />
    <hkern u1="G" u2="A" k="-83" />
    <hkern u1="G" u2="&#x40;" k="25" />
    <hkern u1="G" u2="&#x3b;" k="69" />
    <hkern u1="G" u2="&#x3a;" k="131" />
    <hkern u1="G" u2="&#x38;" k="-80" />
    <hkern u1="G" u2="&#x37;" k="80" />
    <hkern u1="G" u2="&#x35;" k="-22" />
    <hkern u1="G" u2="&#x33;" k="-25" />
    <hkern u1="G" u2="&#x32;" k="-92" />
    <hkern u1="G" u2="&#x31;" k="-34" />
    <hkern u1="G" u2="&#x30;" k="-52" />
    <hkern u1="G" u2="&#x2f;" k="-24" />
    <hkern u1="G" u2="&#x2e;" k="121" />
    <hkern u1="G" u2="&#x2c;" k="71" />
    <hkern u1="G" u2="&#x29;" k="53" />
    <hkern u1="G" u2="&#x26;" k="96" />
    <hkern u1="G" u2="&#x25;" k="-41" />
    <hkern u1="G" u2="&#x24;" k="-29" />
    <hkern u1="G" u2="&#x23;" k="59" />
    <hkern u1="G" u2="&#x21;" k="68" />
    <hkern u1="H" u2="&#xc1;" k="63" />
    <hkern u1="H" u2="&#xc2;" k="25" />
    <hkern u1="H" u2="&#x2021;" k="-56" />
    <hkern u1="H" u2="&#x203a;" k="-43" />
    <hkern u1="H" u2="&#x2014;" k="-30" />
    <hkern u1="H" u2="&#x2013;" k="-96" />
    <hkern u1="H" u2="&#x153;" k="-60" />
    <hkern u1="H" u2="&#xc0;" k="368" />
    <hkern u1="H" u2="&#xa2;" k="-41" />
    <hkern u1="H" u2="&#xd1;" k="-41" />
    <hkern u1="H" u2="&#x7e;" k="167" />
    <hkern u1="H" u2="z" k="-87" />
    <hkern u1="H" u2="x" k="-68" />
    <hkern u1="H" u2="w" k="-48" />
    <hkern u1="H" u2="u" k="-89" />
    <hkern u1="H" u2="s" k="-56" />
    <hkern u1="H" u2="r" k="-79" />
    <hkern u1="H" u2="q" k="-61" />
    <hkern u1="H" u2="p" k="-55" />
    <hkern u1="H" u2="o" k="-52" />
    <hkern u1="H" u2="n" k="-111" />
    <hkern u1="H" u2="m" k="-144" />
    <hkern u1="H" u2="l" k="-22" />
    <hkern u1="H" u2="k" k="-47" />
    <hkern u1="H" u2="j" k="117" />
    <hkern u1="H" u2="h" k="-69" />
    <hkern u1="H" u2="f" k="63" />
    <hkern u1="H" u2="e" k="-71" />
    <hkern u1="H" u2="d" k="-36" />
    <hkern u1="H" u2="c" k="-57" />
    <hkern u1="H" u2="b" k="-27" />
    <hkern u1="H" u2="a" k="-78" />
    <hkern u1="H" u2="`" k="94" />
    <hkern u1="H" u2="Z" k="-77" />
    <hkern u1="H" u2="X" k="-102" />
    <hkern u1="H" u2="W" k="35" />
    <hkern u1="H" u2="V" k="30" />
    <hkern u1="H" u2="U" k="-22" />
    <hkern u1="H" u2="R" k="-33" />
    <hkern u1="H" u2="Q" k="-38" />
    <hkern u1="H" u2="P" k="-30" />
    <hkern u1="H" u2="O" k="-45" />
    <hkern u1="H" u2="L" k="-78" />
    <hkern u1="H" u2="K" k="-99" />
    <hkern u1="H" u2="J" k="59" />
    <hkern u1="H" u2="I" k="-33" />
    <hkern u1="H" u2="G" k="-26" />
    <hkern u1="H" u2="D" k="-23" />
    <hkern u1="H" u2="C" k="-59" />
    <hkern u1="H" u2="B" k="-77" />
    <hkern u1="H" u2="A" k="-49" />
    <hkern u1="H" u2="&#x40;" k="39" />
    <hkern u1="H" u2="&#x3f;" k="63" />
    <hkern u1="H" u2="&#x3b;" k="135" />
    <hkern u1="H" u2="&#x3a;" k="63" />
    <hkern u1="H" u2="&#x36;" k="-36" />
    <hkern u1="H" u2="&#x35;" k="-82" />
    <hkern u1="H" u2="&#x34;" k="40" />
    <hkern u1="H" u2="&#x33;" k="-72" />
    <hkern u1="H" u2="&#x32;" k="-106" />
    <hkern u1="H" u2="&#x30;" k="-45" />
    <hkern u1="H" u2="&#x2f;" k="-34" />
    <hkern u1="H" u2="&#x2e;" k="80" />
    <hkern u1="H" u2="&#x2c;" k="99" />
    <hkern u1="H" u2="&#x29;" k="70" />
    <hkern u1="H" u2="&#x26;" k="93" />
    <hkern u1="H" u2="&#x25;" k="-51" />
    <hkern u1="H" u2="&#x23;" k="72" />
    <hkern u1="H" u2="&#x21;" k="83" />
    <hkern u1="H" g2=".notdef" k="-53" />
    <hkern u1="I" u2="&#xd0;" k="263" />
    <hkern u1="I" u2="&#x2021;" k="-82" />
    <hkern u1="I" u2="&#x203a;" k="-57" />
    <hkern u1="I" u2="&#x2019;" k="-23" />
    <hkern u1="I" u2="&#x2014;" k="-43" />
    <hkern u1="I" u2="&#x2013;" k="-120" />
    <hkern u1="I" u2="&#x153;" k="-76" />
    <hkern u1="I" u2="&#xc0;" k="294" />
    <hkern u1="I" u2="&#xd1;" k="239" />
    <hkern u1="I" u2="&#xc9;" k="-37" />
    <hkern u1="I" u2="&#x7e;" k="339" />
    <hkern u1="I" u2="z" k="-102" />
    <hkern u1="I" u2="y" k="-34" />
    <hkern u1="I" u2="x" k="-101" />
    <hkern u1="I" u2="w" k="-66" />
    <hkern u1="I" u2="v" k="86" />
    <hkern u1="I" u2="u" k="-107" />
    <hkern u1="I" u2="t" k="124" />
    <hkern u1="I" u2="s" k="-70" />
    <hkern u1="I" u2="r" k="-104" />
    <hkern u1="I" u2="q" k="-92" />
    <hkern u1="I" u2="p" k="-98" />
    <hkern u1="I" u2="o" k="-66" />
    <hkern u1="I" u2="n" k="-136" />
    <hkern u1="I" u2="m" k="-167" />
    <hkern u1="I" u2="l" k="-46" />
    <hkern u1="I" u2="k" k="-75" />
    <hkern u1="I" u2="j" k="75" />
    <hkern u1="I" u2="i" k="-30" />
    <hkern u1="I" u2="h" k="-102" />
    <hkern u1="I" u2="g" k="-37" />
    <hkern u1="I" u2="f" k="31" />
    <hkern u1="I" u2="e" k="-86" />
    <hkern u1="I" u2="d" k="-72" />
    <hkern u1="I" u2="c" k="-71" />
    <hkern u1="I" u2="b" k="-53" />
    <hkern u1="I" u2="a" k="-108" />
    <hkern u1="I" u2="`" k="299" />
    <hkern u1="I" u2="Z" k="-110" />
    <hkern u1="I" u2="Y" k="-48" />
    <hkern u1="I" u2="X" k="-146" />
    <hkern u1="I" u2="W" k="181" />
    <hkern u1="I" u2="V" k="195" />
    <hkern u1="I" u2="U" k="-54" />
    <hkern u1="I" u2="T" k="37" />
    <hkern u1="I" u2="Q" k="-58" />
    <hkern u1="I" u2="O" k="-64" />
    <hkern u1="I" u2="N" k="97" />
    <hkern u1="I" u2="M" k="97" />
    <hkern u1="I" u2="L" k="-128" />
    <hkern u1="I" u2="K" k="-118" />
    <hkern u1="I" u2="J" k="-31" />
    <hkern u1="I" u2="I" k="-101" />
    <hkern u1="I" u2="H" k="-49" />
    <hkern u1="I" u2="G" k="-62" />
    <hkern u1="I" u2="E" k="32" />
    <hkern u1="I" u2="D" k="56" />
    <hkern u1="I" u2="C" k="-82" />
    <hkern u1="I" u2="B" k="-109" />
    <hkern u1="I" u2="A" k="-97" />
    <hkern u1="I" u2="&#x40;" k="255" />
    <hkern u1="I" u2="&#x3f;" k="123" />
    <hkern u1="I" u2="&#x3b;" k="74" />
    <hkern u1="I" u2="&#x3a;" k="48" />
    <hkern u1="I" u2="&#x39;" k="158" />
    <hkern u1="I" u2="&#x37;" k="-78" />
    <hkern u1="I" u2="&#x36;" k="-60" />
    <hkern u1="I" u2="&#x35;" k="-117" />
    <hkern u1="I" u2="&#x34;" k="102" />
    <hkern u1="I" u2="&#x33;" k="-96" />
    <hkern u1="I" u2="&#x32;" k="-142" />
    <hkern u1="I" u2="&#x31;" k="-50" />
    <hkern u1="I" u2="&#x30;" k="-38" />
    <hkern u1="I" u2="&#x2f;" k="-80" />
    <hkern u1="I" u2="&#x2e;" k="40" />
    <hkern u1="I" u2="&#x2d;" k="287" />
    <hkern u1="I" u2="&#x26;" k="76" />
    <hkern u1="I" u2="&#x25;" k="-98" />
    <hkern u1="I" u2="&#x23;" k="202" />
    <hkern u1="I" u2="&#x21;" k="52" />
    <hkern u1="I" g2=".notdef" k="-66" />
    <hkern u1="J" u2="&#xd0;" k="94" />
    <hkern u1="J" u2="&#xc1;" k="265" />
    <hkern u1="J" u2="&#xc2;" k="194" />
    <hkern u1="J" u2="&#x2021;" k="147" />
    <hkern u1="J" u2="&#x203a;" k="122" />
    <hkern u1="J" u2="&#x2019;" k="128" />
    <hkern u1="J" u2="&#x2014;" k="136" />
    <hkern u1="J" u2="&#x2013;" k="112" />
    <hkern u1="J" u2="&#x153;" k="127" />
    <hkern u1="J" u2="&#xc0;" k="362" />
    <hkern u1="J" u2="&#xa2;" k="-36" />
    <hkern u1="J" u2="&#xd1;" k="70" />
    <hkern u1="J" u2="&#xc9;" k="186" />
    <hkern u1="J" u2="&#x7e;" k="192" />
    <hkern u1="J" u2="z" k="123" />
    <hkern u1="J" u2="y" k="101" />
    <hkern u1="J" u2="x" k="84" />
    <hkern u1="J" u2="w" k="124" />
    <hkern u1="J" u2="v" k="64" />
    <hkern u1="J" u2="u" k="100" />
    <hkern u1="J" u2="t" k="123" />
    <hkern u1="J" u2="s" k="85" />
    <hkern u1="J" u2="r" k="83" />
    <hkern u1="J" u2="q" k="126" />
    <hkern u1="J" u2="p" k="129" />
    <hkern u1="J" u2="o" k="115" />
    <hkern u1="J" u2="n" k="100" />
    <hkern u1="J" u2="m" k="34" />
    <hkern u1="J" u2="l" k="-101" />
    <hkern u1="J" u2="k" k="-95" />
    <hkern u1="J" u2="j" k="-110" />
    <hkern u1="J" u2="i" k="120" />
    <hkern u1="J" u2="h" k="-51" />
    <hkern u1="J" u2="g" k="143" />
    <hkern u1="J" u2="f" k="82" />
    <hkern u1="J" u2="e" k="98" />
    <hkern u1="J" u2="d" k="163" />
    <hkern u1="J" u2="c" k="104" />
    <hkern u1="J" u2="b" k="-29" />
    <hkern u1="J" u2="a" k="123" />
    <hkern u1="J" u2="`" k="187" />
    <hkern u1="J" u2="Z" k="124" />
    <hkern u1="J" u2="Y" k="-61" />
    <hkern u1="J" u2="X" k="-175" />
    <hkern u1="J" u2="W" k="38" />
    <hkern u1="J" u2="V" k="66" />
    <hkern u1="J" u2="U" k="-28" />
    <hkern u1="J" u2="S" k="65" />
    <hkern u1="J" u2="R" k="-32" />
    <hkern u1="J" u2="P" k="-53" />
    <hkern u1="J" u2="N" k="40" />
    <hkern u1="J" u2="M" k="41" />
    <hkern u1="J" u2="K" k="-142" />
    <hkern u1="J" u2="J" k="-116" />
    <hkern u1="J" u2="I" k="-145" />
    <hkern u1="J" u2="H" k="-51" />
    <hkern u1="J" u2="G" k="72" />
    <hkern u1="J" u2="F" k="47" />
    <hkern u1="J" u2="E" k="39" />
    <hkern u1="J" u2="C" k="63" />
    <hkern u1="J" u2="A" k="103" />
    <hkern u1="J" u2="&#x40;" k="149" />
    <hkern u1="J" u2="&#x3f;" k="105" />
    <hkern u1="J" u2="&#x3b;" k="284" />
    <hkern u1="J" u2="&#x3a;" k="272" />
    <hkern u1="J" u2="&#x39;" k="99" />
    <hkern u1="J" u2="&#x38;" k="44" />
    <hkern u1="J" u2="&#x37;" k="-122" />
    <hkern u1="J" u2="&#x36;" k="109" />
    <hkern u1="J" u2="&#x35;" k="82" />
    <hkern u1="J" u2="&#x34;" k="63" />
    <hkern u1="J" u2="&#x33;" k="81" />
    <hkern u1="J" u2="&#x32;" k="38" />
    <hkern u1="J" u2="&#x31;" k="126" />
    <hkern u1="J" u2="&#x30;" k="59" />
    <hkern u1="J" u2="&#x2f;" k="166" />
    <hkern u1="J" u2="&#x2e;" k="259" />
    <hkern u1="J" u2="&#x2d;" k="118" />
    <hkern u1="J" u2="&#x2c;" k="262" />
    <hkern u1="J" u2="&#x28;" k="105" />
    <hkern u1="J" u2="&#x26;" k="199" />
    <hkern u1="J" u2="&#x25;" k="148" />
    <hkern u1="J" u2="&#x24;" k="-54" />
    <hkern u1="J" u2="&#x23;" k="163" />
    <hkern u1="J" u2="&#x21;" k="36" />
    <hkern u1="J" g2=".notdef" k="116" />
    <hkern u1="K" u2="&#xd0;" k="300" />
    <hkern u1="K" u2="&#xc1;" k="-93" />
    <hkern u1="K" u2="&#xc2;" k="-113" />
    <hkern u1="K" u2="&#x2021;" k="-193" />
    <hkern u1="K" u2="&#x203a;" k="-185" />
    <hkern u1="K" u2="&#x2019;" k="-153" />
    <hkern u1="K" u2="&#x2014;" k="-175" />
    <hkern u1="K" u2="&#x2013;" k="-221" />
    <hkern u1="K" u2="&#x153;" k="-198" />
    <hkern u1="K" u2="&#xc0;" k="238" />
    <hkern u1="K" u2="&#xa2;" k="-43" />
    <hkern u1="K" u2="&#xd1;" k="279" />
    <hkern u1="K" u2="&#xc9;" k="-202" />
    <hkern u1="K" u2="&#x7e;" k="120" />
    <hkern u1="K" u2="z" k="-208" />
    <hkern u1="K" u2="y" k="-170" />
    <hkern u1="K" u2="x" k="-204" />
    <hkern u1="K" u2="w" k="-178" />
    <hkern u1="K" u2="v" k="-30" />
    <hkern u1="K" u2="u" k="-214" />
    <hkern u1="K" u2="s" k="-182" />
    <hkern u1="K" u2="r" k="-203" />
    <hkern u1="K" u2="q" k="-220" />
    <hkern u1="K" u2="p" k="-195" />
    <hkern u1="K" u2="o" k="-186" />
    <hkern u1="K" u2="n" k="-229" />
    <hkern u1="K" u2="m" k="-267" />
    <hkern u1="K" u2="l" k="-169" />
    <hkern u1="K" u2="k" k="-205" />
    <hkern u1="K" u2="j" k="-23" />
    <hkern u1="K" u2="i" k="-160" />
    <hkern u1="K" u2="h" k="-211" />
    <hkern u1="K" u2="g" k="-175" />
    <hkern u1="K" u2="f" k="-74" />
    <hkern u1="K" u2="e" k="-206" />
    <hkern u1="K" u2="d" k="-179" />
    <hkern u1="K" u2="c" k="-192" />
    <hkern u1="K" u2="b" k="-211" />
    <hkern u1="K" u2="a" k="-207" />
    <hkern u1="K" u2="`" k="-35" />
    <hkern u1="K" u2="Z" k="-223" />
    <hkern u1="K" u2="Y" k="-131" />
    <hkern u1="K" u2="X" k="-246" />
    <hkern u1="K" u2="V" k="-39" />
    <hkern u1="K" u2="U" k="-163" />
    <hkern u1="K" u2="T" k="-126" />
    <hkern u1="K" u2="S" k="-137" />
    <hkern u1="K" u2="R" k="-132" />
    <hkern u1="K" u2="Q" k="-197" />
    <hkern u1="K" u2="P" k="-136" />
    <hkern u1="K" u2="O" k="-199" />
    <hkern u1="K" u2="N" k="-37" />
    <hkern u1="K" u2="M" k="-58" />
    <hkern u1="K" u2="L" k="-170" />
    <hkern u1="K" u2="K" k="-245" />
    <hkern u1="K" u2="J" k="-37" />
    <hkern u1="K" u2="I" k="-145" />
    <hkern u1="K" u2="H" k="-123" />
    <hkern u1="K" u2="G" k="-198" />
    <hkern u1="K" u2="F" k="-112" />
    <hkern u1="K" u2="E" k="-95" />
    <hkern u1="K" u2="D" k="-89" />
    <hkern u1="K" u2="C" k="-216" />
    <hkern u1="K" u2="B" k="-217" />
    <hkern u1="K" u2="A" k="-178" />
    <hkern u1="K" u2="&#x40;" k="97" />
    <hkern u1="K" u2="&#x3a;" k="-65" />
    <hkern u1="K" u2="&#x39;" k="57" />
    <hkern u1="K" u2="&#x38;" k="-132" />
    <hkern u1="K" u2="&#x37;" k="-137" />
    <hkern u1="K" u2="&#x36;" k="-185" />
    <hkern u1="K" u2="&#x35;" k="-223" />
    <hkern u1="K" u2="&#x34;" k="63" />
    <hkern u1="K" u2="&#x33;" k="-232" />
    <hkern u1="K" u2="&#x32;" k="-241" />
    <hkern u1="K" u2="&#x31;" k="-81" />
    <hkern u1="K" u2="&#x30;" k="-178" />
    <hkern u1="K" u2="&#x2f;" k="-163" />
    <hkern u1="K" u2="&#x2e;" k="-129" />
    <hkern u1="K" u2="&#x2d;" k="319" />
    <hkern u1="K" u2="&#x2c;" k="-55" />
    <hkern u1="K" u2="&#x29;" k="-53" />
    <hkern u1="K" u2="&#x28;" k="-149" />
    <hkern u1="K" u2="&#x26;" k="-70" />
    <hkern u1="K" u2="&#x25;" k="-181" />
    <hkern u1="K" u2="&#x24;" k="-75" />
    <hkern u1="K" u2="&#x23;" k="41" />
    <hkern u1="K" u2="&#x21;" k="-29" />
    <hkern u1="K" g2=".notdef" k="-197" />
    <hkern u1="L" u2="&#xd0;" k="486" />
    <hkern u1="L" u2="&#xc1;" k="-47" />
    <hkern u1="L" u2="&#xc2;" k="-40" />
    <hkern u1="L" u2="&#x2021;" k="-112" />
    <hkern u1="L" u2="&#x203a;" k="-80" />
    <hkern u1="L" u2="&#x2019;" k="-52" />
    <hkern u1="L" u2="&#x2014;" k="-68" />
    <hkern u1="L" u2="&#x2013;" k="-143" />
    <hkern u1="L" u2="&#x153;" k="-102" />
    <hkern u1="L" u2="&#xc0;" k="219" />
    <hkern u1="L" u2="&#xa2;" k="286" />
    <hkern u1="L" u2="&#xd1;" k="462" />
    <hkern u1="L" u2="&#xc9;" k="-137" />
    <hkern u1="L" u2="&#x7e;" k="595" />
    <hkern u1="L" u2="z" k="-130" />
    <hkern u1="L" u2="y" k="-64" />
    <hkern u1="L" u2="x" k="-129" />
    <hkern u1="L" u2="w" k="-91" />
    <hkern u1="L" u2="v" k="58" />
    <hkern u1="L" u2="u" k="-134" />
    <hkern u1="L" u2="t" k="102" />
    <hkern u1="L" u2="s" k="-96" />
    <hkern u1="L" u2="r" k="-130" />
    <hkern u1="L" u2="q" k="-122" />
    <hkern u1="L" u2="p" k="-131" />
    <hkern u1="L" u2="o" k="-92" />
    <hkern u1="L" u2="n" k="-165" />
    <hkern u1="L" u2="m" k="-196" />
    <hkern u1="L" u2="l" k="-67" />
    <hkern u1="L" u2="k" k="-99" />
    <hkern u1="L" u2="j" k="44" />
    <hkern u1="L" u2="i" k="-60" />
    <hkern u1="L" u2="h" k="-127" />
    <hkern u1="L" u2="g" k="-67" />
    <hkern u1="L" u2="e" k="-111" />
    <hkern u1="L" u2="d" k="-97" />
    <hkern u1="L" u2="c" k="-98" />
    <hkern u1="L" u2="b" k="-94" />
    <hkern u1="L" u2="a" k="-140" />
    <hkern u1="L" u2="`" k="339" />
    <hkern u1="L" u2="Z" k="-135" />
    <hkern u1="L" u2="X" k="-168" />
    <hkern u1="L" u2="W" k="156" />
    <hkern u1="L" u2="V" k="277" />
    <hkern u1="L" u2="U" k="-81" />
    <hkern u1="L" u2="T" k="203" />
    <hkern u1="L" u2="S" k="-35" />
    <hkern u1="L" u2="R" k="61" />
    <hkern u1="L" u2="Q" k="-83" />
    <hkern u1="L" u2="P" k="27" />
    <hkern u1="L" u2="O" k="-89" />
    <hkern u1="L" u2="N" k="69" />
    <hkern u1="L" u2="M" k="67" />
    <hkern u1="L" u2="L" k="-162" />
    <hkern u1="L" u2="K" k="-144" />
    <hkern u1="L" u2="J" k="138" />
    <hkern u1="L" u2="I" k="-113" />
    <hkern u1="L" u2="H" k="-186" />
    <hkern u1="L" u2="G" k="-87" />
    <hkern u1="L" u2="D" k="26" />
    <hkern u1="L" u2="C" k="-106" />
    <hkern u1="L" u2="B" k="-136" />
    <hkern u1="L" u2="A" k="-135" />
    <hkern u1="L" u2="&#x40;" k="199" />
    <hkern u1="L" u2="&#x3f;" k="91" />
    <hkern u1="L" u2="&#x39;" k="-109" />
    <hkern u1="L" u2="&#x38;" k="-39" />
    <hkern u1="L" u2="&#x37;" k="-59" />
    <hkern u1="L" u2="&#x36;" k="-87" />
    <hkern u1="L" u2="&#x35;" k="-147" />
    <hkern u1="L" u2="&#x34;" k="359" />
    <hkern u1="L" u2="&#x33;" k="-124" />
    <hkern u1="L" u2="&#x32;" k="-173" />
    <hkern u1="L" u2="&#x31;" k="-127" />
    <hkern u1="L" u2="&#x30;" k="-66" />
    <hkern u1="L" u2="&#x2f;" k="-122" />
    <hkern u1="L" u2="&#x2e;" k="-64" />
    <hkern u1="L" u2="&#x2d;" k="509" />
    <hkern u1="L" u2="&#x2c;" k="-105" />
    <hkern u1="L" u2="&#x29;" k="-29" />
    <hkern u1="L" u2="&#x28;" k="-45" />
    <hkern u1="L" u2="&#x26;" k="44" />
    <hkern u1="L" u2="&#x25;" k="-140" />
    <hkern u1="L" u2="&#x24;" k="253" />
    <hkern u1="L" u2="&#x23;" k="170" />
    <hkern u1="L" u2="&#x21;" k="21" />
    <hkern u1="L" g2=".notdef" k="-91" />
    <hkern u1="M" u2="&#xd0;" k="66" />
    <hkern u1="M" u2="&#xc1;" k="-28" />
    <hkern u1="M" u2="&#xc2;" k="-33" />
    <hkern u1="M" u2="&#x2021;" k="-103" />
    <hkern u1="M" u2="&#x203a;" k="-69" />
    <hkern u1="M" u2="&#x2019;" k="-42" />
    <hkern u1="M" u2="&#x2014;" k="-55" />
    <hkern u1="M" u2="&#x2013;" k="-139" />
    <hkern u1="M" u2="&#x153;" k="-95" />
    <hkern u1="M" u2="&#xc0;" k="239" />
    <hkern u1="M" u2="&#xa2;" k="33" />
    <hkern u1="M" u2="&#xd1;" k="43" />
    <hkern u1="M" u2="&#xc9;" k="69" />
    <hkern u1="M" u2="&#x7e;" k="188" />
    <hkern u1="M" u2="z" k="-113" />
    <hkern u1="M" u2="y" k="46" />
    <hkern u1="M" u2="x" k="-126" />
    <hkern u1="M" u2="w" k="-86" />
    <hkern u1="M" u2="v" k="39" />
    <hkern u1="M" u2="u" k="-127" />
    <hkern u1="M" u2="t" k="89" />
    <hkern u1="M" u2="s" k="-89" />
    <hkern u1="M" u2="r" k="-124" />
    <hkern u1="M" u2="q" k="-99" />
    <hkern u1="M" u2="p" k="-126" />
    <hkern u1="M" u2="o" k="-79" />
    <hkern u1="M" u2="n" k="-155" />
    <hkern u1="M" u2="m" k="-187" />
    <hkern u1="M" u2="l" k="-54" />
    <hkern u1="M" u2="k" k="-88" />
    <hkern u1="M" u2="j" k="47" />
    <hkern u1="M" u2="i" k="-50" />
    <hkern u1="M" u2="h" k="-119" />
    <hkern u1="M" u2="g" k="42" />
    <hkern u1="M" u2="e" k="-99" />
    <hkern u1="M" u2="d" k="-84" />
    <hkern u1="M" u2="c" k="-82" />
    <hkern u1="M" u2="b" k="-50" />
    <hkern u1="M" u2="a" k="-131" />
    <hkern u1="M" u2="`" k="193" />
    <hkern u1="M" u2="Z" k="-127" />
    <hkern u1="M" u2="X" k="-160" />
    <hkern u1="M" u2="W" k="23" />
    <hkern u1="M" u2="V" k="56" />
    <hkern u1="M" u2="U" k="-73" />
    <hkern u1="M" u2="T" k="52" />
    <hkern u1="M" u2="S" k="-22" />
    <hkern u1="M" u2="Q" k="-62" />
    <hkern u1="M" u2="P" k="22" />
    <hkern u1="M" u2="O" k="-67" />
    <hkern u1="M" u2="N" k="30" />
    <hkern u1="M" u2="M" k="35" />
    <hkern u1="M" u2="L" k="-153" />
    <hkern u1="M" u2="K" k="-133" />
    <hkern u1="M" u2="J" k="147" />
    <hkern u1="M" u2="I" k="-105" />
    <hkern u1="M" u2="H" k="-176" />
    <hkern u1="M" u2="G" k="-71" />
    <hkern u1="M" u2="C" k="-93" />
    <hkern u1="M" u2="B" k="-128" />
    <hkern u1="M" u2="A" k="-126" />
    <hkern u1="M" u2="&#x40;" k="119" />
    <hkern u1="M" u2="&#x3f;" k="92" />
    <hkern u1="M" u2="&#x3b;" k="21" />
    <hkern u1="M" u2="&#x3a;" k="37" />
    <hkern u1="M" u2="&#x39;" k="-100" />
    <hkern u1="M" u2="&#x38;" k="-28" />
    <hkern u1="M" u2="&#x37;" k="-52" />
    <hkern u1="M" u2="&#x36;" k="-79" />
    <hkern u1="M" u2="&#x35;" k="-140" />
    <hkern u1="M" u2="&#x34;" k="30" />
    <hkern u1="M" u2="&#x33;" k="-111" />
    <hkern u1="M" u2="&#x32;" k="-168" />
    <hkern u1="M" u2="&#x31;" k="-119" />
    <hkern u1="M" u2="&#x30;" k="-52" />
    <hkern u1="M" u2="&#x2f;" k="-114" />
    <hkern u1="M" u2="&#x2e;" k="142" />
    <hkern u1="M" u2="&#x2d;" k="90" />
    <hkern u1="M" u2="&#x2c;" k="-47" />
    <hkern u1="M" u2="&#x28;" k="-38" />
    <hkern u1="M" u2="&#x26;" k="77" />
    <hkern u1="M" u2="&#x25;" k="-132" />
    <hkern u1="M" u2="&#x24;" k="60" />
    <hkern u1="M" u2="&#x23;" k="155" />
    <hkern u1="M" u2="&#x21;" k="31" />
    <hkern u1="M" g2=".notdef" k="-77" />
    <hkern u1="N" u2="&#xd0;" k="79" />
    <hkern u1="N" u2="&#xc1;" k="21" />
    <hkern u1="N" u2="&#x2021;" k="-82" />
    <hkern u1="N" u2="&#x203a;" k="-82" />
    <hkern u1="N" u2="&#x2019;" k="-45" />
    <hkern u1="N" u2="&#x2014;" k="-67" />
    <hkern u1="N" u2="&#x2013;" k="-120" />
    <hkern u1="N" u2="&#x153;" k="-90" />
    <hkern u1="N" u2="&#xc0;" k="351" />
    <hkern u1="N" u2="&#xa2;" k="48" />
    <hkern u1="N" u2="&#xd1;" k="55" />
    <hkern u1="N" u2="&#xc9;" k="-82" />
    <hkern u1="N" u2="&#x7e;" k="208" />
    <hkern u1="N" u2="z" k="-116" />
    <hkern u1="N" u2="y" k="-72" />
    <hkern u1="N" u2="x" k="-99" />
    <hkern u1="N" u2="w" k="-82" />
    <hkern u1="N" u2="v" k="58" />
    <hkern u1="N" u2="u" k="-121" />
    <hkern u1="N" u2="t" k="97" />
    <hkern u1="N" u2="s" k="-87" />
    <hkern u1="N" u2="r" k="-107" />
    <hkern u1="N" u2="q" k="-121" />
    <hkern u1="N" u2="p" k="-98" />
    <hkern u1="N" u2="o" k="-92" />
    <hkern u1="N" u2="n" k="-135" />
    <hkern u1="N" u2="m" k="-174" />
    <hkern u1="N" u2="l" k="-57" />
    <hkern u1="N" u2="k" k="-94" />
    <hkern u1="N" u2="j" k="82" />
    <hkern u1="N" u2="i" k="-52" />
    <hkern u1="N" u2="h" k="-99" />
    <hkern u1="N" u2="g" k="-76" />
    <hkern u1="N" u2="f" k="38" />
    <hkern u1="N" u2="e" k="-111" />
    <hkern u1="N" u2="d" k="-65" />
    <hkern u1="N" u2="c" k="-98" />
    <hkern u1="N" u2="b" k="-105" />
    <hkern u1="N" u2="a" k="-109" />
    <hkern u1="N" u2="`" k="219" />
    <hkern u1="N" u2="Z" k="-108" />
    <hkern u1="N" u2="X" k="-130" />
    <hkern u1="N" u2="W" k="39" />
    <hkern u1="N" u2="V" k="81" />
    <hkern u1="N" u2="U" k="-51" />
    <hkern u1="N" u2="T" k="78" />
    <hkern u1="N" u2="S" k="-25" />
    <hkern u1="N" u2="R" k="43" />
    <hkern u1="N" u2="Q" k="-90" />
    <hkern u1="N" u2="P" k="37" />
    <hkern u1="N" u2="O" k="-91" />
    <hkern u1="N" u2="N" k="55" />
    <hkern u1="N" u2="M" k="44" />
    <hkern u1="N" u2="L" k="-39" />
    <hkern u1="N" u2="K" k="-134" />
    <hkern u1="N" u2="J" k="206" />
    <hkern u1="N" u2="G" k="-89" />
    <hkern u1="N" u2="D" k="31" />
    <hkern u1="N" u2="C" k="-106" />
    <hkern u1="N" u2="B" k="-103" />
    <hkern u1="N" u2="A" k="-58" />
    <hkern u1="N" u2="&#x40;" k="124" />
    <hkern u1="N" u2="&#x3f;" k="117" />
    <hkern u1="N" u2="&#x3b;" k="112" />
    <hkern u1="N" u2="&#x3a;" k="25" />
    <hkern u1="N" u2="&#x39;" k="96" />
    <hkern u1="N" u2="&#x38;" k="-21" />
    <hkern u1="N" u2="&#x37;" k="-21" />
    <hkern u1="N" u2="&#x36;" k="-73" />
    <hkern u1="N" u2="&#x35;" k="-102" />
    <hkern u1="N" u2="&#x34;" k="33" />
    <hkern u1="N" u2="&#x33;" k="-121" />
    <hkern u1="N" u2="&#x32;" k="-123" />
    <hkern u1="N" u2="&#x31;" k="31" />
    <hkern u1="N" u2="&#x30;" k="-70" />
    <hkern u1="N" u2="&#x2f;" k="-43" />
    <hkern u1="N" u2="&#x2d;" k="101" />
    <hkern u1="N" u2="&#x2c;" k="83" />
    <hkern u1="N" u2="&#x29;" k="67" />
    <hkern u1="N" u2="&#x28;" k="-37" />
    <hkern u1="N" u2="&#x26;" k="30" />
    <hkern u1="N" u2="&#x25;" k="-61" />
    <hkern u1="N" u2="&#x24;" k="78" />
    <hkern u1="N" u2="&#x23;" k="148" />
    <hkern u1="N" u2="&#x21;" k="104" />
    <hkern u1="N" g2=".notdef" k="-89" />
    <hkern u1="O" u2="&#xd0;" k="-45" />
    <hkern u1="O" u2="&#xc1;" k="182" />
    <hkern u1="O" u2="&#xc2;" k="83" />
    <hkern u1="O" u2="&#x2021;" k="91" />
    <hkern u1="O" u2="&#x2014;" k="27" />
    <hkern u1="O" u2="&#xc0;" k="387" />
    <hkern u1="O" u2="&#xa2;" k="-110" />
    <hkern u1="O" u2="&#xd1;" k="-69" />
    <hkern u1="O" u2="&#xc9;" k="162" />
    <hkern u1="O" u2="&#x7e;" k="26" />
    <hkern u1="O" u2="x" k="-67" />
    <hkern u1="O" u2="v" k="-84" />
    <hkern u1="O" u2="s" k="-39" />
    <hkern u1="O" u2="r" k="-68" />
    <hkern u1="O" u2="q" k="28" />
    <hkern u1="O" u2="n" k="-28" />
    <hkern u1="O" u2="m" k="-101" />
    <hkern u1="O" u2="l" k="-48" />
    <hkern u1="O" u2="k" k="-67" />
    <hkern u1="O" u2="j" k="84" />
    <hkern u1="O" u2="h" k="-34" />
    <hkern u1="O" u2="g" k="46" />
    <hkern u1="O" u2="f" k="-27" />
    <hkern u1="O" u2="d" k="115" />
    <hkern u1="O" u2="b" k="-58" />
    <hkern u1="O" u2="a" k="68" />
    <hkern u1="O" u2="`" k="62" />
    <hkern u1="O" u2="Z" k="80" />
    <hkern u1="O" u2="Y" k="-63" />
    <hkern u1="O" u2="X" k="50" />
    <hkern u1="O" u2="W" k="-107" />
    <hkern u1="O" u2="V" k="-82" />
    <hkern u1="O" u2="U" k="-66" />
    <hkern u1="O" u2="T" k="-65" />
    <hkern u1="O" u2="S" k="-77" />
    <hkern u1="O" u2="R" k="-106" />
    <hkern u1="O" u2="Q" k="-71" />
    <hkern u1="O" u2="P" k="-101" />
    <hkern u1="O" u2="O" k="-70" />
    <hkern u1="O" u2="N" k="-108" />
    <hkern u1="O" u2="M" k="-109" />
    <hkern u1="O" u2="L" k="89" />
    <hkern u1="O" u2="K" k="-123" />
    <hkern u1="O" u2="J" k="96" />
    <hkern u1="O" u2="I" k="-20" />
    <hkern u1="O" u2="G" k="-62" />
    <hkern u1="O" u2="F" k="-91" />
    <hkern u1="O" u2="E" k="-106" />
    <hkern u1="O" u2="D" k="-131" />
    <hkern u1="O" u2="C" k="-55" />
    <hkern u1="O" u2="B" k="-151" />
    <hkern u1="O" u2="&#x3f;" k="-45" />
    <hkern u1="O" u2="&#x3b;" k="228" />
    <hkern u1="O" u2="&#x3a;" k="146" />
    <hkern u1="O" u2="&#x39;" k="-42" />
    <hkern u1="O" u2="&#x38;" k="-105" />
    <hkern u1="O" u2="&#x35;" k="-45" />
    <hkern u1="O" u2="&#x33;" k="41" />
    <hkern u1="O" u2="&#x32;" k="-111" />
    <hkern u1="O" u2="&#x30;" k="-82" />
    <hkern u1="O" u2="&#x2f;" k="168" />
    <hkern u1="O" u2="&#x2e;" k="236" />
    <hkern u1="O" u2="&#x2d;" k="-21" />
    <hkern u1="O" u2="&#x2c;" k="303" />
    <hkern u1="O" u2="&#x29;" k="198" />
    <hkern u1="O" u2="&#x26;" k="104" />
    <hkern u1="O" u2="&#x25;" k="150" />
    <hkern u1="O" u2="&#x24;" k="-87" />
    <hkern u1="O" u2="&#x21;" k="42" />
    <hkern u1="O" g2=".notdef" k="23" />
    <hkern u1="P" u2="&#xd0;" k="224" />
    <hkern u1="P" u2="&#xc1;" k="637" />
    <hkern u1="P" u2="&#xc2;" k="227" />
    <hkern u1="P" u2="&#x2021;" k="363" />
    <hkern u1="P" u2="&#x203a;" k="125" />
    <hkern u1="P" u2="&#x2019;" k="73" />
    <hkern u1="P" u2="&#x2014;" k="207" />
    <hkern u1="P" u2="&#x2013;" k="89" />
    <hkern u1="P" u2="&#x153;" k="145" />
    <hkern u1="P" u2="&#xc0;" k="841" />
    <hkern u1="P" u2="&#xa2;" k="-93" />
    <hkern u1="P" u2="&#xd1;" k="196" />
    <hkern u1="P" u2="&#xc9;" k="773" />
    <hkern u1="P" u2="z" k="176" />
    <hkern u1="P" u2="y" k="141" />
    <hkern u1="P" u2="w" k="162" />
    <hkern u1="P" u2="v" k="66" />
    <hkern u1="P" u2="u" k="153" />
    <hkern u1="P" u2="t" k="165" />
    <hkern u1="P" u2="s" k="195" />
    <hkern u1="P" u2="r" k="35" />
    <hkern u1="P" u2="q" k="320" />
    <hkern u1="P" u2="p" k="93" />
    <hkern u1="P" u2="o" k="216" />
    <hkern u1="P" u2="n" k="156" />
    <hkern u1="P" u2="m" k="57" />
    <hkern u1="P" u2="l" k="-39" />
    <hkern u1="P" u2="k" k="-43" />
    <hkern u1="P" u2="j" k="122" />
    <hkern u1="P" u2="g" k="309" />
    <hkern u1="P" u2="f" k="107" />
    <hkern u1="P" u2="e" k="248" />
    <hkern u1="P" u2="d" k="370" />
    <hkern u1="P" u2="c" k="245" />
    <hkern u1="P" u2="a" k="366" />
    <hkern u1="P" u2="`" k="-50" />
    <hkern u1="P" u2="Z" k="44" />
    <hkern u1="P" u2="Y" k="-99" />
    <hkern u1="P" u2="X" k="-38" />
    <hkern u1="P" u2="W" k="-51" />
    <hkern u1="P" u2="V" k="-71" />
    <hkern u1="P" u2="U" k="-88" />
    <hkern u1="P" u2="T" k="-102" />
    <hkern u1="P" u2="R" k="-130" />
    <hkern u1="P" u2="P" k="-128" />
    <hkern u1="P" u2="N" k="-85" />
    <hkern u1="P" u2="M" k="-89" />
    <hkern u1="P" u2="L" k="70" />
    <hkern u1="P" u2="K" k="-107" />
    <hkern u1="P" u2="I" k="-87" />
    <hkern u1="P" u2="H" k="56" />
    <hkern u1="P" u2="F" k="-104" />
    <hkern u1="P" u2="E" k="-106" />
    <hkern u1="P" u2="D" k="-118" />
    <hkern u1="P" u2="C" k="58" />
    <hkern u1="P" u2="B" k="-112" />
    <hkern u1="P" u2="A" k="285" />
    <hkern u1="P" u2="&#x40;" k="143" />
    <hkern u1="P" u2="&#x3f;" k="-31" />
    <hkern u1="P" u2="&#x3b;" k="457" />
    <hkern u1="P" u2="&#x3a;" k="398" />
    <hkern u1="P" u2="&#x39;" k="25" />
    <hkern u1="P" u2="&#x38;" k="-53" />
    <hkern u1="P" u2="&#x37;" k="-43" />
    <hkern u1="P" u2="&#x36;" k="94" />
    <hkern u1="P" u2="&#x34;" k="95" />
    <hkern u1="P" u2="&#x33;" k="70" />
    <hkern u1="P" u2="&#x32;" k="-89" />
    <hkern u1="P" u2="&#x31;" k="-21" />
    <hkern u1="P" u2="&#x30;" k="-20" />
    <hkern u1="P" u2="&#x2f;" k="449" />
    <hkern u1="P" u2="&#x2e;" k="845" />
    <hkern u1="P" u2="&#x2d;" k="254" />
    <hkern u1="P" u2="&#x2c;" k="684" />
    <hkern u1="P" u2="&#x29;" k="119" />
    <hkern u1="P" u2="&#x28;" k="55" />
    <hkern u1="P" u2="&#x26;" k="169" />
    <hkern u1="P" u2="&#x25;" k="258" />
    <hkern u1="P" u2="&#x24;" k="-116" />
    <hkern u1="P" u2="&#x23;" k="23" />
    <hkern u1="P" u2="&#x21;" k="64" />
    <hkern u1="P" g2=".notdef" k="234" />
    <hkern u1="Q" u2="&#xd0;" k="-44" />
    <hkern u1="Q" u2="&#xc1;" k="61" />
    <hkern u1="Q" u2="&#xc2;" k="44" />
    <hkern u1="Q" u2="&#x2021;" k="-34" />
    <hkern u1="Q" u2="&#x2013;" k="-69" />
    <hkern u1="Q" u2="&#x153;" k="-27" />
    <hkern u1="Q" u2="&#xc0;" k="317" />
    <hkern u1="Q" u2="&#xa2;" k="-111" />
    <hkern u1="Q" u2="&#xd1;" k="-68" />
    <hkern u1="Q" u2="&#xc9;" k="78" />
    <hkern u1="Q" u2="&#x7e;" k="26" />
    <hkern u1="Q" u2="z" k="-38" />
    <hkern u1="Q" u2="x" k="-75" />
    <hkern u1="Q" u2="v" k="-91" />
    <hkern u1="Q" u2="u" k="-52" />
    <hkern u1="Q" u2="s" k="-44" />
    <hkern u1="Q" u2="r" k="-74" />
    <hkern u1="Q" u2="q" k="-34" />
    <hkern u1="Q" u2="p" k="-49" />
    <hkern u1="Q" u2="n" k="-79" />
    <hkern u1="Q" u2="m" k="-112" />
    <hkern u1="Q" u2="l" k="-54" />
    <hkern u1="Q" u2="k" k="-70" />
    <hkern u1="Q" u2="j" k="76" />
    <hkern u1="Q" u2="h" k="-48" />
    <hkern u1="Q" u2="g" k="22" />
    <hkern u1="Q" u2="f" k="-33" />
    <hkern u1="Q" u2="e" k="-26" />
    <hkern u1="Q" u2="b" k="-63" />
    <hkern u1="Q" u2="a" k="-58" />
    <hkern u1="Q" u2="`" k="60" />
    <hkern u1="Q" u2="Z" k="-57" />
    <hkern u1="Q" u2="Y" k="-67" />
    <hkern u1="Q" u2="X" k="-88" />
    <hkern u1="Q" u2="W" k="-113" />
    <hkern u1="Q" u2="V" k="-87" />
    <hkern u1="Q" u2="U" k="-73" />
    <hkern u1="Q" u2="T" k="-71" />
    <hkern u1="Q" u2="S" k="-82" />
    <hkern u1="Q" u2="R" k="-112" />
    <hkern u1="Q" u2="Q" k="-74" />
    <hkern u1="Q" u2="P" k="-108" />
    <hkern u1="Q" u2="O" k="-76" />
    <hkern u1="Q" u2="N" k="-115" />
    <hkern u1="Q" u2="M" k="-109" />
    <hkern u1="Q" u2="L" k="-82" />
    <hkern u1="Q" u2="K" k="-129" />
    <hkern u1="Q" u2="J" k="87" />
    <hkern u1="Q" u2="I" k="-31" />
    <hkern u1="Q" u2="H" k="-105" />
    <hkern u1="Q" u2="G" k="-67" />
    <hkern u1="Q" u2="F" k="-98" />
    <hkern u1="Q" u2="E" k="-109" />
    <hkern u1="Q" u2="D" k="-138" />
    <hkern u1="Q" u2="C" k="-60" />
    <hkern u1="Q" u2="B" k="-158" />
    <hkern u1="Q" u2="A" k="-55" />
    <hkern u1="Q" u2="&#x3f;" k="-52" />
    <hkern u1="Q" u2="&#x3b;" k="90" />
    <hkern u1="Q" u2="&#x3a;" k="115" />
    <hkern u1="Q" u2="&#x39;" k="-49" />
    <hkern u1="Q" u2="&#x38;" k="-111" />
    <hkern u1="Q" u2="&#x35;" k="-69" />
    <hkern u1="Q" u2="&#x33;" k="-41" />
    <hkern u1="Q" u2="&#x32;" k="-119" />
    <hkern u1="Q" u2="&#x31;" k="-48" />
    <hkern u1="Q" u2="&#x30;" k="-87" />
    <hkern u1="Q" u2="&#x2f;" k="-42" />
    <hkern u1="Q" u2="&#x2e;" k="154" />
    <hkern u1="Q" u2="&#x2c;" k="54" />
    <hkern u1="Q" u2="&#x29;" k="52" />
    <hkern u1="Q" u2="&#x28;" k="-23" />
    <hkern u1="Q" u2="&#x26;" k="98" />
    <hkern u1="Q" u2="&#x25;" k="-60" />
    <hkern u1="Q" u2="&#x24;" k="-88" />
    <hkern u1="Q" u2="&#x21;" k="36" />
    <hkern u1="R" u2="&#xd0;" k="240" />
    <hkern u1="R" u2="&#xc2;" k="-23" />
    <hkern u1="R" u2="&#x2021;" k="-121" />
    <hkern u1="R" u2="&#x203a;" k="-93" />
    <hkern u1="R" u2="&#x2019;" k="-65" />
    <hkern u1="R" u2="&#x2014;" k="-83" />
    <hkern u1="R" u2="&#x2013;" k="-146" />
    <hkern u1="R" u2="&#x153;" k="-114" />
    <hkern u1="R" u2="&#xc0;" k="296" />
    <hkern u1="R" u2="&#xa2;" k="-118" />
    <hkern u1="R" u2="&#xd1;" k="211" />
    <hkern u1="R" u2="&#xc9;" k="-45" />
    <hkern u1="R" u2="z" k="-121" />
    <hkern u1="R" u2="y" k="-65" />
    <hkern u1="R" u2="x" k="-130" />
    <hkern u1="R" u2="w" k="-90" />
    <hkern u1="R" u2="u" k="-124" />
    <hkern u1="R" u2="t" k="89" />
    <hkern u1="R" u2="s" k="-96" />
    <hkern u1="R" u2="r" k="-124" />
    <hkern u1="R" u2="q" k="-123" />
    <hkern u1="R" u2="p" k="-118" />
    <hkern u1="R" u2="o" k="-90" />
    <hkern u1="R" u2="n" k="-147" />
    <hkern u1="R" u2="m" k="-180" />
    <hkern u1="R" u2="l" k="-101" />
    <hkern u1="R" u2="k" k="-116" />
    <hkern u1="R" u2="j" k="49" />
    <hkern u1="R" u2="i" k="-72" />
    <hkern u1="R" u2="h" k="-137" />
    <hkern u1="R" u2="g" k="-68" />
    <hkern u1="R" u2="e" k="-111" />
    <hkern u1="R" u2="d" k="-108" />
    <hkern u1="R" u2="c" k="-95" />
    <hkern u1="R" u2="b" k="-65" />
    <hkern u1="R" u2="a" k="-132" />
    <hkern u1="R" u2="`" k="-72" />
    <hkern u1="R" u2="Z" k="-146" />
    <hkern u1="R" u2="Y" k="-157" />
    <hkern u1="R" u2="X" k="-181" />
    <hkern u1="R" u2="W" k="-98" />
    <hkern u1="R" u2="V" k="-127" />
    <hkern u1="R" u2="U" k="-150" />
    <hkern u1="R" u2="T" k="-162" />
    <hkern u1="R" u2="S" k="-59" />
    <hkern u1="R" u2="R" k="-188" />
    <hkern u1="R" u2="Q" k="-98" />
    <hkern u1="R" u2="P" k="-185" />
    <hkern u1="R" u2="O" k="-105" />
    <hkern u1="R" u2="N" k="-139" />
    <hkern u1="R" u2="M" k="-143" />
    <hkern u1="R" u2="L" k="-156" />
    <hkern u1="R" u2="K" k="-168" />
    <hkern u1="R" u2="J" k="-53" />
    <hkern u1="R" u2="I" k="-150" />
    <hkern u1="R" u2="H" k="-147" />
    <hkern u1="R" u2="G" k="-102" />
    <hkern u1="R" u2="F" k="-163" />
    <hkern u1="R" u2="E" k="-164" />
    <hkern u1="R" u2="D" k="-177" />
    <hkern u1="R" u2="C" k="-123" />
    <hkern u1="R" u2="B" k="-164" />
    <hkern u1="R" u2="A" k="-126" />
    <hkern u1="R" u2="&#x40;" k="96" />
    <hkern u1="R" u2="&#x3f;" k="-90" />
    <hkern u1="R" u2="&#x3b;" k="71" />
    <hkern u1="R" u2="&#x3a;" k="39" />
    <hkern u1="R" u2="&#x39;" k="-68" />
    <hkern u1="R" u2="&#x38;" k="-105" />
    <hkern u1="R" u2="&#x37;" k="-112" />
    <hkern u1="R" u2="&#x36;" k="-100" />
    <hkern u1="R" u2="&#x35;" k="-154" />
    <hkern u1="R" u2="&#x34;" k="34" />
    <hkern u1="R" u2="&#x33;" k="-139" />
    <hkern u1="R" u2="&#x32;" k="-177" />
    <hkern u1="R" u2="&#x31;" k="-84" />
    <hkern u1="R" u2="&#x30;" k="-81" />
    <hkern u1="R" u2="&#x2f;" k="-109" />
    <hkern u1="R" u2="&#x2e;" k="32" />
    <hkern u1="R" u2="&#x2d;" k="270" />
    <hkern u1="R" u2="&#x28;" k="-61" />
    <hkern u1="R" u2="&#x26;" k="33" />
    <hkern u1="R" u2="&#x25;" k="-128" />
    <hkern u1="R" u2="&#x24;" k="-145" />
    <hkern u1="R" g2=".notdef" k="-106" />
    <hkern u1="S" u2="&#xd0;" k="70" />
    <hkern u1="S" u2="&#xc1;" k="94" />
    <hkern u1="S" u2="&#xc2;" k="41" />
    <hkern u1="S" u2="&#x2013;" k="-25" />
    <hkern u1="S" u2="&#xc0;" k="329" />
    <hkern u1="S" u2="&#xa2;" k="-31" />
    <hkern u1="S" u2="&#xd1;" k="63" />
    <hkern u1="S" u2="&#x7e;" k="639" />
    <hkern u1="S" u2="v" k="62" />
    <hkern u1="S" u2="u" k="-50" />
    <hkern u1="S" u2="t" k="97" />
    <hkern u1="S" u2="r" k="-26" />
    <hkern u1="S" u2="q" k="-39" />
    <hkern u1="S" u2="p" k="-26" />
    <hkern u1="S" u2="o" k="-31" />
    <hkern u1="S" u2="n" k="-58" />
    <hkern u1="S" u2="m" k="-111" />
    <hkern u1="S" u2="l" k="-44" />
    <hkern u1="S" u2="k" k="-60" />
    <hkern u1="S" u2="j" k="158" />
    <hkern u1="S" u2="h" k="-42" />
    <hkern u1="S" u2="f" k="-42" />
    <hkern u1="S" u2="e" k="-45" />
    <hkern u1="S" u2="d" k="31" />
    <hkern u1="S" u2="c" k="-43" />
    <hkern u1="S" u2="b" k="-68" />
    <hkern u1="S" u2="Y" k="-111" />
    <hkern u1="S" u2="X" k="-71" />
    <hkern u1="S" u2="W" k="25" />
    <hkern u1="S" u2="V" k="-29" />
    <hkern u1="S" u2="U" k="-85" />
    <hkern u1="S" u2="T" k="-108" />
    <hkern u1="S" u2="S" k="50" />
    <hkern u1="S" u2="R" k="-129" />
    <hkern u1="S" u2="Q" k="-72" />
    <hkern u1="S" u2="P" k="-125" />
    <hkern u1="S" u2="O" k="-75" />
    <hkern u1="S" u2="M" k="-24" />
    <hkern u1="S" u2="L" k="57" />
    <hkern u1="S" u2="K" k="-107" />
    <hkern u1="S" u2="I" k="-103" />
    <hkern u1="S" u2="H" k="30" />
    <hkern u1="S" u2="G" k="-73" />
    <hkern u1="S" u2="F" k="-87" />
    <hkern u1="S" u2="E" k="-68" />
    <hkern u1="S" u2="D" k="-38" />
    <hkern u1="S" u2="C" k="-73" />
    <hkern u1="S" u2="A" k="-29" />
    <hkern u1="S" u2="&#x40;" k="59" />
    <hkern u1="S" u2="&#x3f;" k="36" />
    <hkern u1="S" u2="&#x3b;" k="201" />
    <hkern u1="S" u2="&#x3a;" k="133" />
    <hkern u1="S" u2="&#x39;" k="23" />
    <hkern u1="S" u2="&#x38;" k="64" />
    <hkern u1="S" u2="&#x37;" k="-66" />
    <hkern u1="S" u2="&#x36;" k="-30" />
    <hkern u1="S" u2="&#x34;" k="-57" />
    <hkern u1="S" u2="&#x33;" k="-52" />
    <hkern u1="S" u2="&#x30;" k="-67" />
    <hkern u1="S" u2="&#x2f;" k="78" />
    <hkern u1="S" u2="&#x2e;" k="80" />
    <hkern u1="S" u2="&#x2d;" k="90" />
    <hkern u1="S" u2="&#x2c;" k="155" />
    <hkern u1="S" u2="&#x29;" k="90" />
    <hkern u1="S" u2="&#x26;" k="57" />
    <hkern u1="S" u2="&#x25;" k="60" />
    <hkern u1="S" u2="&#x24;" k="-65" />
    <hkern u1="S" u2="&#x23;" k="220" />
    <hkern u1="S" u2="&#x21;" k="64" />
    <hkern u1="S" g2=".notdef" k="-27" />
    <hkern u1="T" u2="&#xd0;" k="260" />
    <hkern u1="T" u2="&#xc1;" k="196" />
    <hkern u1="T" u2="&#xc2;" k="209" />
    <hkern u1="T" u2="&#x2021;" k="132" />
    <hkern u1="T" u2="&#x203a;" k="230" />
    <hkern u1="T" u2="&#x2019;" k="117" />
    <hkern u1="T" u2="&#x2014;" k="237" />
    <hkern u1="T" u2="&#x2013;" k="144" />
    <hkern u1="T" u2="&#x153;" k="195" />
    <hkern u1="T" u2="&#xc0;" k="428" />
    <hkern u1="T" u2="&#xa2;" k="-164" />
    <hkern u1="T" u2="&#xd1;" k="236" />
    <hkern u1="T" u2="&#xc9;" k="257" />
    <hkern u1="T" u2="&#x7e;" k="353" />
    <hkern u1="T" u2="z" k="177" />
    <hkern u1="T" u2="y" k="237" />
    <hkern u1="T" u2="x" k="109" />
    <hkern u1="T" u2="w" k="207" />
    <hkern u1="T" u2="v" k="229" />
    <hkern u1="T" u2="u" k="173" />
    <hkern u1="T" u2="t" k="282" />
    <hkern u1="T" u2="s" k="216" />
    <hkern u1="T" u2="r" k="162" />
    <hkern u1="T" u2="q" k="188" />
    <hkern u1="T" u2="p" k="96" />
    <hkern u1="T" u2="o" k="222" />
    <hkern u1="T" u2="n" k="130" />
    <hkern u1="T" u2="m" k="99" />
    <hkern u1="T" u2="l" k="-191" />
    <hkern u1="T" u2="k" k="-189" />
    <hkern u1="T" u2="j" k="261" />
    <hkern u1="T" u2="i" k="-115" />
    <hkern u1="T" u2="h" k="-147" />
    <hkern u1="T" u2="g" k="232" />
    <hkern u1="T" u2="e" k="203" />
    <hkern u1="T" u2="d" k="128" />
    <hkern u1="T" u2="c" k="215" />
    <hkern u1="T" u2="b" k="-135" />
    <hkern u1="T" u2="a" k="116" />
    <hkern u1="T" u2="`" k="-124" />
    <hkern u1="T" u2="Z" k="-100" />
    <hkern u1="T" u2="Y" k="-243" />
    <hkern u1="T" u2="X" k="-231" />
    <hkern u1="T" u2="W" k="-48" />
    <hkern u1="T" u2="V" k="-116" />
    <hkern u1="T" u2="U" k="-199" />
    <hkern u1="T" u2="T" k="-237" />
    <hkern u1="T" u2="S" k="-29" />
    <hkern u1="T" u2="R" k="-223" />
    <hkern u1="T" u2="Q" k="-135" />
    <hkern u1="T" u2="P" k="-235" />
    <hkern u1="T" u2="O" k="-135" />
    <hkern u1="T" u2="N" k="-79" />
    <hkern u1="T" u2="M" k="-104" />
    <hkern u1="T" u2="L" k="-95" />
    <hkern u1="T" u2="K" k="-248" />
    <hkern u1="T" u2="J" k="-174" />
    <hkern u1="T" u2="I" k="-259" />
    <hkern u1="T" u2="H" k="-129" />
    <hkern u1="T" u2="G" k="-54" />
    <hkern u1="T" u2="F" k="-124" />
    <hkern u1="T" u2="E" k="-105" />
    <hkern u1="T" u2="D" k="-69" />
    <hkern u1="T" u2="B" k="-63" />
    <hkern u1="T" u2="A" k="67" />
    <hkern u1="T" u2="&#x40;" k="310" />
    <hkern u1="T" u2="&#x3b;" k="207" />
    <hkern u1="T" u2="&#x3a;" k="338" />
    <hkern u1="T" u2="&#x39;" k="-46" />
    <hkern u1="T" u2="&#x37;" k="-220" />
    <hkern u1="T" u2="&#x36;" k="55" />
    <hkern u1="T" u2="&#x35;" k="-71" />
    <hkern u1="T" u2="&#x34;" k="-49" />
    <hkern u1="T" u2="&#x32;" k="25" />
    <hkern u1="T" u2="&#x31;" k="-100" />
    <hkern u1="T" u2="&#x30;" k="-97" />
    <hkern u1="T" u2="&#x2f;" k="85" />
    <hkern u1="T" u2="&#x2e;" k="330" />
    <hkern u1="T" u2="&#x2d;" k="284" />
    <hkern u1="T" u2="&#x2c;" k="176" />
    <hkern u1="T" u2="&#x29;" k="-68" />
    <hkern u1="T" u2="&#x28;" k="-31" />
    <hkern u1="T" u2="&#x26;" k="132" />
    <hkern u1="T" u2="&#x25;" k="67" />
    <hkern u1="T" u2="&#x24;" k="-193" />
    <hkern u1="T" u2="&#x23;" k="298" />
    <hkern u1="T" u2="&#x21;" k="-74" />
    <hkern u1="T" g2=".notdef" k="215" />
    <hkern u1="U" u2="&#xd0;" k="61" />
    <hkern u1="U" u2="&#xc2;" k="-30" />
    <hkern u1="U" u2="&#x2021;" k="-103" />
    <hkern u1="U" u2="&#x203a;" k="-100" />
    <hkern u1="U" u2="&#x2019;" k="-64" />
    <hkern u1="U" u2="&#x2014;" k="-86" />
    <hkern u1="U" u2="&#x2013;" k="-140" />
    <hkern u1="U" u2="&#x153;" k="-109" />
    <hkern u1="U" u2="&#xc0;" k="315" />
    <hkern u1="U" u2="&#xd1;" k="37" />
    <hkern u1="U" u2="&#xc9;" k="-85" />
    <hkern u1="U" u2="&#x7e;" k="160" />
    <hkern u1="U" u2="z" k="-134" />
    <hkern u1="U" u2="y" k="-82" />
    <hkern u1="U" u2="x" k="-118" />
    <hkern u1="U" u2="w" k="-99" />
    <hkern u1="U" u2="v" k="26" />
    <hkern u1="U" u2="u" k="-139" />
    <hkern u1="U" u2="t" k="79" />
    <hkern u1="U" u2="s" k="-104" />
    <hkern u1="U" u2="r" k="-125" />
    <hkern u1="U" u2="q" k="-133" />
    <hkern u1="U" u2="p" k="-112" />
    <hkern u1="U" u2="o" k="-109" />
    <hkern u1="U" u2="n" k="-155" />
    <hkern u1="U" u2="m" k="-191" />
    <hkern u1="U" u2="l" k="-78" />
    <hkern u1="U" u2="k" k="-109" />
    <hkern u1="U" u2="j" k="65" />
    <hkern u1="U" u2="i" k="-71" />
    <hkern u1="U" u2="h" k="-117" />
    <hkern u1="U" u2="g" k="-87" />
    <hkern u1="U" u2="e" k="-128" />
    <hkern u1="U" u2="d" k="-89" />
    <hkern u1="U" u2="c" k="-116" />
    <hkern u1="U" u2="b" k="-117" />
    <hkern u1="U" u2="a" k="-128" />
    <hkern u1="U" u2="`" k="118" />
    <hkern u1="U" u2="Z" k="-126" />
    <hkern u1="U" u2="X" k="-154" />
    <hkern u1="U" u2="V" k="26" />
    <hkern u1="U" u2="U" k="-70" />
    <hkern u1="U" u2="S" k="-43" />
    <hkern u1="U" u2="R" k="-31" />
    <hkern u1="U" u2="Q" k="-101" />
    <hkern u1="U" u2="P" k="-28" />
    <hkern u1="U" u2="O" k="-108" />
    <hkern u1="U" u2="L" k="-111" />
    <hkern u1="U" u2="K" k="-155" />
    <hkern u1="U" u2="J" k="78" />
    <hkern u1="U" u2="I" k="-69" />
    <hkern u1="U" u2="H" k="-37" />
    <hkern u1="U" u2="G" k="-104" />
    <hkern u1="U" u2="D" k="-27" />
    <hkern u1="U" u2="C" k="-122" />
    <hkern u1="U" u2="B" k="-125" />
    <hkern u1="U" u2="A" k="-93" />
    <hkern u1="U" u2="&#x40;" k="108" />
    <hkern u1="U" u2="&#x3f;" k="60" />
    <hkern u1="U" u2="&#x3b;" k="83" />
    <hkern u1="U" u2="&#x39;" k="69" />
    <hkern u1="U" u2="&#x38;" k="-42" />
    <hkern u1="U" u2="&#x37;" k="-43" />
    <hkern u1="U" u2="&#x36;" k="-91" />
    <hkern u1="U" u2="&#x35;" k="-130" />
    <hkern u1="U" u2="&#x34;" k="23" />
    <hkern u1="U" u2="&#x33;" k="-138" />
    <hkern u1="U" u2="&#x32;" k="-152" />
    <hkern u1="U" u2="&#x31;" k="-37" />
    <hkern u1="U" u2="&#x30;" k="-82" />
    <hkern u1="U" u2="&#x2f;" k="-78" />
    <hkern u1="U" u2="&#x2d;" k="84" />
    <hkern u1="U" u2="&#x2c;" k="44" />
    <hkern u1="U" u2="&#x29;" k="27" />
    <hkern u1="U" u2="&#x28;" k="-55" />
    <hkern u1="U" u2="&#x26;" k="21" />
    <hkern u1="U" u2="&#x25;" k="-96" />
    <hkern u1="U" u2="&#x23;" k="119" />
    <hkern u1="U" u2="&#x21;" k="50" />
    <hkern u1="U" g2=".notdef" k="-109" />
    <hkern u1="V" u2="&#xd0;" k="45" />
    <hkern u1="V" u2="&#xc1;" k="261" />
    <hkern u1="V" u2="&#xc2;" k="147" />
    <hkern u1="V" u2="&#x2021;" k="133" />
    <hkern u1="V" u2="&#x203a;" k="94" />
    <hkern u1="V" u2="&#x2019;" k="49" />
    <hkern u1="V" u2="&#x2014;" k="104" />
    <hkern u1="V" u2="&#x2013;" k="46" />
    <hkern u1="V" u2="&#x153;" k="85" />
    <hkern u1="V" u2="&#xc0;" k="465" />
    <hkern u1="V" u2="&#xa2;" k="-96" />
    <hkern u1="V" u2="&#xd1;" k="22" />
    <hkern u1="V" u2="&#xc9;" k="191" />
    <hkern u1="V" u2="&#x7e;" k="39" />
    <hkern u1="V" u2="z" k="64" />
    <hkern u1="V" u2="y" k="90" />
    <hkern u1="V" u2="x" k="-46" />
    <hkern u1="V" u2="w" k="63" />
    <hkern u1="V" u2="v" k="-26" />
    <hkern u1="V" u2="u" k="68" />
    <hkern u1="V" u2="t" k="69" />
    <hkern u1="V" u2="s" k="44" />
    <hkern u1="V" u2="r" k="-24" />
    <hkern u1="V" u2="q" k="90" />
    <hkern u1="V" u2="p" k="31" />
    <hkern u1="V" u2="o" k="92" />
    <hkern u1="V" u2="n" k="40" />
    <hkern u1="V" u2="m" k="-34" />
    <hkern u1="V" u2="l" k="-130" />
    <hkern u1="V" u2="k" k="-123" />
    <hkern u1="V" u2="j" k="84" />
    <hkern u1="V" u2="i" k="-49" />
    <hkern u1="V" u2="h" k="-82" />
    <hkern u1="V" u2="g" k="118" />
    <hkern u1="V" u2="f" k="42" />
    <hkern u1="V" u2="e" k="82" />
    <hkern u1="V" u2="d" k="149" />
    <hkern u1="V" u2="c" k="87" />
    <hkern u1="V" u2="b" k="-65" />
    <hkern u1="V" u2="a" k="118" />
    <hkern u1="V" u2="`" k="-62" />
    <hkern u1="V" u2="Z" k="-26" />
    <hkern u1="V" u2="Y" k="-163" />
    <hkern u1="V" u2="X" k="-173" />
    <hkern u1="V" u2="W" k="-91" />
    <hkern u1="V" u2="V" k="-92" />
    <hkern u1="V" u2="U" k="-132" />
    <hkern u1="V" u2="T" k="-160" />
    <hkern u1="V" u2="S" k="-38" />
    <hkern u1="V" u2="R" k="-171" />
    <hkern u1="V" u2="Q" k="-56" />
    <hkern u1="V" u2="P" k="-171" />
    <hkern u1="V" u2="O" k="-58" />
    <hkern u1="V" u2="N" k="-105" />
    <hkern u1="V" u2="M" k="-115" />
    <hkern u1="V" u2="L" k="-28" />
    <hkern u1="V" u2="K" k="-183" />
    <hkern u1="V" u2="J" k="-110" />
    <hkern u1="V" u2="I" k="-184" />
    <hkern u1="V" u2="H" k="-72" />
    <hkern u1="V" u2="F" k="-135" />
    <hkern u1="V" u2="E" k="-133" />
    <hkern u1="V" u2="D" k="-141" />
    <hkern u1="V" u2="B" k="-137" />
    <hkern u1="V" u2="A" k="71" />
    <hkern u1="V" u2="&#x40;" k="80" />
    <hkern u1="V" u2="&#x3f;" k="-52" />
    <hkern u1="V" u2="&#x3b;" k="301" />
    <hkern u1="V" u2="&#x3a;" k="225" />
    <hkern u1="V" u2="&#x38;" k="-79" />
    <hkern u1="V" u2="&#x37;" k="-164" />
    <hkern u1="V" u2="&#x36;" k="55" />
    <hkern u1="V" u2="&#x35;" k="-49" />
    <hkern u1="V" u2="&#x33;" k="39" />
    <hkern u1="V" u2="&#x32;" k="-111" />
    <hkern u1="V" u2="&#x31;" k="-53" />
    <hkern u1="V" u2="&#x30;" k="-42" />
    <hkern u1="V" u2="&#x2f;" k="159" />
    <hkern u1="V" u2="&#x2e;" k="264" />
    <hkern u1="V" u2="&#x2d;" k="70" />
    <hkern u1="V" u2="&#x2c;" k="273" />
    <hkern u1="V" u2="&#x28;" k="33" />
    <hkern u1="V" u2="&#x26;" k="146" />
    <hkern u1="V" u2="&#x25;" k="141" />
    <hkern u1="V" u2="&#x24;" k="-129" />
    <hkern u1="V" g2=".notdef" k="92" />
    <hkern u1="W" u2="&#xd0;" k="-75" />
    <hkern u1="W" u2="&#xc1;" k="149" />
    <hkern u1="W" u2="&#xc2;" k="45" />
    <hkern u1="W" u2="&#x2021;" k="25" />
    <hkern u1="W" u2="&#x203a;" k="-28" />
    <hkern u1="W" u2="&#x2019;" k="-39" />
    <hkern u1="W" u2="&#x2013;" k="-50" />
    <hkern u1="W" u2="&#x153;" k="-23" />
    <hkern u1="W" u2="&#xc0;" k="350" />
    <hkern u1="W" u2="&#xa2;" k="-137" />
    <hkern u1="W" u2="&#xd1;" k="-100" />
    <hkern u1="W" u2="&#xc9;" k="76" />
    <hkern u1="W" u2="z" k="-33" />
    <hkern u1="W" u2="x" k="-101" />
    <hkern u1="W" u2="w" k="-42" />
    <hkern u1="W" u2="v" k="-116" />
    <hkern u1="W" u2="u" k="-47" />
    <hkern u1="W" u2="t" k="-44" />
    <hkern u1="W" u2="s" k="-77" />
    <hkern u1="W" u2="r" k="-100" />
    <hkern u1="W" u2="q" k="-21" />
    <hkern u1="W" u2="p" k="-43" />
    <hkern u1="W" u2="o" k="-33" />
    <hkern u1="W" u2="n" k="-60" />
    <hkern u1="W" u2="m" k="-134" />
    <hkern u1="W" u2="l" k="-81" />
    <hkern u1="W" u2="k" k="-96" />
    <hkern u1="W" u2="j" k="60" />
    <hkern u1="W" u2="i" k="-47" />
    <hkern u1="W" u2="h" k="-66" />
    <hkern u1="W" u2="f" k="-70" />
    <hkern u1="W" u2="e" k="-42" />
    <hkern u1="W" u2="d" k="50" />
    <hkern u1="W" u2="c" k="-38" />
    <hkern u1="W" u2="b" k="-90" />
    <hkern u1="W" u2="Y" k="-102" />
    <hkern u1="W" u2="X" k="-32" />
    <hkern u1="W" u2="W" k="-129" />
    <hkern u1="W" u2="V" k="-118" />
    <hkern u1="W" u2="U" k="-115" />
    <hkern u1="W" u2="T" k="-118" />
    <hkern u1="W" u2="S" k="-108" />
    <hkern u1="W" u2="R" k="-150" />
    <hkern u1="W" u2="Q" k="-103" />
    <hkern u1="W" u2="P" k="-146" />
    <hkern u1="W" u2="O" k="-106" />
    <hkern u1="W" u2="N" k="-144" />
    <hkern u1="W" u2="M" k="-139" />
    <hkern u1="W" u2="L" k="46" />
    <hkern u1="W" u2="K" k="-156" />
    <hkern u1="W" u2="I" k="-91" />
    <hkern u1="W" u2="H" k="-44" />
    <hkern u1="W" u2="G" k="-89" />
    <hkern u1="W" u2="F" k="-130" />
    <hkern u1="W" u2="E" k="-144" />
    <hkern u1="W" u2="D" k="-168" />
    <hkern u1="W" u2="C" k="-92" />
    <hkern u1="W" u2="B" k="-184" />
    <hkern u1="W" u2="A" k="-40" />
    <hkern u1="W" u2="&#x40;" k="-25" />
    <hkern u1="W" u2="&#x3f;" k="-83" />
    <hkern u1="W" u2="&#x3b;" k="200" />
    <hkern u1="W" u2="&#x3a;" k="111" />
    <hkern u1="W" u2="&#x39;" k="-70" />
    <hkern u1="W" u2="&#x38;" k="-138" />
    <hkern u1="W" u2="&#x37;" k="-52" />
    <hkern u1="W" u2="&#x36;" k="-48" />
    <hkern u1="W" u2="&#x35;" k="-77" />
    <hkern u1="W" u2="&#x34;" k="-56" />
    <hkern u1="W" u2="&#x33;" k="-34" />
    <hkern u1="W" u2="&#x32;" k="-143" />
    <hkern u1="W" u2="&#x31;" k="-54" />
    <hkern u1="W" u2="&#x30;" k="-112" />
    <hkern u1="W" u2="&#x2f;" k="87" />
    <hkern u1="W" u2="&#x2e;" k="149" />
    <hkern u1="W" u2="&#x2d;" k="-52" />
    <hkern u1="W" u2="&#x2c;" k="217" />
    <hkern u1="W" u2="&#x29;" k="118" />
    <hkern u1="W" u2="&#x28;" k="-42" />
    <hkern u1="W" u2="&#x26;" k="53" />
    <hkern u1="W" u2="&#x25;" k="69" />
    <hkern u1="W" u2="&#x24;" k="-123" />
    <hkern u1="W" g2=".notdef" k="-26" />
    <hkern u1="X" u2="&#xd0;" k="304" />
    <hkern u1="X" u2="&#xc1;" k="108" />
    <hkern u1="X" u2="&#xc2;" k="37" />
    <hkern u1="X" u2="&#x2021;" k="-22" />
    <hkern u1="X" u2="&#x203a;" k="-45" />
    <hkern u1="X" u2="&#x2019;" k="-23" />
    <hkern u1="X" u2="&#x2014;" k="-35" />
    <hkern u1="X" u2="&#x2013;" k="-59" />
    <hkern u1="X" u2="&#x153;" k="-49" />
    <hkern u1="X" u2="&#xc0;" k="345" />
    <hkern u1="X" u2="&#xa2;" k="139" />
    <hkern u1="X" u2="&#xd1;" k="285" />
    <hkern u1="X" u2="&#xc9;" k="21" />
    <hkern u1="X" u2="&#x7e;" k="397" />
    <hkern u1="X" u2="z" k="-27" />
    <hkern u1="X" u2="y" k="-23" />
    <hkern u1="X" u2="x" k="-21" />
    <hkern u1="X" u2="w" k="-35" />
    <hkern u1="X" u2="v" k="81" />
    <hkern u1="X" u2="u" k="-70" />
    <hkern u1="X" u2="t" k="121" />
    <hkern u1="X" u2="r" k="-49" />
    <hkern u1="X" u2="q" k="-61" />
    <hkern u1="X" u2="p" k="-36" />
    <hkern u1="X" u2="o" k="-50" />
    <hkern u1="X" u2="n" k="-73" />
    <hkern u1="X" u2="m" k="-122" />
    <hkern u1="X" u2="l" k="-46" />
    <hkern u1="X" u2="k" k="-76" />
    <hkern u1="X" u2="j" k="140" />
    <hkern u1="X" u2="i" k="-31" />
    <hkern u1="X" u2="h" k="-63" />
    <hkern u1="X" u2="g" k="-26" />
    <hkern u1="X" u2="f" k="70" />
    <hkern u1="X" u2="e" k="-67" />
    <hkern u1="X" u2="c" k="-61" />
    <hkern u1="X" u2="b" k="-87" />
    <hkern u1="X" u2="a" k="-39" />
    <hkern u1="X" u2="`" k="200" />
    <hkern u1="X" u2="Z" k="-31" />
    <hkern u1="X" u2="Y" k="41" />
    <hkern u1="X" u2="X" k="-72" />
    <hkern u1="X" u2="W" k="243" />
    <hkern u1="X" u2="V" k="212" />
    <hkern u1="X" u2="T" k="97" />
    <hkern u1="X" u2="R" k="100" />
    <hkern u1="X" u2="Q" k="-84" />
    <hkern u1="X" u2="P" k="56" />
    <hkern u1="X" u2="O" k="-89" />
    <hkern u1="X" u2="N" k="147" />
    <hkern u1="X" u2="M" k="155" />
    <hkern u1="X" u2="L" k="67" />
    <hkern u1="X" u2="K" k="-121" />
    <hkern u1="X" u2="J" k="86" />
    <hkern u1="X" u2="I" k="39" />
    <hkern u1="X" u2="H" k="55" />
    <hkern u1="X" u2="G" k="-77" />
    <hkern u1="X" u2="F" k="27" />
    <hkern u1="X" u2="E" k="56" />
    <hkern u1="X" u2="D" k="54" />
    <hkern u1="X" u2="C" k="-92" />
    <hkern u1="X" u2="B" k="-26" />
    <hkern u1="X" u2="&#x40;" k="76" />
    <hkern u1="X" u2="&#x3f;" k="181" />
    <hkern u1="X" u2="&#x3b;" k="196" />
    <hkern u1="X" u2="&#x3a;" k="135" />
    <hkern u1="X" u2="&#x39;" k="276" />
    <hkern u1="X" u2="&#x38;" k="29" />
    <hkern u1="X" u2="&#x37;" k="38" />
    <hkern u1="X" u2="&#x36;" k="-49" />
    <hkern u1="X" u2="&#x34;" k="161" />
    <hkern u1="X" u2="&#x33;" k="-86" />
    <hkern u1="X" u2="&#x31;" k="62" />
    <hkern u1="X" u2="&#x30;" k="-69" />
    <hkern u1="X" u2="&#x2f;" k="43" />
    <hkern u1="X" u2="&#x2e;" k="95" />
    <hkern u1="X" u2="&#x2d;" k="324" />
    <hkern u1="X" u2="&#x2c;" k="189" />
    <hkern u1="X" u2="&#x29;" k="152" />
    <hkern u1="X" u2="&#x26;" k="36" />
    <hkern u1="X" u2="&#x25;" k="26" />
    <hkern u1="X" u2="&#x24;" k="124" />
    <hkern u1="X" u2="&#x23;" k="178" />
    <hkern u1="X" u2="&#x21;" k="103" />
    <hkern u1="X" g2=".notdef" k="-55" />
    <hkern u1="Y" u2="&#xd0;" k="-222" />
    <hkern u1="Y" u2="&#xc1;" k="-64" />
    <hkern u1="Y" u2="&#xc2;" k="-129" />
    <hkern u1="Y" u2="&#x2021;" k="-181" />
    <hkern u1="Y" u2="&#x203a;" k="-201" />
    <hkern u1="Y" u2="&#x2019;" k="-191" />
    <hkern u1="Y" u2="&#x2014;" k="-187" />
    <hkern u1="Y" u2="&#x2013;" k="-214" />
    <hkern u1="Y" u2="&#x153;" k="-197" />
    <hkern u1="Y" u2="&#xc0;" k="-82" />
    <hkern u1="Y" u2="&#xa2;" k="-262" />
    <hkern u1="Y" u2="&#xd1;" k="-246" />
    <hkern u1="Y" u2="&#xc9;" k="-145" />
    <hkern u1="Y" u2="&#x7e;" k="-118" />
    <hkern u1="Y" u2="z" k="-208" />
    <hkern u1="Y" u2="y" k="-279" />
    <hkern u1="Y" u2="x" k="-228" />
    <hkern u1="Y" u2="w" k="-196" />
    <hkern u1="Y" u2="v" k="-250" />
    <hkern u1="Y" u2="u" k="-225" />
    <hkern u1="Y" u2="t" k="-194" />
    <hkern u1="Y" u2="s" k="-233" />
    <hkern u1="Y" u2="r" k="-231" />
    <hkern u1="Y" u2="q" k="-202" />
    <hkern u1="Y" u2="p" k="-194" />
    <hkern u1="Y" u2="o" k="-209" />
    <hkern u1="Y" u2="n" k="-227" />
    <hkern u1="Y" u2="m" k="-285" />
    <hkern u1="Y" u2="l" k="-213" />
    <hkern u1="Y" u2="k" k="-241" />
    <hkern u1="Y" u2="j" k="-506" />
    <hkern u1="Y" u2="i" k="-198" />
    <hkern u1="Y" u2="h" k="-216" />
    <hkern u1="Y" u2="g" k="-185" />
    <hkern u1="Y" u2="f" k="-232" />
    <hkern u1="Y" u2="e" k="-225" />
    <hkern u1="Y" u2="d" k="-160" />
    <hkern u1="Y" u2="c" k="-220" />
    <hkern u1="Y" u2="b" k="-246" />
    <hkern u1="Y" u2="a" k="-207" />
    <hkern u1="Y" u2="`" k="-110" />
    <hkern u1="Y" u2="Z" k="-201" />
    <hkern u1="Y" u2="Y" k="-213" />
    <hkern u1="Y" u2="X" k="-233" />
    <hkern u1="Y" u2="W" k="-263" />
    <hkern u1="Y" u2="V" k="-240" />
    <hkern u1="Y" u2="U" k="-236" />
    <hkern u1="Y" u2="T" k="-241" />
    <hkern u1="Y" u2="S" k="-242" />
    <hkern u1="Y" u2="R" k="-272" />
    <hkern u1="Y" u2="Q" k="-253" />
    <hkern u1="Y" u2="P" k="-268" />
    <hkern u1="Y" u2="O" k="-256" />
    <hkern u1="Y" u2="N" k="-267" />
    <hkern u1="Y" u2="M" k="-262" />
    <hkern u1="Y" u2="L" k="-212" />
    <hkern u1="Y" u2="K" k="-290" />
    <hkern u1="Y" u2="J" k="-466" />
    <hkern u1="Y" u2="I" k="-224" />
    <hkern u1="Y" u2="H" k="-237" />
    <hkern u1="Y" u2="G" k="-239" />
    <hkern u1="Y" u2="F" k="-255" />
    <hkern u1="Y" u2="E" k="-264" />
    <hkern u1="Y" u2="D" k="-290" />
    <hkern u1="Y" u2="C" k="-251" />
    <hkern u1="Y" u2="B" k="-311" />
    <hkern u1="Y" u2="A" k="-214" />
    <hkern u1="Y" u2="&#x40;" k="-167" />
    <hkern u1="Y" u2="&#x3f;" k="-205" />
    <hkern u1="Y" u2="&#x3b;" k="-61" />
    <hkern u1="Y" u2="&#x3a;" k="-59" />
    <hkern u1="Y" u2="&#x39;" k="-212" />
    <hkern u1="Y" u2="&#x38;" k="-265" />
    <hkern u1="Y" u2="&#x37;" k="-191" />
    <hkern u1="Y" u2="&#x36;" k="-207" />
    <hkern u1="Y" u2="&#x35;" k="-233" />
    <hkern u1="Y" u2="&#x34;" k="-232" />
    <hkern u1="Y" u2="&#x33;" k="-244" />
    <hkern u1="Y" u2="&#x32;" k="-272" />
    <hkern u1="Y" u2="&#x31;" k="-189" />
    <hkern u1="Y" u2="&#x30;" k="-256" />
    <hkern u1="Y" u2="&#x2f;" k="-178" />
    <hkern u1="Y" u2="&#x2e;" k="-73" />
    <hkern u1="Y" u2="&#x2d;" k="-198" />
    <hkern u1="Y" u2="&#x2c;" k="-81" />
    <hkern u1="Y" u2="&#x29;" k="-97" />
    <hkern u1="Y" u2="&#x28;" k="-193" />
    <hkern u1="Y" u2="&#x26;" k="-123" />
    <hkern u1="Y" u2="&#x25;" k="-195" />
    <hkern u1="Y" u2="&#x24;" k="-240" />
    <hkern u1="Y" u2="&#x23;" k="-131" />
    <hkern u1="Y" u2="&#x21;" k="-124" />
    <hkern u1="Y" g2=".notdef" k="-206" />
    <hkern u1="Z" u2="&#xd0;" k="358" />
    <hkern u1="Z" u2="&#xc1;" k="-146" />
    <hkern u1="Z" u2="&#xc2;" k="-150" />
    <hkern u1="Z" u2="&#x2021;" k="-239" />
    <hkern u1="Z" u2="&#x203a;" k="-214" />
    <hkern u1="Z" u2="&#x2019;" k="-188" />
    <hkern u1="Z" u2="&#x2014;" k="-208" />
    <hkern u1="Z" u2="&#x2013;" k="-258" />
    <hkern u1="Z" u2="&#x153;" k="-234" />
    <hkern u1="Z" u2="&#xc0;" k="101" />
    <hkern u1="Z" u2="&#xa2;" k="-225" />
    <hkern u1="Z" u2="&#xd1;" k="332" />
    <hkern u1="Z" u2="&#xc9;" k="-258" />
    <hkern u1="Z" u2="&#x7e;" k="45" />
    <hkern u1="Z" u2="z" k="-240" />
    <hkern u1="Z" u2="y" k="-202" />
    <hkern u1="Z" u2="x" k="-248" />
    <hkern u1="Z" u2="w" k="-206" />
    <hkern u1="Z" u2="v" k="-54" />
    <hkern u1="Z" u2="u" k="-243" />
    <hkern u1="Z" u2="t" k="-32" />
    <hkern u1="Z" u2="s" k="-213" />
    <hkern u1="Z" u2="r" k="-237" />
    <hkern u1="Z" u2="q" k="-252" />
    <hkern u1="Z" u2="p" k="-239" />
    <hkern u1="Z" u2="o" k="-211" />
    <hkern u1="Z" u2="n" k="-263" />
    <hkern u1="Z" u2="m" k="-297" />
    <hkern u1="Z" u2="l" k="-248" />
    <hkern u1="Z" u2="k" k="-249" />
    <hkern u1="Z" u2="j" k="-73" />
    <hkern u1="Z" u2="i" k="-196" />
    <hkern u1="Z" u2="h" k="-262" />
    <hkern u1="Z" u2="g" k="-206" />
    <hkern u1="Z" u2="f" k="-124" />
    <hkern u1="Z" u2="e" k="-231" />
    <hkern u1="Z" u2="d" k="-229" />
    <hkern u1="Z" u2="c" k="-218" />
    <hkern u1="Z" u2="b" k="-256" />
    <hkern u1="Z" u2="a" k="-246" />
    <hkern u1="Z" u2="`" k="-236" />
    <hkern u1="Z" u2="Z" k="-270" />
    <hkern u1="Z" u2="Y" k="-316" />
    <hkern u1="Z" u2="X" k="-302" />
    <hkern u1="Z" u2="W" k="-176" />
    <hkern u1="Z" u2="V" k="-227" />
    <hkern u1="Z" u2="U" k="-289" />
    <hkern u1="Z" u2="T" k="-313" />
    <hkern u1="Z" u2="S" k="-180" />
    <hkern u1="Z" u2="R" k="-327" />
    <hkern u1="Z" u2="Q" k="-239" />
    <hkern u1="Z" u2="P" k="-328" />
    <hkern u1="Z" u2="O" k="-241" />
    <hkern u1="Z" u2="N" k="-207" />
    <hkern u1="Z" u2="M" k="-226" />
    <hkern u1="Z" u2="L" k="-290" />
    <hkern u1="Z" u2="K" k="-311" />
    <hkern u1="Z" u2="J" k="-214" />
    <hkern u1="Z" u2="I" k="-310" />
    <hkern u1="Z" u2="H" k="-315" />
    <hkern u1="Z" u2="G" k="-240" />
    <hkern u1="Z" u2="F" k="-285" />
    <hkern u1="Z" u2="E" k="-266" />
    <hkern u1="Z" u2="D" k="-234" />
    <hkern u1="Z" u2="C" k="-258" />
    <hkern u1="Z" u2="B" k="-270" />
    <hkern u1="Z" u2="A" k="-262" />
    <hkern u1="Z" u2="&#x3f;" k="-160" />
    <hkern u1="Z" u2="&#x3b;" k="-111" />
    <hkern u1="Z" u2="&#x3a;" k="-86" />
    <hkern u1="Z" u2="&#x39;" k="-236" />
    <hkern u1="Z" u2="&#x38;" k="-178" />
    <hkern u1="Z" u2="&#x37;" k="-274" />
    <hkern u1="Z" u2="&#x36;" k="-228" />
    <hkern u1="Z" u2="&#x35;" k="-277" />
    <hkern u1="Z" u2="&#x34;" k="-114" />
    <hkern u1="Z" u2="&#x33;" k="-273" />
    <hkern u1="Z" u2="&#x32;" k="-299" />
    <hkern u1="Z" u2="&#x31;" k="-257" />
    <hkern u1="Z" u2="&#x30;" k="-218" />
    <hkern u1="Z" u2="&#x2f;" k="-245" />
    <hkern u1="Z" u2="&#x2e;" k="-186" />
    <hkern u1="Z" u2="&#x2d;" k="388" />
    <hkern u1="Z" u2="&#x2c;" k="-223" />
    <hkern u1="Z" u2="&#x29;" k="-167" />
    <hkern u1="Z" u2="&#x28;" k="-192" />
    <hkern u1="Z" u2="&#x26;" k="-113" />
    <hkern u1="Z" u2="&#x25;" k="-263" />
    <hkern u1="Z" u2="&#x24;" k="-258" />
    <hkern u1="Z" u2="&#x21;" k="-139" />
    <hkern u1="Z" g2=".notdef" k="-230" />
    <hkern u1="`" u2="&#xd0;" k="502" />
    <hkern u1="`" u2="&#xc1;" k="473" />
    <hkern u1="`" u2="&#xc2;" k="396" />
    <hkern u1="`" u2="&#x2021;" k="550" />
    <hkern u1="`" u2="&#x203a;" k="208" />
    <hkern u1="`" u2="&#x2019;" k="173" />
    <hkern u1="`" u2="&#x2014;" k="363" />
    <hkern u1="`" u2="&#x2013;" k="162" />
    <hkern u1="`" u2="&#x153;" k="529" />
    <hkern u1="`" u2="&#xc0;" k="379" />
    <hkern u1="`" u2="&#xd1;" k="457" />
    <hkern u1="`" u2="&#xc9;" k="552" />
    <hkern u1="`" u2="&#x7e;" k="162" />
    <hkern u1="`" u2="z" k="452" />
    <hkern u1="`" u2="y" k="285" />
    <hkern u1="`" u2="x" k="523" />
    <hkern u1="`" u2="w" k="488" />
    <hkern u1="`" u2="v" k="443" />
    <hkern u1="`" u2="u" k="473" />
    <hkern u1="`" u2="t" k="228" />
    <hkern u1="`" u2="s" k="461" />
    <hkern u1="`" u2="r" k="493" />
    <hkern u1="`" u2="q" k="438" />
    <hkern u1="`" u2="p" k="496" />
    <hkern u1="`" u2="o" k="491" />
    <hkern u1="`" u2="n" k="458" />
    <hkern u1="`" u2="m" k="431" />
    <hkern u1="`" u2="l" k="58" />
    <hkern u1="`" u2="k" k="52" />
    <hkern u1="`" u2="j" k="77" />
    <hkern u1="`" u2="i" k="239" />
    <hkern u1="`" u2="h" k="94" />
    <hkern u1="`" u2="g" k="443" />
    <hkern u1="`" u2="f" k="208" />
    <hkern u1="`" u2="e" k="467" />
    <hkern u1="`" u2="d" k="567" />
    <hkern u1="`" u2="c" k="477" />
    <hkern u1="`" u2="b" k="90" />
    <hkern u1="`" u2="a" k="457" />
    <hkern u1="`" u2="`" k="277" />
    <hkern u1="`" u2="Z" k="474" />
    <hkern u1="`" u2="Y" k="110" />
    <hkern u1="`" u2="X" k="187" />
    <hkern u1="`" u2="W" k="20" />
    <hkern u1="`" u2="V" k="-56" />
    <hkern u1="`" u2="U" k="82" />
    <hkern u1="`" u2="T" k="84" />
    <hkern u1="`" u2="S" k="77" />
    <hkern u1="`" u2="R" k="20" />
    <hkern u1="`" u2="Q" k="85" />
    <hkern u1="`" u2="P" k="29" />
    <hkern u1="`" u2="O" k="86" />
    <hkern u1="`" u2="N" k="-26" />
    <hkern u1="`" u2="M" k="-63" />
    <hkern u1="`" u2="L" k="183" />
    <hkern u1="`" u2="J" k="180" />
    <hkern u1="`" u2="I" k="231" />
    <hkern u1="`" u2="H" k="188" />
    <hkern u1="`" u2="G" k="125" />
    <hkern u1="`" u2="E" k="-37" />
    <hkern u1="`" u2="D" k="-50" />
    <hkern u1="`" u2="C" k="179" />
    <hkern u1="`" u2="A" k="491" />
    <hkern u1="`" u2="&#x40;" k="285" />
    <hkern u1="`" u2="&#x3b;" k="543" />
    <hkern u1="`" u2="&#x3a;" k="455" />
    <hkern u1="`" u2="&#x39;" k="108" />
    <hkern u1="`" u2="&#x38;" k="58" />
    <hkern u1="`" u2="&#x37;" k="302" />
    <hkern u1="`" u2="&#x36;" k="218" />
    <hkern u1="`" u2="&#x35;" k="113" />
    <hkern u1="`" u2="&#x34;" k="169" />
    <hkern u1="`" u2="&#x33;" k="163" />
    <hkern u1="`" u2="&#x32;" k="-30" />
    <hkern u1="`" u2="&#x31;" k="92" />
    <hkern u1="`" u2="&#x30;" k="75" />
    <hkern u1="`" u2="&#x2f;" k="538" />
    <hkern u1="`" u2="&#x2e;" k="396" />
    <hkern u1="`" u2="&#x2d;" k="525" />
    <hkern u1="`" u2="&#x2c;" k="464" />
    <hkern u1="`" u2="&#x29;" k="368" />
    <hkern u1="`" u2="&#x28;" k="156" />
    <hkern u1="`" u2="&#x26;" k="271" />
    <hkern u1="`" u2="&#x25;" k="470" />
    <hkern u1="`" u2="&#x23;" k="116" />
    <hkern u1="`" u2="&#x21;" k="153" />
    <hkern u1="`" g2=".notdef" k="527" />
    <hkern u1="a" u2="&#xd0;" k="-66" />
    <hkern u1="a" u2="&#xc1;" k="-26" />
    <hkern u1="a" u2="&#xc2;" k="-85" />
    <hkern u1="a" u2="&#x2021;" k="-170" />
    <hkern u1="a" u2="&#x203a;" k="-164" />
    <hkern u1="a" u2="&#x2019;" k="-134" />
    <hkern u1="a" u2="&#x2014;" k="-164" />
    <hkern u1="a" u2="&#x2013;" k="-183" />
    <hkern u1="a" u2="&#x153;" k="-179" />
    <hkern u1="a" u2="&#xc0;" k="230" />
    <hkern u1="a" u2="&#xa2;" k="-139" />
    <hkern u1="a" u2="&#xd1;" k="-91" />
    <hkern u1="a" u2="&#xc9;" k="-141" />
    <hkern u1="a" u2="z" k="-168" />
    <hkern u1="a" u2="y" k="-154" />
    <hkern u1="a" u2="x" k="-163" />
    <hkern u1="a" u2="w" k="-158" />
    <hkern u1="a" u2="v" k="-114" />
    <hkern u1="a" u2="u" k="-189" />
    <hkern u1="a" u2="t" k="-39" />
    <hkern u1="a" u2="s" k="-150" />
    <hkern u1="a" u2="r" k="-170" />
    <hkern u1="a" u2="q" k="-195" />
    <hkern u1="a" u2="p" k="-163" />
    <hkern u1="a" u2="o" k="-168" />
    <hkern u1="a" u2="n" k="-193" />
    <hkern u1="a" u2="m" k="-239" />
    <hkern u1="a" u2="l" k="-143" />
    <hkern u1="a" u2="k" k="-180" />
    <hkern u1="a" u2="i" k="-140" />
    <hkern u1="a" u2="h" k="-175" />
    <hkern u1="a" u2="g" k="-159" />
    <hkern u1="a" u2="f" k="-65" />
    <hkern u1="a" u2="e" k="-186" />
    <hkern u1="a" u2="d" k="-156" />
    <hkern u1="a" u2="c" k="-178" />
    <hkern u1="a" u2="b" k="-197" />
    <hkern u1="a" u2="a" k="-170" />
    <hkern u1="a" u2="`" k="384" />
    <hkern u1="a" u2="&#x40;" k="-26" />
    <hkern u1="a" u2="&#x3f;" k="178" />
    <hkern u1="a" u2="&#x3b;" k="59" />
    <hkern u1="a" u2="&#x39;" k="-67" />
    <hkern u1="a" u2="&#x38;" k="-134" />
    <hkern u1="a" u2="&#x37;" k="-90" />
    <hkern u1="a" u2="&#x36;" k="-169" />
    <hkern u1="a" u2="&#x35;" k="-145" />
    <hkern u1="a" u2="&#x34;" k="-57" />
    <hkern u1="a" u2="&#x33;" k="-201" />
    <hkern u1="a" u2="&#x32;" k="-157" />
    <hkern u1="a" u2="&#x31;" k="-49" />
    <hkern u1="a" u2="&#x30;" k="-167" />
    <hkern u1="a" u2="&#x2f;" k="-114" />
    <hkern u1="a" u2="&#x2e;" k="-68" />
    <hkern u1="a" u2="&#x2d;" k="-42" />
    <hkern u1="a" u2="&#x2c;" k="45" />
    <hkern u1="a" u2="&#x29;" k="22" />
    <hkern u1="a" u2="&#x28;" k="-131" />
    <hkern u1="a" u2="&#x26;" k="-68" />
    <hkern u1="a" u2="&#x25;" k="-116" />
    <hkern u1="a" u2="&#x24;" k="-69" />
    <hkern u1="a" g2=".notdef" k="-186" />
    <hkern u1="b" u2="&#xd0;" k="-118" />
    <hkern u1="b" u2="&#xc1;" k="114" />
    <hkern u1="b" u2="&#xc2;" k="33" />
    <hkern u1="b" u2="&#x2021;" k="86" />
    <hkern u1="b" u2="&#x2019;" k="-20" />
    <hkern u1="b" u2="&#x2013;" k="-33" />
    <hkern u1="b" u2="&#xc0;" k="317" />
    <hkern u1="b" u2="&#xa2;" k="-62" />
    <hkern u1="b" u2="&#xd1;" k="-141" />
    <hkern u1="b" u2="&#xc9;" k="138" />
    <hkern u1="b" u2="&#x7e;" k="649" />
    <hkern u1="b" u2="x" k="55" />
    <hkern u1="b" u2="w" k="-37" />
    <hkern u1="b" u2="v" k="-65" />
    <hkern u1="b" u2="u" k="-56" />
    <hkern u1="b" u2="t" k="-32" />
    <hkern u1="b" u2="s" k="-78" />
    <hkern u1="b" u2="r" k="-66" />
    <hkern u1="b" u2="p" k="-48" />
    <hkern u1="b" u2="o" k="-35" />
    <hkern u1="b" u2="n" k="-70" />
    <hkern u1="b" u2="m" k="-143" />
    <hkern u1="b" u2="l" k="-41" />
    <hkern u1="b" u2="k" k="-69" />
    <hkern u1="b" u2="j" k="104" />
    <hkern u1="b" u2="i" k="-28" />
    <hkern u1="b" u2="h" k="-40" />
    <hkern u1="b" u2="f" k="-47" />
    <hkern u1="b" u2="e" k="-29" />
    <hkern u1="b" u2="d" k="103" />
    <hkern u1="b" u2="c" k="-33" />
    <hkern u1="b" u2="b" k="-68" />
    <hkern u1="b" u2="a" k="43" />
    <hkern u1="b" u2="`" k="564" />
    <hkern u1="b" u2="&#x3f;" k="180" />
    <hkern u1="b" u2="&#x3b;" k="180" />
    <hkern u1="b" u2="&#x3a;" k="90" />
    <hkern u1="b" u2="&#x39;" k="-37" />
    <hkern u1="b" u2="&#x37;" k="127" />
    <hkern u1="b" u2="&#x36;" k="-27" />
    <hkern u1="b" u2="&#x35;" k="-61" />
    <hkern u1="b" u2="&#x34;" k="-27" />
    <hkern u1="b" u2="&#x33;" k="63" />
    <hkern u1="b" u2="&#x32;" k="126" />
    <hkern u1="b" u2="&#x31;" k="66" />
    <hkern u1="b" u2="&#x30;" k="-85" />
    <hkern u1="b" u2="&#x2f;" k="172" />
    <hkern u1="b" u2="&#x2e;" k="212" />
    <hkern u1="b" u2="&#x2d;" k="-94" />
    <hkern u1="b" u2="&#x2c;" k="274" />
    <hkern u1="b" u2="&#x29;" k="252" />
    <hkern u1="b" u2="&#x28;" k="-21" />
    <hkern u1="b" u2="&#x26;" k="89" />
    <hkern u1="b" u2="&#x25;" k="154" />
    <hkern u1="b" u2="&#x24;" k="-40" />
    <hkern u1="b" u2="&#x23;" k="35" />
    <hkern u1="b" u2="&#x21;" k="48" />
    <hkern u1="c" u2="&#xd0;" k="338" />
    <hkern u1="c" u2="&#xc1;" k="176" />
    <hkern u1="c" u2="&#xc2;" k="60" />
    <hkern u1="c" u2="&#x203a;" k="-22" />
    <hkern u1="c" u2="&#x2014;" k="-22" />
    <hkern u1="c" u2="&#x2013;" k="-26" />
    <hkern u1="c" u2="&#x153;" k="-31" />
    <hkern u1="c" u2="&#xc0;" k="411" />
    <hkern u1="c" u2="&#xa2;" k="-68" />
    <hkern u1="c" u2="&#xd1;" k="314" />
    <hkern u1="c" u2="&#xc9;" k="82" />
    <hkern u1="c" u2="&#x7e;" k="70" />
    <hkern u1="c" u2="z" k="62" />
    <hkern u1="c" u2="x" k="-27" />
    <hkern u1="c" u2="v" k="-58" />
    <hkern u1="c" u2="u" k="-35" />
    <hkern u1="c" u2="t" k="142" />
    <hkern u1="c" u2="s" k="67" />
    <hkern u1="c" u2="r" k="-43" />
    <hkern u1="c" u2="q" k="-38" />
    <hkern u1="c" u2="o" k="-22" />
    <hkern u1="c" u2="n" k="-31" />
    <hkern u1="c" u2="m" k="-93" />
    <hkern u1="c" u2="l" k="-23" />
    <hkern u1="c" u2="k" k="-55" />
    <hkern u1="c" u2="j" k="232" />
    <hkern u1="c" u2="h" k="-35" />
    <hkern u1="c" u2="f" k="95" />
    <hkern u1="c" u2="e" k="-41" />
    <hkern u1="c" u2="d" k="20" />
    <hkern u1="c" u2="c" k="-33" />
    <hkern u1="c" u2="b" k="-64" />
    <hkern u1="c" u2="`" k="500" />
    <hkern u1="c" u2="&#x40;" k="51" />
    <hkern u1="c" u2="&#x3f;" k="192" />
    <hkern u1="c" u2="&#x3b;" k="285" />
    <hkern u1="c" u2="&#x3a;" k="231" />
    <hkern u1="c" u2="&#x38;" k="-82" />
    <hkern u1="c" u2="&#x37;" k="80" />
    <hkern u1="c" u2="&#x36;" k="-36" />
    <hkern u1="c" u2="&#x35;" k="49" />
    <hkern u1="c" u2="&#x34;" k="-49" />
    <hkern u1="c" u2="&#x32;" k="83" />
    <hkern u1="c" u2="&#x31;" k="88" />
    <hkern u1="c" u2="&#x30;" k="-64" />
    <hkern u1="c" u2="&#x2f;" k="89" />
    <hkern u1="c" u2="&#x2e;" k="156" />
    <hkern u1="c" u2="&#x2d;" k="368" />
    <hkern u1="c" u2="&#x2c;" k="213" />
    <hkern u1="c" u2="&#x29;" k="215" />
    <hkern u1="c" u2="&#x26;" k="56" />
    <hkern u1="c" u2="&#x25;" k="88" />
    <hkern u1="c" u2="&#x24;" k="143" />
    <hkern u1="c" u2="&#x23;" k="223" />
    <hkern u1="c" u2="&#x21;" k="70" />
    <hkern u1="c" g2=".notdef" k="-41" />
    <hkern u1="d" u2="&#xd0;" k="20" />
    <hkern u1="d" u2="&#x2021;" k="-83" />
    <hkern u1="d" u2="&#x203a;" k="-68" />
    <hkern u1="d" u2="&#x2019;" k="-33" />
    <hkern u1="d" u2="&#x2014;" k="-55" />
    <hkern u1="d" u2="&#x2013;" k="-119" />
    <hkern u1="d" u2="&#x153;" k="-85" />
    <hkern u1="d" u2="&#xc0;" k="333" />
    <hkern u1="d" u2="&#xa2;" k="-60" />
    <hkern u1="d" u2="&#x7e;" k="76" />
    <hkern u1="d" u2="z" k="-109" />
    <hkern u1="d" u2="y" k="-46" />
    <hkern u1="d" u2="x" k="-99" />
    <hkern u1="d" u2="w" k="-71" />
    <hkern u1="d" u2="v" k="-31" />
    <hkern u1="d" u2="u" k="-111" />
    <hkern u1="d" u2="t" k="41" />
    <hkern u1="d" u2="s" k="-79" />
    <hkern u1="d" u2="r" k="-102" />
    <hkern u1="d" u2="q" k="-103" />
    <hkern u1="d" u2="p" k="-93" />
    <hkern u1="d" u2="o" k="-74" />
    <hkern u1="d" u2="n" k="-131" />
    <hkern u1="d" u2="m" k="-165" />
    <hkern u1="d" u2="l" k="-50" />
    <hkern u1="d" u2="k" k="-87" />
    <hkern u1="d" u2="j" k="80" />
    <hkern u1="d" u2="i" k="-41" />
    <hkern u1="d" u2="h" k="-101" />
    <hkern u1="d" u2="g" k="-49" />
    <hkern u1="d" u2="e" k="-94" />
    <hkern u1="d" u2="d" k="-68" />
    <hkern u1="d" u2="c" k="-79" />
    <hkern u1="d" u2="b" k="-28" />
    <hkern u1="d" u2="a" k="-104" />
    <hkern u1="d" u2="&#x40;" k="66" />
    <hkern u1="d" u2="&#x3f;" k="-20" />
    <hkern u1="d" u2="&#x3b;" k="99" />
    <hkern u1="d" u2="&#x3a;" k="42" />
    <hkern u1="d" u2="&#x38;" k="-59" />
    <hkern u1="d" u2="&#x37;" k="-81" />
    <hkern u1="d" u2="&#x36;" k="-69" />
    <hkern u1="d" u2="&#x35;" k="-116" />
    <hkern u1="d" u2="&#x33;" k="-106" />
    <hkern u1="d" u2="&#x32;" k="-140" />
    <hkern u1="d" u2="&#x31;" k="-23" />
    <hkern u1="d" u2="&#x30;" k="-50" />
    <hkern u1="d" u2="&#x2f;" k="-66" />
    <hkern u1="d" u2="&#x2e;" k="58" />
    <hkern u1="d" u2="&#x2d;" k="44" />
    <hkern u1="d" u2="&#x2c;" k="61" />
    <hkern u1="d" u2="&#x29;" k="38" />
    <hkern u1="d" u2="&#x28;" k="-30" />
    <hkern u1="d" u2="&#x26;" k="65" />
    <hkern u1="d" u2="&#x25;" k="-84" />
    <hkern u1="d" u2="&#x24;" k="-75" />
    <hkern u1="d" u2="&#x23;" k="40" />
    <hkern u1="d" u2="&#x21;" k="63" />
    <hkern u1="d" g2=".notdef" k="-78" />
    <hkern u1="e" u2="&#xc1;" k="86" />
    <hkern u1="e" u2="&#xc2;" k="-34" />
    <hkern u1="e" u2="&#x2021;" k="-57" />
    <hkern u1="e" u2="&#x203a;" k="-106" />
    <hkern u1="e" u2="&#x2019;" k="-104" />
    <hkern u1="e" u2="&#x2014;" k="-105" />
    <hkern u1="e" u2="&#x2013;" k="-113" />
    <hkern u1="e" u2="&#x153;" k="-113" />
    <hkern u1="e" u2="&#xc0;" k="275" />
    <hkern u1="e" u2="&#xa2;" k="-95" />
    <hkern u1="e" u2="&#xc9;" k="27" />
    <hkern u1="e" u2="&#x7e;" k="64" />
    <hkern u1="e" u2="z" k="-21" />
    <hkern u1="e" u2="y" k="-105" />
    <hkern u1="e" u2="x" k="-47" />
    <hkern u1="e" u2="w" k="-107" />
    <hkern u1="e" u2="v" k="-71" />
    <hkern u1="e" u2="u" k="-123" />
    <hkern u1="e" u2="t" k="31" />
    <hkern u1="e" u2="s" k="-133" />
    <hkern u1="e" u2="r" k="-117" />
    <hkern u1="e" u2="q" k="-103" />
    <hkern u1="e" u2="p" k="-111" />
    <hkern u1="e" u2="o" k="-110" />
    <hkern u1="e" u2="n" k="-124" />
    <hkern u1="e" u2="m" k="-192" />
    <hkern u1="e" u2="l" k="-117" />
    <hkern u1="e" u2="k" k="-154" />
    <hkern u1="e" u2="j" k="164" />
    <hkern u1="e" u2="i" k="-110" />
    <hkern u1="e" u2="h" k="-128" />
    <hkern u1="e" u2="g" k="-86" />
    <hkern u1="e" u2="f" k="-145" />
    <hkern u1="e" u2="e" k="-116" />
    <hkern u1="e" u2="d" k="-43" />
    <hkern u1="e" u2="c" k="-114" />
    <hkern u1="e" u2="b" k="-161" />
    <hkern u1="e" u2="a" k="-57" />
    <hkern u1="e" u2="`" k="433" />
    <hkern u1="e" u2="&#x40;" k="-68" />
    <hkern u1="e" u2="&#x3f;" k="96" />
    <hkern u1="e" u2="&#x3b;" k="198" />
    <hkern u1="e" u2="&#x3a;" k="311" />
    <hkern u1="e" u2="&#x39;" k="-86" />
    <hkern u1="e" u2="&#x38;" k="-95" />
    <hkern u1="e" u2="&#x36;" k="-131" />
    <hkern u1="e" u2="&#x34;" k="-138" />
    <hkern u1="e" u2="&#x33;" k="-69" />
    <hkern u1="e" u2="&#x32;" k="-50" />
    <hkern u1="e" u2="&#x30;" k="-168" />
    <hkern u1="e" u2="&#x2f;" k="24" />
    <hkern u1="e" u2="&#x2e;" k="101" />
    <hkern u1="e" u2="&#x2d;" k="47" />
    <hkern u1="e" u2="&#x2c;" k="164" />
    <hkern u1="e" u2="&#x29;" k="148" />
    <hkern u1="e" u2="&#x28;" k="-108" />
    <hkern u1="e" u2="&#x26;" k="-26" />
    <hkern u1="e" u2="&#x25;" k="22" />
    <hkern u1="e" u2="&#x24;" k="-24" />
    <hkern u1="e" u2="&#x23;" k="59" />
    <hkern u1="e" u2="&#x21;" k="-20" />
    <hkern u1="e" g2=".notdef" k="-116" />
    <hkern u1="f" u2="&#xd0;" k="-119" />
    <hkern u1="f" u2="&#xc1;" k="111" />
    <hkern u1="f" u2="&#x2021;" k="59" />
    <hkern u1="f" u2="&#x203a;" k="-46" />
    <hkern u1="f" u2="&#x2019;" k="-62" />
    <hkern u1="f" u2="&#x2014;" k="-38" />
    <hkern u1="f" u2="&#x2013;" k="-61" />
    <hkern u1="f" u2="&#x153;" k="-49" />
    <hkern u1="f" u2="&#xc0;" k="460" />
    <hkern u1="f" u2="&#xa2;" k="-199" />
    <hkern u1="f" u2="&#xd1;" k="-135" />
    <hkern u1="f" u2="&#xc9;" k="149" />
    <hkern u1="f" u2="&#x7e;" k="183" />
    <hkern u1="f" u2="z" k="75" />
    <hkern u1="f" u2="y" k="-47" />
    <hkern u1="f" u2="x" k="71" />
    <hkern u1="f" u2="w" k="-59" />
    <hkern u1="f" u2="v" k="-47" />
    <hkern u1="f" u2="u" k="-70" />
    <hkern u1="f" u2="t" k="-59" />
    <hkern u1="f" u2="s" k="-98" />
    <hkern u1="f" u2="r" k="-81" />
    <hkern u1="f" u2="p" k="-67" />
    <hkern u1="f" u2="o" k="-52" />
    <hkern u1="f" u2="n" k="-75" />
    <hkern u1="f" u2="m" k="-151" />
    <hkern u1="f" u2="l" k="-186" />
    <hkern u1="f" u2="k" k="-191" />
    <hkern u1="f" u2="j" k="91" />
    <hkern u1="f" u2="i" k="-138" />
    <hkern u1="f" u2="h" k="-151" />
    <hkern u1="f" u2="f" k="-66" />
    <hkern u1="f" u2="e" k="-43" />
    <hkern u1="f" u2="d" k="67" />
    <hkern u1="f" u2="c" k="-46" />
    <hkern u1="f" u2="b" k="-148" />
    <hkern u1="f" u2="a" k="43" />
    <hkern u1="f" u2="`" k="-145" />
    <hkern u1="f" u2="&#x40;" k="-32" />
    <hkern u1="f" u2="&#x3f;" k="-116" />
    <hkern u1="f" u2="&#x3b;" k="213" />
    <hkern u1="f" u2="&#x3a;" k="114" />
    <hkern u1="f" u2="&#x39;" k="-91" />
    <hkern u1="f" u2="&#x38;" k="-84" />
    <hkern u1="f" u2="&#x37;" k="-198" />
    <hkern u1="f" u2="&#x36;" k="-81" />
    <hkern u1="f" u2="&#x35;" k="-155" />
    <hkern u1="f" u2="&#x34;" k="-75" />
    <hkern u1="f" u2="&#x33;" k="-66" />
    <hkern u1="f" u2="&#x32;" k="-113" />
    <hkern u1="f" u2="&#x31;" k="-160" />
    <hkern u1="f" u2="&#x30;" k="-145" />
    <hkern u1="f" u2="&#x2f;" k="84" />
    <hkern u1="f" u2="&#x2e;" k="222" />
    <hkern u1="f" u2="&#x2d;" k="-95" />
    <hkern u1="f" u2="&#x2c;" k="185" />
    <hkern u1="f" u2="&#x29;" k="-34" />
    <hkern u1="f" u2="&#x28;" k="-73" />
    <hkern u1="f" u2="&#x26;" k="49" />
    <hkern u1="f" u2="&#x25;" k="66" />
    <hkern u1="f" u2="&#x24;" k="-232" />
    <hkern u1="f" u2="&#x23;" k="50" />
    <hkern u1="f" u2="&#x21;" k="-82" />
    <hkern u1="f" g2=".notdef" k="-33" />
    <hkern u1="g" u2="&#xd0;" k="-63" />
    <hkern u1="g" u2="&#x2021;" k="-98" />
    <hkern u1="g" u2="&#x203a;" k="-85" />
    <hkern u1="g" u2="&#x2019;" k="-68" />
    <hkern u1="g" u2="&#x2014;" k="-82" />
    <hkern u1="g" u2="&#x2013;" k="-112" />
    <hkern u1="g" u2="&#x153;" k="-96" />
    <hkern u1="g" u2="&#xa2;" k="-93" />
    <hkern u1="g" u2="&#xd1;" k="-86" />
    <hkern u1="g" u2="&#xc9;" k="-50" />
    <hkern u1="g" u2="&#x7e;" k="64" />
    <hkern u1="g" u2="z" k="-104" />
    <hkern u1="g" u2="y" k="-206" />
    <hkern u1="g" u2="x" k="-102" />
    <hkern u1="g" u2="w" k="-76" />
    <hkern u1="g" u2="v" k="-77" />
    <hkern u1="g" u2="u" k="-112" />
    <hkern u1="g" u2="t" k="-42" />
    <hkern u1="g" u2="s" k="-89" />
    <hkern u1="g" u2="r" k="-96" />
    <hkern u1="g" u2="q" k="-97" />
    <hkern u1="g" u2="p" k="-88" />
    <hkern u1="g" u2="o" k="-91" />
    <hkern u1="g" u2="n" k="-125" />
    <hkern u1="g" u2="m" k="-163" />
    <hkern u1="g" u2="l" k="-77" />
    <hkern u1="g" u2="k" k="-110" />
    <hkern u1="g" u2="j" k="-435" />
    <hkern u1="g" u2="i" k="-72" />
    <hkern u1="g" u2="h" k="-100" />
    <hkern u1="g" u2="g" k="-77" />
    <hkern u1="g" u2="f" k="-100" />
    <hkern u1="g" u2="e" k="-108" />
    <hkern u1="g" u2="d" k="-90" />
    <hkern u1="g" u2="c" k="-101" />
    <hkern u1="g" u2="b" k="-125" />
    <hkern u1="g" u2="a" k="-103" />
    <hkern u1="g" u2="`" k="484" />
    <hkern u1="g" u2="&#x3b;" k="24" />
    <hkern u1="g" u2="&#x3a;" k="41" />
    <hkern u1="g" u2="&#x39;" k="-72" />
    <hkern u1="g" u2="&#x38;" k="-100" />
    <hkern u1="g" u2="&#x37;" k="-26" />
    <hkern u1="g" u2="&#x36;" k="-96" />
    <hkern u1="g" u2="&#x35;" k="-107" />
    <hkern u1="g" u2="&#x34;" k="-100" />
    <hkern u1="g" u2="&#x33;" k="-129" />
    <hkern u1="g" u2="&#x32;" k="-132" />
    <hkern u1="g" u2="&#x31;" k="-100" />
    <hkern u1="g" u2="&#x30;" k="-124" />
    <hkern u1="g" u2="&#x2f;" k="-112" />
    <hkern u1="g" u2="&#x2e;" k="23" />
    <hkern u1="g" u2="&#x2d;" k="-44" />
    <hkern u1="g" u2="&#x28;" k="-65" />
    <hkern u1="g" u2="&#x25;" k="-115" />
    <hkern u1="g" u2="&#x24;" k="-42" />
    <hkern u1="g" u2="&#x23;" k="27" />
    <hkern u1="g" u2="&#x21;" k="24" />
    <hkern u1="g" g2=".notdef" k="-103" />
    <hkern u1="h" u2="&#xd0;" k="21" />
    <hkern u1="h" u2="&#xc2;" k="-34" />
    <hkern u1="h" u2="&#x2021;" k="-87" />
    <hkern u1="h" u2="&#x203a;" k="-84" />
    <hkern u1="h" u2="&#x2019;" k="-46" />
    <hkern u1="h" u2="&#x2014;" k="-66" />
    <hkern u1="h" u2="&#x2013;" k="-131" />
    <hkern u1="h" u2="&#x153;" k="-90" />
    <hkern u1="h" u2="&#xc0;" k="310" />
    <hkern u1="h" u2="&#xa2;" k="40" />
    <hkern u1="h" u2="&#xc9;" k="-93" />
    <hkern u1="h" u2="&#x7e;" k="491" />
    <hkern u1="h" u2="z" k="-138" />
    <hkern u1="h" u2="y" k="-76" />
    <hkern u1="h" u2="x" k="-111" />
    <hkern u1="h" u2="w" k="-90" />
    <hkern u1="h" u2="v" k="34" />
    <hkern u1="h" u2="u" k="-136" />
    <hkern u1="h" u2="t" k="63" />
    <hkern u1="h" u2="s" k="-99" />
    <hkern u1="h" u2="r" k="-122" />
    <hkern u1="h" u2="q" k="-126" />
    <hkern u1="h" u2="p" k="-114" />
    <hkern u1="h" u2="o" k="-104" />
    <hkern u1="h" u2="n" k="-162" />
    <hkern u1="h" u2="m" k="-194" />
    <hkern u1="h" u2="l" k="-56" />
    <hkern u1="h" u2="k" k="-88" />
    <hkern u1="h" u2="j" k="230" />
    <hkern u1="h" u2="i" k="-54" />
    <hkern u1="h" u2="h" k="-100" />
    <hkern u1="h" u2="g" k="-80" />
    <hkern u1="h" u2="f" k="24" />
    <hkern u1="h" u2="e" k="-121" />
    <hkern u1="h" u2="d" k="-69" />
    <hkern u1="h" u2="c" k="-110" />
    <hkern u1="h" u2="b" k="-97" />
    <hkern u1="h" u2="a" k="-126" />
    <hkern u1="h" u2="`" k="433" />
    <hkern u1="h" u2="&#x40;" k="89" />
    <hkern u1="h" u2="&#x3f;" k="137" />
    <hkern u1="h" u2="&#x3b;" k="77" />
    <hkern u1="h" u2="&#x39;" k="63" />
    <hkern u1="h" u2="&#x38;" k="-22" />
    <hkern u1="h" u2="&#x37;" k="-27" />
    <hkern u1="h" u2="&#x36;" k="-71" />
    <hkern u1="h" u2="&#x35;" k="-114" />
    <hkern u1="h" u2="&#x33;" k="-119" />
    <hkern u1="h" u2="&#x32;" k="-136" />
    <hkern u1="h" u2="&#x31;" k="22" />
    <hkern u1="h" u2="&#x30;" k="-62" />
    <hkern u1="h" u2="&#x2f;" k="-60" />
    <hkern u1="h" u2="&#x2e;" k="-20" />
    <hkern u1="h" u2="&#x2d;" k="43" />
    <hkern u1="h" u2="&#x2c;" k="47" />
    <hkern u1="h" u2="&#x29;" k="47" />
    <hkern u1="h" u2="&#x28;" k="-35" />
    <hkern u1="h" u2="&#x26;" k="39" />
    <hkern u1="h" u2="&#x25;" k="-78" />
    <hkern u1="h" u2="&#x24;" k="66" />
    <hkern u1="h" u2="&#x23;" k="141" />
    <hkern u1="h" u2="&#x21;" k="71" />
    <hkern u1="h" g2=".notdef" k="-88" />
    <hkern u1="i" u2="&#xd0;" k="33" />
    <hkern u1="i" u2="&#x2021;" k="-87" />
    <hkern u1="i" u2="&#x203a;" k="-47" />
    <hkern u1="i" u2="&#x2019;" k="-20" />
    <hkern u1="i" u2="&#x2014;" k="-36" />
    <hkern u1="i" u2="&#x2013;" k="-116" />
    <hkern u1="i" u2="&#x153;" k="-76" />
    <hkern u1="i" u2="&#xc0;" k="256" />
    <hkern u1="i" u2="&#xa2;" k="-50" />
    <hkern u1="i" u2="&#xc9;" k="71" />
    <hkern u1="i" u2="&#x7e;" k="385" />
    <hkern u1="i" u2="z" k="-92" />
    <hkern u1="i" u2="y" k="106" />
    <hkern u1="i" u2="x" k="-101" />
    <hkern u1="i" u2="w" k="-63" />
    <hkern u1="i" u2="v" k="-35" />
    <hkern u1="i" u2="u" k="-105" />
    <hkern u1="i" u2="t" k="59" />
    <hkern u1="i" u2="s" k="-67" />
    <hkern u1="i" u2="r" k="-101" />
    <hkern u1="i" u2="q" k="-76" />
    <hkern u1="i" u2="p" k="-99" />
    <hkern u1="i" u2="o" k="-57" />
    <hkern u1="i" u2="n" k="-134" />
    <hkern u1="i" u2="m" k="-165" />
    <hkern u1="i" u2="l" k="-35" />
    <hkern u1="i" u2="k" k="-74" />
    <hkern u1="i" u2="j" k="-105" />
    <hkern u1="i" u2="i" k="-28" />
    <hkern u1="i" u2="h" k="-100" />
    <hkern u1="i" u2="g" k="41" />
    <hkern u1="i" u2="f" k="26" />
    <hkern u1="i" u2="e" k="-76" />
    <hkern u1="i" u2="d" k="-78" />
    <hkern u1="i" u2="c" k="-59" />
    <hkern u1="i" u2="b" k="-28" />
    <hkern u1="i" u2="a" k="-108" />
    <hkern u1="i" u2="`" k="82" />
    <hkern u1="i" u2="&#x40;" k="72" />
    <hkern u1="i" u2="&#x3f;" k="75" />
    <hkern u1="i" u2="&#x3b;" k="76" />
    <hkern u1="i" u2="&#x3a;" k="60" />
    <hkern u1="i" u2="&#x39;" k="-41" />
    <hkern u1="i" u2="&#x38;" k="-48" />
    <hkern u1="i" u2="&#x37;" k="-22" />
    <hkern u1="i" u2="&#x36;" k="-65" />
    <hkern u1="i" u2="&#x35;" k="-116" />
    <hkern u1="i" u2="&#x34;" k="24" />
    <hkern u1="i" u2="&#x33;" k="-88" />
    <hkern u1="i" u2="&#x32;" k="-141" />
    <hkern u1="i" u2="&#x31;" k="-58" />
    <hkern u1="i" u2="&#x30;" k="-34" />
    <hkern u1="i" u2="&#x2f;" k="-83" />
    <hkern u1="i" u2="&#x2e;" k="143" />
    <hkern u1="i" u2="&#x2d;" k="57" />
    <hkern u1="i" u2="&#x29;" k="25" />
    <hkern u1="i" u2="&#x28;" k="-21" />
    <hkern u1="i" u2="&#x26;" k="96" />
    <hkern u1="i" u2="&#x25;" k="-98" />
    <hkern u1="i" u2="&#x24;" k="-29" />
    <hkern u1="i" u2="&#x23;" k="93" />
    <hkern u1="i" u2="&#x21;" k="56" />
    <hkern u1="i" g2=".notdef" k="-59" />
    <hkern u1="j" u2="&#xd0;" k="-75" />
    <hkern u1="j" u2="&#xc1;" k="44" />
    <hkern u1="j" u2="&#x2021;" k="-50" />
    <hkern u1="j" u2="&#x203a;" k="-48" />
    <hkern u1="j" u2="&#x2019;" k="-36" />
    <hkern u1="j" u2="&#x2014;" k="-42" />
    <hkern u1="j" u2="&#x2013;" k="-70" />
    <hkern u1="j" u2="&#x153;" k="-56" />
    <hkern u1="j" u2="&#xa2;" k="-83" />
    <hkern u1="j" u2="&#xd1;" k="-99" />
    <hkern u1="j" u2="&#xc9;" k="-23" />
    <hkern u1="j" u2="&#x7e;" k="172" />
    <hkern u1="j" u2="z" k="-84" />
    <hkern u1="j" u2="y" k="-159" />
    <hkern u1="j" u2="x" k="-56" />
    <hkern u1="j" u2="w" k="-39" />
    <hkern u1="j" u2="v" k="-85" />
    <hkern u1="j" u2="u" k="-89" />
    <hkern u1="j" u2="t" k="-28" />
    <hkern u1="j" u2="s" k="-73" />
    <hkern u1="j" u2="r" k="-59" />
    <hkern u1="j" u2="q" k="-62" />
    <hkern u1="j" u2="p" k="-57" />
    <hkern u1="j" u2="o" k="-63" />
    <hkern u1="j" u2="n" k="-105" />
    <hkern u1="j" u2="m" k="-147" />
    <hkern u1="j" u2="l" k="-51" />
    <hkern u1="j" u2="k" k="-83" />
    <hkern u1="j" u2="j" k="-388" />
    <hkern u1="j" u2="i" k="-40" />
    <hkern u1="j" u2="h" k="-65" />
    <hkern u1="j" u2="g" k="-44" />
    <hkern u1="j" u2="f" k="-77" />
    <hkern u1="j" u2="e" k="-76" />
    <hkern u1="j" u2="d" k="-41" />
    <hkern u1="j" u2="c" k="-75" />
    <hkern u1="j" u2="b" k="-93" />
    <hkern u1="j" u2="a" k="-66" />
    <hkern u1="j" u2="`" k="125" />
    <hkern u1="j" u2="&#x3f;" k="-21" />
    <hkern u1="j" u2="&#x3b;" k="51" />
    <hkern u1="j" u2="&#x3a;" k="64" />
    <hkern u1="j" u2="&#x39;" k="-49" />
    <hkern u1="j" u2="&#x38;" k="-83" />
    <hkern u1="j" u2="&#x36;" k="-62" />
    <hkern u1="j" u2="&#x35;" k="-71" />
    <hkern u1="j" u2="&#x34;" k="-75" />
    <hkern u1="j" u2="&#x33;" k="-94" />
    <hkern u1="j" u2="&#x32;" k="-96" />
    <hkern u1="j" u2="&#x31;" k="-57" />
    <hkern u1="j" u2="&#x30;" k="-99" />
    <hkern u1="j" u2="&#x2f;" k="-60" />
    <hkern u1="j" u2="&#x2e;" k="50" />
    <hkern u1="j" u2="&#x2d;" k="-51" />
    <hkern u1="j" u2="&#x2c;" k="30" />
    <hkern u1="j" u2="&#x29;" k="35" />
    <hkern u1="j" u2="&#x28;" k="-38" />
    <hkern u1="j" u2="&#x26;" k="28" />
    <hkern u1="j" u2="&#x25;" k="-69" />
    <hkern u1="j" u2="&#x24;" k="-61" />
    <hkern u1="j" u2="&#x21;" k="41" />
    <hkern u1="j" g2=".notdef" k="-63" />
    <hkern u1="k" u2="&#xd0;" k="198" />
    <hkern u1="k" u2="&#xc1;" k="-24" />
    <hkern u1="k" u2="&#xc2;" k="-35" />
    <hkern u1="k" u2="&#x2021;" k="-89" />
    <hkern u1="k" u2="&#x203a;" k="-86" />
    <hkern u1="k" u2="&#x2019;" k="-51" />
    <hkern u1="k" u2="&#x2014;" k="-67" />
    <hkern u1="k" u2="&#x2013;" k="-134" />
    <hkern u1="k" u2="&#x153;" k="-89" />
    <hkern u1="k" u2="&#xc0;" k="226" />
    <hkern u1="k" u2="&#xa2;" k="35" />
    <hkern u1="k" u2="&#xd1;" k="173" />
    <hkern u1="k" u2="&#xc9;" k="-101" />
    <hkern u1="k" u2="&#x7e;" k="168" />
    <hkern u1="k" u2="z" k="-130" />
    <hkern u1="k" u2="y" k="-89" />
    <hkern u1="k" u2="x" k="-121" />
    <hkern u1="k" u2="w" k="-94" />
    <hkern u1="k" u2="v" k="38" />
    <hkern u1="k" u2="u" k="-132" />
    <hkern u1="k" u2="t" k="90" />
    <hkern u1="k" u2="s" k="-100" />
    <hkern u1="k" u2="r" k="-123" />
    <hkern u1="k" u2="q" k="-138" />
    <hkern u1="k" u2="p" k="-122" />
    <hkern u1="k" u2="o" k="-103" />
    <hkern u1="k" u2="n" k="-152" />
    <hkern u1="k" u2="m" k="-186" />
    <hkern u1="k" u2="l" k="-59" />
    <hkern u1="k" u2="k" k="-91" />
    <hkern u1="k" u2="j" k="59" />
    <hkern u1="k" u2="i" k="-58" />
    <hkern u1="k" u2="h" k="-103" />
    <hkern u1="k" u2="g" k="-94" />
    <hkern u1="k" u2="f" k="35" />
    <hkern u1="k" u2="e" k="-122" />
    <hkern u1="k" u2="d" k="-67" />
    <hkern u1="k" u2="c" k="-111" />
    <hkern u1="k" u2="b" k="-110" />
    <hkern u1="k" u2="a" k="-130" />
    <hkern u1="k" u2="`" k="490" />
    <hkern u1="k" u2="&#x40;" k="98" />
    <hkern u1="k" u2="&#x3f;" k="74" />
    <hkern u1="k" u2="&#x3a;" k="21" />
    <hkern u1="k" u2="&#x39;" k="-77" />
    <hkern u1="k" u2="&#x38;" k="-23" />
    <hkern u1="k" u2="&#x37;" k="-34" />
    <hkern u1="k" u2="&#x36;" k="-76" />
    <hkern u1="k" u2="&#x35;" k="-123" />
    <hkern u1="k" u2="&#x34;" k="34" />
    <hkern u1="k" u2="&#x33;" k="-128" />
    <hkern u1="k" u2="&#x32;" k="-151" />
    <hkern u1="k" u2="&#x31;" k="-101" />
    <hkern u1="k" u2="&#x30;" k="-74" />
    <hkern u1="k" u2="&#x2f;" k="-92" />
    <hkern u1="k" u2="&#x2e;" k="-29" />
    <hkern u1="k" u2="&#x2d;" k="228" />
    <hkern u1="k" u2="&#x2c;" k="-58" />
    <hkern u1="k" u2="&#x28;" k="-40" />
    <hkern u1="k" u2="&#x26;" k="22" />
    <hkern u1="k" u2="&#x25;" k="-110" />
    <hkern u1="k" u2="&#x24;" k="69" />
    <hkern u1="k" u2="&#x23;" k="149" />
    <hkern u1="k" u2="&#x21;" k="51" />
    <hkern u1="k" g2=".notdef" k="-89" />
    <hkern u1="l" u2="&#xd0;" k="74" />
    <hkern u1="l" u2="&#x2021;" k="-79" />
    <hkern u1="l" u2="&#x2013;" k="-115" />
    <hkern u1="l" u2="&#x153;" k="-58" />
    <hkern u1="l" u2="&#xc0;" k="274" />
    <hkern u1="l" u2="&#xd1;" k="49" />
    <hkern u1="l" u2="&#xc9;" k="80" />
    <hkern u1="l" u2="&#x7e;" k="159" />
    <hkern u1="l" u2="z" k="-82" />
    <hkern u1="l" u2="y" k="80" />
    <hkern u1="l" u2="x" k="-100" />
    <hkern u1="l" u2="w" k="-52" />
    <hkern u1="l" u2="v" k="34" />
    <hkern u1="l" u2="u" k="-86" />
    <hkern u1="l" u2="t" k="95" />
    <hkern u1="l" u2="s" k="-38" />
    <hkern u1="l" u2="r" k="-97" />
    <hkern u1="l" u2="p" k="-102" />
    <hkern u1="l" u2="o" k="-26" />
    <hkern u1="l" u2="n" k="-128" />
    <hkern u1="l" u2="m" k="-160" />
    <hkern u1="l" u2="l" k="-21" />
    <hkern u1="l" u2="k" k="-60" />
    <hkern u1="l" u2="j" k="-88" />
    <hkern u1="l" u2="h" k="-101" />
    <hkern u1="l" u2="g" k="52" />
    <hkern u1="l" u2="f" k="33" />
    <hkern u1="l" u2="e" k="-42" />
    <hkern u1="l" u2="d" k="-69" />
    <hkern u1="l" u2="c" k="-21" />
    <hkern u1="l" u2="b" k="-31" />
    <hkern u1="l" u2="a" k="-104" />
    <hkern u1="l" u2="`" k="122" />
    <hkern u1="l" u2="&#x40;" k="124" />
    <hkern u1="l" u2="&#x3f;" k="60" />
    <hkern u1="l" u2="&#x3b;" k="53" />
    <hkern u1="l" u2="&#x3a;" k="158" />
    <hkern u1="l" u2="&#x39;" k="-80" />
    <hkern u1="l" u2="&#x37;" k="-32" />
    <hkern u1="l" u2="&#x36;" k="-51" />
    <hkern u1="l" u2="&#x35;" k="-119" />
    <hkern u1="l" u2="&#x34;" k="39" />
    <hkern u1="l" u2="&#x33;" k="-70" />
    <hkern u1="l" u2="&#x32;" k="-145" />
    <hkern u1="l" u2="&#x31;" k="-98" />
    <hkern u1="l" u2="&#x2f;" k="-91" />
    <hkern u1="l" u2="&#x2e;" k="153" />
    <hkern u1="l" u2="&#x2d;" k="97" />
    <hkern u1="l" u2="&#x26;" k="138" />
    <hkern u1="l" u2="&#x25;" k="-109" />
    <hkern u1="l" u2="&#x23;" k="124" />
    <hkern u1="l" u2="&#x21;" k="50" />
    <hkern u1="l" g2=".notdef" k="-24" />
    <hkern u1="m" u2="&#xd0;" k="67" />
    <hkern u1="m" u2="&#xc1;" k="31" />
    <hkern u1="m" u2="&#x2021;" k="-107" />
    <hkern u1="m" u2="&#x203a;" k="-93" />
    <hkern u1="m" u2="&#x2019;" k="-68" />
    <hkern u1="m" u2="&#x2014;" k="-93" />
    <hkern u1="m" u2="&#x2013;" k="-115" />
    <hkern u1="m" u2="&#x153;" k="-116" />
    <hkern u1="m" u2="&#xc0;" k="296" />
    <hkern u1="m" u2="&#xa2;" k="50" />
    <hkern u1="m" u2="&#xd1;" k="43" />
    <hkern u1="m" u2="&#xc9;" k="-100" />
    <hkern u1="m" u2="&#x7e;" k="534" />
    <hkern u1="m" u2="z" k="-98" />
    <hkern u1="m" u2="y" k="-83" />
    <hkern u1="m" u2="x" k="-90" />
    <hkern u1="m" u2="w" k="-98" />
    <hkern u1="m" u2="v" k="55" />
    <hkern u1="m" u2="u" k="-116" />
    <hkern u1="m" u2="t" k="89" />
    <hkern u1="m" u2="s" k="-79" />
    <hkern u1="m" u2="r" k="-99" />
    <hkern u1="m" u2="q" k="-131" />
    <hkern u1="m" u2="p" k="-92" />
    <hkern u1="m" u2="o" k="-93" />
    <hkern u1="m" u2="n" k="-129" />
    <hkern u1="m" u2="m" k="-164" />
    <hkern u1="m" u2="l" k="-68" />
    <hkern u1="m" u2="k" k="-106" />
    <hkern u1="m" u2="j" k="87" />
    <hkern u1="m" u2="i" k="-70" />
    <hkern u1="m" u2="h" k="-102" />
    <hkern u1="m" u2="g" k="-92" />
    <hkern u1="m" u2="f" k="32" />
    <hkern u1="m" u2="e" k="-113" />
    <hkern u1="m" u2="d" k="-95" />
    <hkern u1="m" u2="c" k="-103" />
    <hkern u1="m" u2="b" k="-123" />
    <hkern u1="m" u2="a" k="-107" />
    <hkern u1="m" u2="`" k="431" />
    <hkern u1="m" u2="&#x40;" k="85" />
    <hkern u1="m" u2="&#x3f;" k="283" />
    <hkern u1="m" u2="&#x3b;" k="121" />
    <hkern u1="m" u2="&#x3a;" k="34" />
    <hkern u1="m" u2="&#x39;" k="99" />
    <hkern u1="m" u2="&#x38;" k="-21" />
    <hkern u1="m" u2="&#x37;" k="-23" />
    <hkern u1="m" u2="&#x36;" k="-97" />
    <hkern u1="m" u2="&#x35;" k="-78" />
    <hkern u1="m" u2="&#x34;" k="48" />
    <hkern u1="m" u2="&#x33;" k="-132" />
    <hkern u1="m" u2="&#x32;" k="-98" />
    <hkern u1="m" u2="&#x31;" k="27" />
    <hkern u1="m" u2="&#x30;" k="-93" />
    <hkern u1="m" u2="&#x2f;" k="-57" />
    <hkern u1="m" u2="&#x2e;" k="-27" />
    <hkern u1="m" u2="&#x2d;" k="90" />
    <hkern u1="m" u2="&#x2c;" k="112" />
    <hkern u1="m" u2="&#x29;" k="83" />
    <hkern u1="m" u2="&#x28;" k="-57" />
    <hkern u1="m" u2="&#x25;" k="-57" />
    <hkern u1="m" u2="&#x24;" k="87" />
    <hkern u1="m" u2="&#x23;" k="122" />
    <hkern u1="m" u2="&#x21;" k="310" />
    <hkern u1="m" g2=".notdef" k="-113" />
    <hkern u1="n" u2="&#xc1;" k="-20" />
    <hkern u1="n" u2="&#xc2;" k="-52" />
    <hkern u1="n" u2="&#x2021;" k="-153" />
    <hkern u1="n" u2="&#x203a;" k="-127" />
    <hkern u1="n" u2="&#x2019;" k="-99" />
    <hkern u1="n" u2="&#x2014;" k="-127" />
    <hkern u1="n" u2="&#x2013;" k="-165" />
    <hkern u1="n" u2="&#x153;" k="-155" />
    <hkern u1="n" u2="&#xc0;" k="312" />
    <hkern u1="n" u2="&#xc9;" k="-102" />
    <hkern u1="n" u2="&#x7e;" k="520" />
    <hkern u1="n" u2="z" k="-148" />
    <hkern u1="n" u2="y" k="-113" />
    <hkern u1="n" u2="x" k="-139" />
    <hkern u1="n" u2="w" k="-137" />
    <hkern u1="n" u2="u" k="-155" />
    <hkern u1="n" u2="t" k="39" />
    <hkern u1="n" u2="s" k="-121" />
    <hkern u1="n" u2="r" k="-140" />
    <hkern u1="n" u2="q" k="-169" />
    <hkern u1="n" u2="p" k="-133" />
    <hkern u1="n" u2="o" k="-127" />
    <hkern u1="n" u2="n" k="-165" />
    <hkern u1="n" u2="m" k="-204" />
    <hkern u1="n" u2="l" k="-95" />
    <hkern u1="n" u2="k" k="-134" />
    <hkern u1="n" u2="j" k="45" />
    <hkern u1="n" u2="i" k="-99" />
    <hkern u1="n" u2="h" k="-142" />
    <hkern u1="n" u2="g" k="-123" />
    <hkern u1="n" u2="e" k="-148" />
    <hkern u1="n" u2="d" k="-145" />
    <hkern u1="n" u2="c" k="-133" />
    <hkern u1="n" u2="b" k="-143" />
    <hkern u1="n" u2="a" k="-153" />
    <hkern u1="n" u2="`" k="416" />
    <hkern u1="n" u2="&#x40;" k="60" />
    <hkern u1="n" u2="&#x3f;" k="136" />
    <hkern u1="n" u2="&#x3b;" k="72" />
    <hkern u1="n" u2="&#x39;" k="35" />
    <hkern u1="n" u2="&#x38;" k="-59" />
    <hkern u1="n" u2="&#x37;" k="-72" />
    <hkern u1="n" u2="&#x36;" k="-129" />
    <hkern u1="n" u2="&#x35;" k="-133" />
    <hkern u1="n" u2="&#x33;" k="-161" />
    <hkern u1="n" u2="&#x32;" k="-163" />
    <hkern u1="n" u2="&#x30;" k="-109" />
    <hkern u1="n" u2="&#x2f;" k="-119" />
    <hkern u1="n" u2="&#x2e;" k="-30" />
    <hkern u1="n" u2="&#x2d;" k="42" />
    <hkern u1="n" u2="&#x2c;" k="37" />
    <hkern u1="n" u2="&#x29;" k="20" />
    <hkern u1="n" u2="&#x28;" k="-84" />
    <hkern u1="n" u2="&#x25;" k="-119" />
    <hkern u1="n" u2="&#x24;" k="26" />
    <hkern u1="n" u2="&#x23;" k="86" />
    <hkern u1="n" u2="&#x21;" k="58" />
    <hkern u1="n" g2=".notdef" k="-148" />
    <hkern u1="o" u2="&#xd0;" k="-96" />
    <hkern u1="o" u2="&#xc1;" k="124" />
    <hkern u1="o" u2="&#xc2;" k="28" />
    <hkern u1="o" u2="&#x203a;" k="-44" />
    <hkern u1="o" u2="&#x2019;" k="-58" />
    <hkern u1="o" u2="&#x2014;" k="-44" />
    <hkern u1="o" u2="&#x2013;" k="-55" />
    <hkern u1="o" u2="&#x153;" k="-56" />
    <hkern u1="o" u2="&#xc0;" k="330" />
    <hkern u1="o" u2="&#xa2;" k="-131" />
    <hkern u1="o" u2="&#xd1;" k="-120" />
    <hkern u1="o" u2="&#xc9;" k="100" />
    <hkern u1="o" u2="&#x7e;" k="104" />
    <hkern u1="o" u2="z" k="-30" />
    <hkern u1="o" u2="y" k="-44" />
    <hkern u1="o" u2="x" k="-42" />
    <hkern u1="o" u2="w" k="-62" />
    <hkern u1="o" u2="v" k="-103" />
    <hkern u1="o" u2="u" k="-61" />
    <hkern u1="o" u2="t" k="-57" />
    <hkern u1="o" u2="s" k="-91" />
    <hkern u1="o" u2="r" k="-85" />
    <hkern u1="o" u2="q" k="-35" />
    <hkern u1="o" u2="p" k="-60" />
    <hkern u1="o" u2="o" k="-44" />
    <hkern u1="o" u2="n" k="-66" />
    <hkern u1="o" u2="m" k="-145" />
    <hkern u1="o" u2="l" k="-78" />
    <hkern u1="o" u2="k" k="-110" />
    <hkern u1="o" u2="j" k="147" />
    <hkern u1="o" u2="i" k="-63" />
    <hkern u1="o" u2="h" k="-79" />
    <hkern u1="o" u2="f" k="-87" />
    <hkern u1="o" u2="e" k="-48" />
    <hkern u1="o" u2="d" k="24" />
    <hkern u1="o" u2="c" k="-44" />
    <hkern u1="o" u2="b" k="-109" />
    <hkern u1="o" u2="`" k="481" />
    <hkern u1="o" u2="&#x40;" k="-38" />
    <hkern u1="o" u2="&#x3f;" k="163" />
    <hkern u1="o" u2="&#x3b;" k="188" />
    <hkern u1="o" u2="&#x3a;" k="101" />
    <hkern u1="o" u2="&#x39;" k="-73" />
    <hkern u1="o" u2="&#x38;" k="-110" />
    <hkern u1="o" u2="&#x37;" k="81" />
    <hkern u1="o" u2="&#x36;" k="-77" />
    <hkern u1="o" u2="&#x35;" k="-85" />
    <hkern u1="o" u2="&#x34;" k="-67" />
    <hkern u1="o" u2="&#x32;" k="57" />
    <hkern u1="o" u2="&#x31;" k="36" />
    <hkern u1="o" u2="&#x30;" k="-128" />
    <hkern u1="o" u2="&#x2f;" k="88" />
    <hkern u1="o" u2="&#x2e;" k="174" />
    <hkern u1="o" u2="&#x2d;" k="-72" />
    <hkern u1="o" u2="&#x2c;" k="240" />
    <hkern u1="o" u2="&#x29;" k="219" />
    <hkern u1="o" u2="&#x28;" k="-66" />
    <hkern u1="o" u2="&#x26;" k="45" />
    <hkern u1="o" u2="&#x25;" k="87" />
    <hkern u1="o" u2="&#x24;" k="-88" />
    <hkern u1="o" g2=".notdef" k="-48" />
    <hkern u1="p" u2="&#xd0;" k="-111" />
    <hkern u1="p" u2="&#xc1;" k="154" />
    <hkern u1="p" u2="&#xc2;" k="30" />
    <hkern u1="p" u2="&#x2021;" k="29" />
    <hkern u1="p" u2="&#x203a;" k="-45" />
    <hkern u1="p" u2="&#x2019;" k="-61" />
    <hkern u1="p" u2="&#x2014;" k="-45" />
    <hkern u1="p" u2="&#x2013;" k="-64" />
    <hkern u1="p" u2="&#x153;" k="-59" />
    <hkern u1="p" u2="&#xc0;" k="246" />
    <hkern u1="p" u2="&#xa2;" k="-155" />
    <hkern u1="p" u2="&#xd1;" k="-136" />
    <hkern u1="p" u2="&#xc9;" k="143" />
    <hkern u1="p" u2="&#x7e;" k="475" />
    <hkern u1="p" u2="z" k="-48" />
    <hkern u1="p" u2="x" k="-61" />
    <hkern u1="p" u2="w" k="-69" />
    <hkern u1="p" u2="v" k="-124" />
    <hkern u1="p" u2="u" k="-67" />
    <hkern u1="p" u2="t" k="-62" />
    <hkern u1="p" u2="s" k="-94" />
    <hkern u1="p" u2="r" k="-99" />
    <hkern u1="p" u2="q" k="35" />
    <hkern u1="p" u2="p" k="-36" />
    <hkern u1="p" u2="o" k="-45" />
    <hkern u1="p" u2="n" k="-77" />
    <hkern u1="p" u2="m" k="-155" />
    <hkern u1="p" u2="l" k="-85" />
    <hkern u1="p" u2="k" k="-106" />
    <hkern u1="p" u2="j" k="-77" />
    <hkern u1="p" u2="i" k="-66" />
    <hkern u1="p" u2="h" k="-79" />
    <hkern u1="p" u2="g" k="29" />
    <hkern u1="p" u2="f" k="-82" />
    <hkern u1="p" u2="e" k="-43" />
    <hkern u1="p" u2="d" k="40" />
    <hkern u1="p" u2="c" k="-41" />
    <hkern u1="p" u2="b" k="-107" />
    <hkern u1="p" u2="a" k="29" />
    <hkern u1="p" u2="`" k="457" />
    <hkern u1="p" u2="&#x40;" k="-51" />
    <hkern u1="p" u2="&#x3f;" k="169" />
    <hkern u1="p" u2="&#x3b;" k="182" />
    <hkern u1="p" u2="&#x3a;" k="89" />
    <hkern u1="p" u2="&#x39;" k="-76" />
    <hkern u1="p" u2="&#x38;" k="-127" />
    <hkern u1="p" u2="&#x37;" k="93" />
    <hkern u1="p" u2="&#x36;" k="-74" />
    <hkern u1="p" u2="&#x35;" k="-86" />
    <hkern u1="p" u2="&#x34;" k="-37" />
    <hkern u1="p" u2="&#x33;" k="29" />
    <hkern u1="p" u2="&#x32;" k="105" />
    <hkern u1="p" u2="&#x31;" k="34" />
    <hkern u1="p" u2="&#x30;" k="-127" />
    <hkern u1="p" u2="&#x2f;" k="117" />
    <hkern u1="p" u2="&#x2e;" k="217" />
    <hkern u1="p" u2="&#x2d;" k="-88" />
    <hkern u1="p" u2="&#x2c;" k="293" />
    <hkern u1="p" u2="&#x29;" k="224" />
    <hkern u1="p" u2="&#x28;" k="-62" />
    <hkern u1="p" u2="&#x26;" k="57" />
    <hkern u1="p" u2="&#x25;" k="116" />
    <hkern u1="p" u2="&#x24;" k="-105" />
    <hkern u1="p" u2="&#x23;" k="-31" />
    <hkern u1="p" g2=".notdef" k="-43" />
    <hkern u1="q" u2="&#xd0;" k="-68" />
    <hkern u1="q" u2="&#xc1;" k="-53" />
    <hkern u1="q" u2="&#xc2;" k="50" />
    <hkern u1="q" u2="&#x2019;" k="-41" />
    <hkern u1="q" u2="&#x2013;" k="-44" />
    <hkern u1="q" u2="&#x153;" k="-26" />
    <hkern u1="q" u2="&#xc0;" k="-182" />
    <hkern u1="q" u2="&#xa2;" k="-117" />
    <hkern u1="q" u2="&#xd1;" k="-91" />
    <hkern u1="q" u2="&#xc9;" k="64" />
    <hkern u1="q" u2="&#x7e;" k="37" />
    <hkern u1="q" u2="y" k="-293" />
    <hkern u1="q" u2="x" k="-72" />
    <hkern u1="q" u2="w" k="-39" />
    <hkern u1="q" u2="v" k="-89" />
    <hkern u1="q" u2="u" k="-40" />
    <hkern u1="q" u2="t" k="-38" />
    <hkern u1="q" u2="s" k="-66" />
    <hkern u1="q" u2="r" k="-75" />
    <hkern u1="q" u2="p" k="-150" />
    <hkern u1="q" u2="o" k="-20" />
    <hkern u1="q" u2="n" k="-55" />
    <hkern u1="q" u2="m" k="-132" />
    <hkern u1="q" u2="l" k="-68" />
    <hkern u1="q" u2="k" k="-92" />
    <hkern u1="q" u2="j" k="-552" />
    <hkern u1="q" u2="i" k="-45" />
    <hkern u1="q" u2="h" k="-65" />
    <hkern u1="q" u2="g" k="-166" />
    <hkern u1="q" u2="f" k="-62" />
    <hkern u1="q" u2="e" k="-31" />
    <hkern u1="q" u2="c" k="-27" />
    <hkern u1="q" u2="b" k="-91" />
    <hkern u1="q" u2="`" k="390" />
    <hkern u1="q" u2="&#x40;" k="-24" />
    <hkern u1="q" u2="&#x3b;" k="138" />
    <hkern u1="q" u2="&#x3a;" k="112" />
    <hkern u1="q" u2="&#x39;" k="-68" />
    <hkern u1="q" u2="&#x38;" k="-114" />
    <hkern u1="q" u2="&#x37;" k="78" />
    <hkern u1="q" u2="&#x36;" k="-55" />
    <hkern u1="q" u2="&#x35;" k="-69" />
    <hkern u1="q" u2="&#x34;" k="-40" />
    <hkern u1="q" u2="&#x33;" k="-36" />
    <hkern u1="q" u2="&#x32;" k="-99" />
    <hkern u1="q" u2="&#x30;" k="-112" />
    <hkern u1="q" u2="&#x2e;" k="137" />
    <hkern u1="q" u2="&#x2d;" k="-43" />
    <hkern u1="q" u2="&#x2c;" k="125" />
    <hkern u1="q" u2="&#x29;" k="97" />
    <hkern u1="q" u2="&#x28;" k="-50" />
    <hkern u1="q" u2="&#x26;" k="62" />
    <hkern u1="q" u2="&#x24;" k="-76" />
    <hkern u1="q" u2="&#x21;" k="23" />
    <hkern u1="q" g2=".notdef" k="-27" />
    <hkern u1="r" u2="&#xd0;" k="211" />
    <hkern u1="r" u2="&#xc1;" k="375" />
    <hkern u1="r" u2="&#xc2;" k="118" />
    <hkern u1="r" u2="&#x2021;" k="241" />
    <hkern u1="r" u2="&#x203a;" k="159" />
    <hkern u1="r" u2="&#x2019;" k="178" />
    <hkern u1="r" u2="&#x2014;" k="159" />
    <hkern u1="r" u2="&#x2013;" k="54" />
    <hkern u1="r" u2="&#x153;" k="53" />
    <hkern u1="r" u2="&#xc0;" k="497" />
    <hkern u1="r" u2="&#xa2;" k="-97" />
    <hkern u1="r" u2="&#xd1;" k="187" />
    <hkern u1="r" u2="&#xc9;" k="322" />
    <hkern u1="r" u2="z" k="193" />
    <hkern u1="r" u2="y" k="50" />
    <hkern u1="r" u2="x" k="-50" />
    <hkern u1="r" u2="w" k="185" />
    <hkern u1="r" u2="v" k="91" />
    <hkern u1="r" u2="u" k="47" />
    <hkern u1="r" u2="t" k="143" />
    <hkern u1="r" u2="s" k="100" />
    <hkern u1="r" u2="r" k="-48" />
    <hkern u1="r" u2="q" k="217" />
    <hkern u1="r" u2="o" k="157" />
    <hkern u1="r" u2="n" k="171" />
    <hkern u1="r" u2="m" k="-51" />
    <hkern u1="r" u2="l" k="-30" />
    <hkern u1="r" u2="k" k="-50" />
    <hkern u1="r" u2="j" k="113" />
    <hkern u1="r" u2="i" k="44" />
    <hkern u1="r" u2="g" k="203" />
    <hkern u1="r" u2="f" k="95" />
    <hkern u1="r" u2="e" k="148" />
    <hkern u1="r" u2="d" k="249" />
    <hkern u1="r" u2="c" k="143" />
    <hkern u1="r" u2="b" k="-34" />
    <hkern u1="r" u2="a" k="241" />
    <hkern u1="r" u2="`" k="483" />
    <hkern u1="r" u2="&#x40;" k="57" />
    <hkern u1="r" u2="&#x3f;" k="517" />
    <hkern u1="r" u2="&#x3b;" k="604" />
    <hkern u1="r" u2="&#x3a;" k="375" />
    <hkern u1="r" u2="&#x38;" k="-93" />
    <hkern u1="r" u2="&#x37;" k="255" />
    <hkern u1="r" u2="&#x36;" k="22" />
    <hkern u1="r" u2="&#x35;" k="51" />
    <hkern u1="r" u2="&#x34;" k="64" />
    <hkern u1="r" u2="&#x33;" k="223" />
    <hkern u1="r" u2="&#x32;" k="-62" />
    <hkern u1="r" u2="&#x31;" k="103" />
    <hkern u1="r" u2="&#x30;" k="-62" />
    <hkern u1="r" u2="&#x2f;" k="256" />
    <hkern u1="r" u2="&#x2e;" k="395" />
    <hkern u1="r" u2="&#x2d;" k="241" />
    <hkern u1="r" u2="&#x2c;" k="406" />
    <hkern u1="r" u2="&#x29;" k="291" />
    <hkern u1="r" u2="&#x26;" k="163" />
    <hkern u1="r" u2="&#x25;" k="253" />
    <hkern u1="r" u2="&#x24;" k="40" />
    <hkern u1="r" u2="&#x23;" k="256" />
    <hkern u1="r" u2="&#x21;" k="63" />
    <hkern u1="r" g2=".notdef" k="148" />
    <hkern u1="s" u2="&#xd0;" k="295" />
    <hkern u1="s" u2="&#xc1;" k="67" />
    <hkern u1="s" u2="&#x2021;" k="-66" />
    <hkern u1="s" u2="&#x203a;" k="-76" />
    <hkern u1="s" u2="&#x2019;" k="-61" />
    <hkern u1="s" u2="&#x2014;" k="-76" />
    <hkern u1="s" u2="&#x2013;" k="-86" />
    <hkern u1="s" u2="&#x153;" k="-87" />
    <hkern u1="s" u2="&#xc0;" k="476" />
    <hkern u1="s" u2="&#xa2;" k="-127" />
    <hkern u1="s" u2="&#xd1;" k="271" />
    <hkern u1="s" u2="&#xc9;" k="-28" />
    <hkern u1="s" u2="z" k="-49" />
    <hkern u1="s" u2="y" k="-73" />
    <hkern u1="s" u2="x" k="-93" />
    <hkern u1="s" u2="w" k="-70" />
    <hkern u1="s" u2="v" k="34" />
    <hkern u1="s" u2="u" k="-95" />
    <hkern u1="s" u2="t" k="89" />
    <hkern u1="s" u2="s" k="-41" />
    <hkern u1="s" u2="r" k="-97" />
    <hkern u1="s" u2="q" k="-105" />
    <hkern u1="s" u2="p" k="-74" />
    <hkern u1="s" u2="o" k="-79" />
    <hkern u1="s" u2="n" k="-93" />
    <hkern u1="s" u2="m" k="-149" />
    <hkern u1="s" u2="l" k="-78" />
    <hkern u1="s" u2="k" k="-108" />
    <hkern u1="s" u2="j" k="118" />
    <hkern u1="s" u2="i" k="-67" />
    <hkern u1="s" u2="h" k="-90" />
    <hkern u1="s" u2="g" k="-75" />
    <hkern u1="s" u2="f" k="-67" />
    <hkern u1="s" u2="e" k="-98" />
    <hkern u1="s" u2="d" k="-51" />
    <hkern u1="s" u2="c" k="-91" />
    <hkern u1="s" u2="b" k="-119" />
    <hkern u1="s" u2="a" k="-66" />
    <hkern u1="s" u2="`" k="458" />
    <hkern u1="s" u2="&#x3f;" k="141" />
    <hkern u1="s" u2="&#x3b;" k="171" />
    <hkern u1="s" u2="&#x3a;" k="105" />
    <hkern u1="s" u2="&#x39;" k="-64" />
    <hkern u1="s" u2="&#x38;" k="-141" />
    <hkern u1="s" u2="&#x36;" k="-90" />
    <hkern u1="s" u2="&#x35;" k="-30" />
    <hkern u1="s" u2="&#x34;" k="-103" />
    <hkern u1="s" u2="&#x33;" k="-99" />
    <hkern u1="s" u2="&#x32;" k="-77" />
    <hkern u1="s" u2="&#x31;" k="34" />
    <hkern u1="s" u2="&#x30;" k="-117" />
    <hkern u1="s" u2="&#x2e;" k="46" />
    <hkern u1="s" u2="&#x2d;" k="325" />
    <hkern u1="s" u2="&#x2c;" k="119" />
    <hkern u1="s" u2="&#x29;" k="134" />
    <hkern u1="s" u2="&#x28;" k="-61" />
    <hkern u1="s" u2="&#x24;" k="43" />
    <hkern u1="s" u2="&#x23;" k="162" />
    <hkern u1="s" g2=".notdef" k="-98" />
    <hkern u1="t" u2="&#x2021;" k="-99" />
    <hkern u1="t" u2="&#x203a;" k="-73" />
    <hkern u1="t" u2="&#x2019;" k="-64" />
    <hkern u1="t" u2="&#x2014;" k="-67" />
    <hkern u1="t" u2="&#x2013;" k="-123" />
    <hkern u1="t" u2="&#x153;" k="-97" />
    <hkern u1="t" u2="&#xc0;" k="450" />
    <hkern u1="t" u2="&#xa2;" k="-134" />
    <hkern u1="t" u2="&#xc9;" k="-24" />
    <hkern u1="t" u2="&#x7e;" k="167" />
    <hkern u1="t" u2="z" k="-116" />
    <hkern u1="t" u2="y" k="-58" />
    <hkern u1="t" u2="x" k="-107" />
    <hkern u1="t" u2="w" k="-77" />
    <hkern u1="t" u2="v" k="-104" />
    <hkern u1="t" u2="u" k="-118" />
    <hkern u1="t" u2="t" k="-33" />
    <hkern u1="t" u2="s" k="-85" />
    <hkern u1="t" u2="r" k="-108" />
    <hkern u1="t" u2="q" k="-115" />
    <hkern u1="t" u2="p" k="-103" />
    <hkern u1="t" u2="o" k="-81" />
    <hkern u1="t" u2="n" k="-138" />
    <hkern u1="t" u2="m" k="-173" />
    <hkern u1="t" u2="l" k="-93" />
    <hkern u1="t" u2="k" k="-122" />
    <hkern u1="t" u2="j" k="80" />
    <hkern u1="t" u2="i" k="-68" />
    <hkern u1="t" u2="h" k="-108" />
    <hkern u1="t" u2="g" k="-62" />
    <hkern u1="t" u2="f" k="27" />
    <hkern u1="t" u2="e" k="-101" />
    <hkern u1="t" u2="d" k="-90" />
    <hkern u1="t" u2="c" k="-86" />
    <hkern u1="t" u2="b" k="-117" />
    <hkern u1="t" u2="a" k="-113" />
    <hkern u1="t" u2="`" k="252" />
    <hkern u1="t" u2="&#x40;" k="-41" />
    <hkern u1="t" u2="&#x3f;" k="71" />
    <hkern u1="t" u2="&#x3b;" k="91" />
    <hkern u1="t" u2="&#x3a;" k="37" />
    <hkern u1="t" u2="&#x39;" k="-91" />
    <hkern u1="t" u2="&#x38;" k="-83" />
    <hkern u1="t" u2="&#x37;" k="-29" />
    <hkern u1="t" u2="&#x36;" k="-84" />
    <hkern u1="t" u2="&#x35;" k="-115" />
    <hkern u1="t" u2="&#x34;" k="-45" />
    <hkern u1="t" u2="&#x33;" k="-103" />
    <hkern u1="t" u2="&#x32;" k="-141" />
    <hkern u1="t" u2="&#x31;" k="-25" />
    <hkern u1="t" u2="&#x30;" k="-139" />
    <hkern u1="t" u2="&#x2f;" k="-81" />
    <hkern u1="t" u2="&#x2e;" k="53" />
    <hkern u1="t" u2="&#x2d;" k="25" />
    <hkern u1="t" u2="&#x2c;" k="45" />
    <hkern u1="t" u2="&#x29;" k="39" />
    <hkern u1="t" u2="&#x28;" k="-77" />
    <hkern u1="t" u2="&#x26;" k="54" />
    <hkern u1="t" u2="&#x25;" k="-90" />
    <hkern u1="t" u2="&#x24;" k="-97" />
    <hkern u1="t" u2="&#x23;" k="-27" />
    <hkern u1="t" g2=".notdef" k="-91" />
    <hkern u1="u" u2="&#xc1;" k="-30" />
    <hkern u1="u" u2="&#xc2;" k="-84" />
    <hkern u1="u" u2="&#x2021;" k="-175" />
    <hkern u1="u" u2="&#x203a;" k="-165" />
    <hkern u1="u" u2="&#x2019;" k="-138" />
    <hkern u1="u" u2="&#x2014;" k="-165" />
    <hkern u1="u" u2="&#x2013;" k="-181" />
    <hkern u1="u" u2="&#x153;" k="-184" />
    <hkern u1="u" u2="&#xc0;" k="229" />
    <hkern u1="u" u2="&#xa2;" k="-75" />
    <hkern u1="u" u2="&#xd1;" k="-26" />
    <hkern u1="u" u2="&#xc9;" k="-129" />
    <hkern u1="u" u2="&#x7e;" k="481" />
    <hkern u1="u" u2="z" k="-166" />
    <hkern u1="u" u2="y" k="-156" />
    <hkern u1="u" u2="x" k="-161" />
    <hkern u1="u" u2="w" k="-164" />
    <hkern u1="u" u2="v" k="-53" />
    <hkern u1="u" u2="u" k="-184" />
    <hkern u1="u" u2="s" k="-150" />
    <hkern u1="u" u2="r" k="-170" />
    <hkern u1="u" u2="q" k="-201" />
    <hkern u1="u" u2="p" k="-162" />
    <hkern u1="u" u2="o" k="-165" />
    <hkern u1="u" u2="n" k="-191" />
    <hkern u1="u" u2="m" k="-235" />
    <hkern u1="u" u2="l" k="-142" />
    <hkern u1="u" u2="k" k="-179" />
    <hkern u1="u" u2="i" k="-141" />
    <hkern u1="u" u2="h" k="-174" />
    <hkern u1="u" u2="g" k="-164" />
    <hkern u1="u" u2="f" k="-39" />
    <hkern u1="u" u2="e" k="-185" />
    <hkern u1="u" u2="d" k="-163" />
    <hkern u1="u" u2="c" k="-175" />
    <hkern u1="u" u2="b" k="-197" />
    <hkern u1="u" u2="a" k="-175" />
    <hkern u1="u" u2="`" k="377" />
    <hkern u1="u" u2="&#x40;" k="21" />
    <hkern u1="u" u2="&#x3f;" k="206" />
    <hkern u1="u" u2="&#x3b;" k="58" />
    <hkern u1="u" u2="&#x38;" k="-94" />
    <hkern u1="u" u2="&#x37;" k="-93" />
    <hkern u1="u" u2="&#x36;" k="-169" />
    <hkern u1="u" u2="&#x35;" k="-141" />
    <hkern u1="u" u2="&#x34;" k="-31" />
    <hkern u1="u" u2="&#x33;" k="-203" />
    <hkern u1="u" u2="&#x32;" k="-154" />
    <hkern u1="u" u2="&#x31;" k="-47" />
    <hkern u1="u" u2="&#x30;" k="-167" />
    <hkern u1="u" u2="&#x2f;" k="-117" />
    <hkern u1="u" u2="&#x2e;" k="-57" />
    <hkern u1="u" u2="&#x2d;" k="22" />
    <hkern u1="u" u2="&#x2c;" k="40" />
    <hkern u1="u" u2="&#x29;" k="21" />
    <hkern u1="u" u2="&#x28;" k="-130" />
    <hkern u1="u" u2="&#x26;" k="-68" />
    <hkern u1="u" u2="&#x25;" k="-118" />
    <hkern u1="u" u2="&#x23;" k="55" />
    <hkern u1="u" u2="&#x21;" k="238" />
    <hkern u1="u" g2=".notdef" k="-185" />
    <hkern u1="v" u2="&#xd0;" k="-46" />
    <hkern u1="v" u2="&#xc1;" k="190" />
    <hkern u1="v" u2="&#xc2;" k="-40" />
    <hkern u1="v" u2="&#x2021;" k="75" />
    <hkern u1="v" u2="&#x2019;" k="-73" />
    <hkern u1="v" u2="&#x2013;" k="-69" />
    <hkern u1="v" u2="&#x153;" k="-111" />
    <hkern u1="v" u2="&#xc0;" k="396" />
    <hkern u1="v" u2="&#xa2;" k="-252" />
    <hkern u1="v" u2="&#xd1;" k="-70" />
    <hkern u1="v" u2="&#xc9;" k="163" />
    <hkern u1="v" u2="&#x7e;" k="443" />
    <hkern u1="v" u2="z" k="-53" />
    <hkern u1="v" u2="y" k="-104" />
    <hkern u1="v" u2="x" k="-194" />
    <hkern u1="v" u2="w" k="-67" />
    <hkern u1="v" u2="v" k="-159" />
    <hkern u1="v" u2="u" k="-111" />
    <hkern u1="v" u2="s" k="-56" />
    <hkern u1="v" u2="r" k="-205" />
    <hkern u1="v" u2="q" k="33" />
    <hkern u1="v" u2="p" k="-154" />
    <hkern u1="v" u2="n" k="-76" />
    <hkern u1="v" u2="m" k="-209" />
    <hkern u1="v" u2="l" k="-183" />
    <hkern u1="v" u2="k" k="-204" />
    <hkern u1="v" u2="j" k="-48" />
    <hkern u1="v" u2="i" k="-77" />
    <hkern u1="v" u2="h" k="-170" />
    <hkern u1="v" u2="g" k="46" />
    <hkern u1="v" u2="f" k="-59" />
    <hkern u1="v" u2="d" k="88" />
    <hkern u1="v" u2="b" k="-188" />
    <hkern u1="v" u2="a" k="75" />
    <hkern u1="v" u2="`" k="339" />
    <hkern u1="v" u2="&#x40;" k="-98" />
    <hkern u1="v" u2="&#x3f;" k="229" />
    <hkern u1="v" u2="&#x3b;" k="206" />
    <hkern u1="v" u2="&#x3a;" k="128" />
    <hkern u1="v" u2="&#x39;" k="-166" />
    <hkern u1="v" u2="&#x38;" k="-241" />
    <hkern u1="v" u2="&#x37;" k="98" />
    <hkern u1="v" u2="&#x36;" k="-133" />
    <hkern u1="v" u2="&#x35;" k="-99" />
    <hkern u1="v" u2="&#x34;" k="-88" />
    <hkern u1="v" u2="&#x33;" k="43" />
    <hkern u1="v" u2="&#x32;" k="90" />
    <hkern u1="v" u2="&#x31;" k="-51" />
    <hkern u1="v" u2="&#x30;" k="-216" />
    <hkern u1="v" u2="&#x2f;" k="130" />
    <hkern u1="v" u2="&#x2e;" k="237" />
    <hkern u1="v" u2="&#x2c;" k="296" />
    <hkern u1="v" u2="&#x29;" k="138" />
    <hkern u1="v" u2="&#x28;" k="-148" />
    <hkern u1="v" u2="&#x25;" k="130" />
    <hkern u1="v" u2="&#x24;" k="-96" />
    <hkern u1="v" u2="&#x21;" k="-90" />
    <hkern u1="w" u2="&#xd0;" k="-95" />
    <hkern u1="w" u2="&#xc1;" k="153" />
    <hkern u1="w" u2="&#xc2;" k="46" />
    <hkern u1="w" u2="&#x2021;" k="28" />
    <hkern u1="w" u2="&#x203a;" k="-24" />
    <hkern u1="w" u2="&#x2019;" k="-42" />
    <hkern u1="w" u2="&#x2014;" k="-21" />
    <hkern u1="w" u2="&#x2013;" k="-42" />
    <hkern u1="w" u2="&#x153;" k="-31" />
    <hkern u1="w" u2="&#xc0;" k="359" />
    <hkern u1="w" u2="&#xa2;" k="-142" />
    <hkern u1="w" u2="&#xd1;" k="-120" />
    <hkern u1="w" u2="&#xc9;" k="157" />
    <hkern u1="w" u2="&#x7e;" k="36" />
    <hkern u1="w" u2="y" k="-26" />
    <hkern u1="w" u2="x" k="-57" />
    <hkern u1="w" u2="w" k="-40" />
    <hkern u1="w" u2="v" k="-95" />
    <hkern u1="w" u2="u" k="-43" />
    <hkern u1="w" u2="t" k="-42" />
    <hkern u1="w" u2="s" k="-74" />
    <hkern u1="w" u2="r" k="-73" />
    <hkern u1="w" u2="p" k="-46" />
    <hkern u1="w" u2="o" k="-27" />
    <hkern u1="w" u2="n" k="-49" />
    <hkern u1="w" u2="m" k="-129" />
    <hkern u1="w" u2="l" k="-67" />
    <hkern u1="w" u2="k" k="-97" />
    <hkern u1="w" u2="j" k="74" />
    <hkern u1="w" u2="i" k="-47" />
    <hkern u1="w" u2="h" k="-65" />
    <hkern u1="w" u2="f" k="-71" />
    <hkern u1="w" u2="e" k="-32" />
    <hkern u1="w" u2="d" k="42" />
    <hkern u1="w" u2="c" k="-30" />
    <hkern u1="w" u2="b" k="-94" />
    <hkern u1="w" u2="a" k="24" />
    <hkern u1="w" u2="`" k="477" />
    <hkern u1="w" u2="&#x40;" k="-31" />
    <hkern u1="w" u2="&#x3b;" k="206" />
    <hkern u1="w" u2="&#x3a;" k="116" />
    <hkern u1="w" u2="&#x39;" k="-63" />
    <hkern u1="w" u2="&#x38;" k="-112" />
    <hkern u1="w" u2="&#x37;" k="95" />
    <hkern u1="w" u2="&#x36;" k="-61" />
    <hkern u1="w" u2="&#x35;" k="-72" />
    <hkern u1="w" u2="&#x34;" k="-56" />
    <hkern u1="w" u2="&#x32;" k="-74" />
    <hkern u1="w" u2="&#x31;" k="49" />
    <hkern u1="w" u2="&#x30;" k="-114" />
    <hkern u1="w" u2="&#x2f;" k="105" />
    <hkern u1="w" u2="&#x2e;" k="230" />
    <hkern u1="w" u2="&#x2d;" k="-71" />
    <hkern u1="w" u2="&#x2c;" k="297" />
    <hkern u1="w" u2="&#x29;" k="230" />
    <hkern u1="w" u2="&#x28;" k="-53" />
    <hkern u1="w" u2="&#x26;" k="57" />
    <hkern u1="w" u2="&#x25;" k="101" />
    <hkern u1="w" u2="&#x24;" k="-94" />
    <hkern u1="w" u2="&#x21;" k="24" />
    <hkern u1="w" g2=".notdef" k="-29" />
    <hkern u1="x" u2="&#xd0;" k="277" />
    <hkern u1="x" u2="&#xc1;" k="72" />
    <hkern u1="x" u2="&#x2021;" k="-70" />
    <hkern u1="x" u2="&#x203a;" k="-86" />
    <hkern u1="x" u2="&#x2019;" k="-62" />
    <hkern u1="x" u2="&#x2014;" k="-81" />
    <hkern u1="x" u2="&#x2013;" k="-100" />
    <hkern u1="x" u2="&#x153;" k="-95" />
    <hkern u1="x" u2="&#xc0;" k="310" />
    <hkern u1="x" u2="&#xd1;" k="253" />
    <hkern u1="x" u2="&#x7e;" k="133" />
    <hkern u1="x" u2="z" k="-61" />
    <hkern u1="x" u2="y" k="-69" />
    <hkern u1="x" u2="x" k="-63" />
    <hkern u1="x" u2="w" k="-75" />
    <hkern u1="x" u2="v" k="54" />
    <hkern u1="x" u2="u" k="-106" />
    <hkern u1="x" u2="t" k="84" />
    <hkern u1="x" u2="s" k="-55" />
    <hkern u1="x" u2="r" k="-87" />
    <hkern u1="x" u2="q" k="-107" />
    <hkern u1="x" u2="p" k="-78" />
    <hkern u1="x" u2="o" k="-87" />
    <hkern u1="x" u2="n" k="-105" />
    <hkern u1="x" u2="m" k="-156" />
    <hkern u1="x" u2="l" k="-72" />
    <hkern u1="x" u2="k" k="-102" />
    <hkern u1="x" u2="j" k="97" />
    <hkern u1="x" u2="i" k="-65" />
    <hkern u1="x" u2="h" k="-96" />
    <hkern u1="x" u2="g" k="-73" />
    <hkern u1="x" u2="f" k="36" />
    <hkern u1="x" u2="e" k="-105" />
    <hkern u1="x" u2="d" k="-56" />
    <hkern u1="x" u2="c" k="-98" />
    <hkern u1="x" u2="b" k="-121" />
    <hkern u1="x" u2="a" k="-78" />
    <hkern u1="x" u2="`" k="239" />
    <hkern u1="x" u2="&#x40;" k="63" />
    <hkern u1="x" u2="&#x3f;" k="55" />
    <hkern u1="x" u2="&#x3b;" k="162" />
    <hkern u1="x" u2="&#x3a;" k="133" />
    <hkern u1="x" u2="&#x39;" k="104" />
    <hkern u1="x" u2="&#x36;" k="-90" />
    <hkern u1="x" u2="&#x34;" k="100" />
    <hkern u1="x" u2="&#x33;" k="-113" />
    <hkern u1="x" u2="&#x32;" k="-53" />
    <hkern u1="x" u2="&#x31;" k="26" />
    <hkern u1="x" u2="&#x30;" k="-97" />
    <hkern u1="x" u2="&#x2e;" k="57" />
    <hkern u1="x" u2="&#x2d;" k="296" />
    <hkern u1="x" u2="&#x2c;" k="143" />
    <hkern u1="x" u2="&#x29;" k="121" />
    <hkern u1="x" u2="&#x28;" k="-55" />
    <hkern u1="x" u2="&#x23;" k="84" />
    <hkern u1="x" u2="&#x21;" k="93" />
    <hkern u1="x" g2=".notdef" k="-102" />
    <hkern u1="y" u2="&#xd0;" k="-67" />
    <hkern u1="y" u2="&#xc1;" k="39" />
    <hkern u1="y" u2="&#x2021;" k="-84" />
    <hkern u1="y" u2="&#x203a;" k="-76" />
    <hkern u1="y" u2="&#x2019;" k="-60" />
    <hkern u1="y" u2="&#x2014;" k="-73" />
    <hkern u1="y" u2="&#x2013;" k="-97" />
    <hkern u1="y" u2="&#x153;" k="-87" />
    <hkern u1="y" u2="&#xc0;" k="46" />
    <hkern u1="y" u2="&#xa2;" k="-91" />
    <hkern u1="y" u2="&#xd1;" k="-90" />
    <hkern u1="y" u2="&#xc9;" k="-34" />
    <hkern u1="y" u2="&#x7e;" k="92" />
    <hkern u1="y" u2="z" k="-92" />
    <hkern u1="y" u2="y" k="-162" />
    <hkern u1="y" u2="x" k="-86" />
    <hkern u1="y" u2="w" k="-66" />
    <hkern u1="y" u2="v" k="-73" />
    <hkern u1="y" u2="u" k="-103" />
    <hkern u1="y" u2="t" k="-42" />
    <hkern u1="y" u2="s" k="-87" />
    <hkern u1="y" u2="r" k="-83" />
    <hkern u1="y" u2="q" k="-83" />
    <hkern u1="y" u2="p" k="-71" />
    <hkern u1="y" u2="o" k="-82" />
    <hkern u1="y" u2="n" k="-112" />
    <hkern u1="y" u2="m" k="-155" />
    <hkern u1="y" u2="l" k="-71" />
    <hkern u1="y" u2="k" k="-103" />
    <hkern u1="y" u2="j" k="-390" />
    <hkern u1="y" u2="i" k="-65" />
    <hkern u1="y" u2="h" k="-91" />
    <hkern u1="y" u2="g" k="-63" />
    <hkern u1="y" u2="f" k="-96" />
    <hkern u1="y" u2="e" k="-99" />
    <hkern u1="y" u2="d" k="-74" />
    <hkern u1="y" u2="c" k="-93" />
    <hkern u1="y" u2="b" k="-117" />
    <hkern u1="y" u2="a" k="-90" />
    <hkern u1="y" u2="`" k="496" />
    <hkern u1="y" u2="&#x3f;" k="22" />
    <hkern u1="y" u2="&#x3b;" k="49" />
    <hkern u1="y" u2="&#x3a;" k="55" />
    <hkern u1="y" u2="&#x39;" k="-55" />
    <hkern u1="y" u2="&#x38;" k="-82" />
    <hkern u1="y" u2="&#x36;" k="-88" />
    <hkern u1="y" u2="&#x35;" k="-89" />
    <hkern u1="y" u2="&#x34;" k="-93" />
    <hkern u1="y" u2="&#x33;" k="-118" />
    <hkern u1="y" u2="&#x32;" k="-113" />
    <hkern u1="y" u2="&#x31;" k="-74" />
    <hkern u1="y" u2="&#x30;" k="-119" />
    <hkern u1="y" u2="&#x2f;" k="-86" />
    <hkern u1="y" u2="&#x2e;" k="39" />
    <hkern u1="y" u2="&#x2d;" k="-44" />
    <hkern u1="y" u2="&#x2c;" k="25" />
    <hkern u1="y" u2="&#x28;" k="-59" />
    <hkern u1="y" u2="&#x25;" k="-89" />
    <hkern u1="y" u2="&#x24;" k="-52" />
    <hkern u1="y" u2="&#x21;" k="27" />
    <hkern u1="y" g2=".notdef" k="-94" />
    <hkern u1="z" u2="&#xd0;" k="47" />
    <hkern u1="z" u2="&#xc1;" k="46" />
    <hkern u1="z" u2="&#x2021;" k="-93" />
    <hkern u1="z" u2="&#x203a;" k="-60" />
    <hkern u1="z" u2="&#x2019;" k="-30" />
    <hkern u1="z" u2="&#x2014;" k="-60" />
    <hkern u1="z" u2="&#x2013;" k="-105" />
    <hkern u1="z" u2="&#x153;" k="-93" />
    <hkern u1="z" u2="&#xc0;" k="364" />
    <hkern u1="z" u2="&#xa2;" k="-81" />
    <hkern u1="z" u2="&#xd1;" k="21" />
    <hkern u1="z" u2="&#xc9;" k="-53" />
    <hkern u1="z" u2="&#x7e;" k="566" />
    <hkern u1="z" u2="z" k="-88" />
    <hkern u1="z" u2="y" k="-47" />
    <hkern u1="z" u2="x" k="-84" />
    <hkern u1="z" u2="w" k="-72" />
    <hkern u1="z" u2="v" k="-67" />
    <hkern u1="z" u2="u" k="-93" />
    <hkern u1="z" u2="t" k="79" />
    <hkern u1="z" u2="s" k="-61" />
    <hkern u1="z" u2="r" k="-85" />
    <hkern u1="z" u2="q" k="-101" />
    <hkern u1="z" u2="p" k="-77" />
    <hkern u1="z" u2="o" k="-60" />
    <hkern u1="z" u2="n" k="-109" />
    <hkern u1="z" u2="m" k="-144" />
    <hkern u1="z" u2="l" k="-30" />
    <hkern u1="z" u2="k" k="-69" />
    <hkern u1="z" u2="j" k="97" />
    <hkern u1="z" u2="i" k="-32" />
    <hkern u1="z" u2="h" k="-83" />
    <hkern u1="z" u2="g" k="-56" />
    <hkern u1="z" u2="f" k="51" />
    <hkern u1="z" u2="e" k="-81" />
    <hkern u1="z" u2="d" k="-88" />
    <hkern u1="z" u2="c" k="-66" />
    <hkern u1="z" u2="b" k="-77" />
    <hkern u1="z" u2="a" k="-93" />
    <hkern u1="z" u2="`" k="462" />
    <hkern u1="z" u2="&#x40;" k="31" />
    <hkern u1="z" u2="&#x3f;" k="165" />
    <hkern u1="z" u2="&#x3b;" k="121" />
    <hkern u1="z" u2="&#x3a;" k="66" />
    <hkern u1="z" u2="&#x38;" k="-72" />
    <hkern u1="z" u2="&#x36;" k="-64" />
    <hkern u1="z" u2="&#x35;" k="-83" />
    <hkern u1="z" u2="&#x34;" k="49" />
    <hkern u1="z" u2="&#x33;" k="-93" />
    <hkern u1="z" u2="&#x32;" k="-113" />
    <hkern u1="z" u2="&#x31;" k="37" />
    <hkern u1="z" u2="&#x30;" k="-67" />
    <hkern u1="z" u2="&#x2f;" k="-75" />
    <hkern u1="z" u2="&#x2d;" k="77" />
    <hkern u1="z" u2="&#x2c;" k="70" />
    <hkern u1="z" u2="&#x29;" k="59" />
    <hkern u1="z" u2="&#x26;" k="62" />
    <hkern u1="z" u2="&#x25;" k="-75" />
    <hkern u1="z" u2="&#x24;" k="-24" />
    <hkern u1="z" u2="&#x23;" k="82" />
    <hkern u1="z" u2="&#x21;" k="66" />
    <hkern u1="z" g2=".notdef" k="-81" />
    <hkern u1="&#x7e;" u2="&#xd0;" k="488" />
    <hkern u1="&#x7e;" u2="&#xc1;" k="372" />
    <hkern u1="&#x7e;" u2="&#xc2;" k="294" />
    <hkern u1="&#x7e;" u2="&#x2021;" k="507" />
    <hkern u1="&#x7e;" u2="&#x203a;" k="122" />
    <hkern u1="&#x7e;" u2="&#x2019;" k="64" />
    <hkern u1="&#x7e;" u2="&#x2014;" k="251" />
    <hkern u1="&#x7e;" u2="&#x2013;" k="57" />
    <hkern u1="&#x7e;" u2="&#x153;" k="270" />
    <hkern u1="&#x7e;" u2="&#xc0;" k="364" />
    <hkern u1="&#x7e;" u2="&#xa2;" k="-106" />
    <hkern u1="&#x7e;" u2="&#xd1;" k="443" />
    <hkern u1="&#x7e;" u2="&#xc9;" k="538" />
    <hkern u1="&#x7e;" u2="&#x7e;" k="57" />
    <hkern u1="&#x7e;" u2="z" k="438" />
    <hkern u1="&#x7e;" u2="y" k="113" />
    <hkern u1="&#x7e;" u2="x" k="-36" />
    <hkern u1="&#x7e;" u2="w" k="557" />
    <hkern u1="&#x7e;" u2="v" k="429" />
    <hkern u1="&#x7e;" u2="u" k="459" />
    <hkern u1="&#x7e;" u2="t" k="130" />
    <hkern u1="&#x7e;" u2="s" k="249" />
    <hkern u1="&#x7e;" u2="r" k="213" />
    <hkern u1="&#x7e;" u2="q" k="449" />
    <hkern u1="&#x7e;" u2="p" k="88" />
    <hkern u1="&#x7e;" u2="o" k="477" />
    <hkern u1="&#x7e;" u2="n" k="444" />
    <hkern u1="&#x7e;" u2="m" k="417" />
    <hkern u1="&#x7e;" u2="l" k="-58" />
    <hkern u1="&#x7e;" u2="k" k="-66" />
    <hkern u1="&#x7e;" u2="j" k="62" />
    <hkern u1="&#x7e;" u2="i" k="328" />
    <hkern u1="&#x7e;" u2="h" k="-24" />
    <hkern u1="&#x7e;" u2="g" k="446" />
    <hkern u1="&#x7e;" u2="f" k="88" />
    <hkern u1="&#x7e;" u2="e" k="458" />
    <hkern u1="&#x7e;" u2="d" k="518" />
    <hkern u1="&#x7e;" u2="c" k="462" />
    <hkern u1="&#x7e;" u2="b" k="-30" />
    <hkern u1="&#x7e;" u2="a" k="478" />
    <hkern u1="&#x7e;" u2="`" k="236" />
    <hkern u1="&#x7e;" u2="Z" k="492" />
    <hkern u1="&#x7e;" u2="Y" k="176" />
    <hkern u1="&#x7e;" u2="X" k="89" />
    <hkern u1="&#x7e;" u2="W" k="-164" />
    <hkern u1="&#x7e;" u2="V" k="-153" />
    <hkern u1="&#x7e;" u2="U" k="145" />
    <hkern u1="&#x7e;" u2="T" k="402" />
    <hkern u1="&#x7e;" u2="S" k="-67" />
    <hkern u1="&#x7e;" u2="R" k="135" />
    <hkern u1="&#x7e;" u2="Q" k="-34" />
    <hkern u1="&#x7e;" u2="P" k="43" />
    <hkern u1="&#x7e;" u2="O" k="-34" />
    <hkern u1="&#x7e;" u2="N" k="-168" />
    <hkern u1="&#x7e;" u2="M" k="-183" />
    <hkern u1="&#x7e;" u2="L" k="72" />
    <hkern u1="&#x7e;" u2="K" k="-129" />
    <hkern u1="&#x7e;" u2="J" k="138" />
    <hkern u1="&#x7e;" u2="I" k="158" />
    <hkern u1="&#x7e;" u2="H" k="77" />
    <hkern u1="&#x7e;" u2="F" k="-117" />
    <hkern u1="&#x7e;" u2="E" k="-141" />
    <hkern u1="&#x7e;" u2="D" k="-172" />
    <hkern u1="&#x7e;" u2="C" k="40" />
    <hkern u1="&#x7e;" u2="B" k="-167" />
    <hkern u1="&#x7e;" u2="A" k="434" />
    <hkern u1="&#x7e;" u2="&#x40;" k="140" />
    <hkern u1="&#x7e;" u2="&#x3f;" k="-82" />
    <hkern u1="&#x7e;" u2="&#x3b;" k="442" />
    <hkern u1="&#x7e;" u2="&#x3a;" k="353" />
    <hkern u1="&#x7e;" u2="&#x39;" k="-24" />
    <hkern u1="&#x7e;" u2="&#x38;" k="-106" />
    <hkern u1="&#x7e;" u2="&#x37;" k="478" />
    <hkern u1="&#x7e;" u2="&#x36;" k="77" />
    <hkern u1="&#x7e;" u2="&#x35;" k="31" />
    <hkern u1="&#x7e;" u2="&#x34;" k="50" />
    <hkern u1="&#x7e;" u2="&#x33;" k="443" />
    <hkern u1="&#x7e;" u2="&#x32;" k="-150" />
    <hkern u1="&#x7e;" u2="&#x31;" k="98" />
    <hkern u1="&#x7e;" u2="&#x30;" k="-53" />
    <hkern u1="&#x7e;" u2="&#x2f;" k="466" />
    <hkern u1="&#x7e;" u2="&#x2e;" k="294" />
    <hkern u1="&#x7e;" u2="&#x2d;" k="511" />
    <hkern u1="&#x7e;" u2="&#x2c;" k="363" />
    <hkern u1="&#x7e;" u2="&#x29;" k="262" />
    <hkern u1="&#x7e;" u2="&#x28;" k="28" />
    <hkern u1="&#x7e;" u2="&#x26;" k="139" />
    <hkern u1="&#x7e;" u2="&#x25;" k="422" />
    <hkern u1="&#x7e;" u2="&#x24;" k="-114" />
    <hkern u1="&#x7e;" u2="&#x23;" k="-24" />
    <hkern u1="&#x7e;" u2="&#x21;" k="35" />
    <hkern u1="&#x7e;" g2=".notdef" k="247" />
    <hkern u1="&#xc9;" u2="&#xd0;" k="805" />
    <hkern u1="&#xc9;" u2="&#x2021;" k="-135" />
    <hkern u1="&#xc9;" u2="&#x203a;" k="-100" />
    <hkern u1="&#xc9;" u2="&#x2019;" k="-66" />
    <hkern u1="&#xc9;" u2="&#x2014;" k="-100" />
    <hkern u1="&#xc9;" u2="&#x2013;" k="-131" />
    <hkern u1="&#xc9;" u2="&#x153;" k="-122" />
    <hkern u1="&#xc9;" u2="&#xc0;" k="287" />
    <hkern u1="&#xc9;" u2="&#xa2;" k="594" />
    <hkern u1="&#xc9;" u2="&#xd1;" k="965" />
    <hkern u1="&#xc9;" u2="&#xc9;" k="-41" />
    <hkern u1="&#xc9;" u2="&#x7e;" k="594" />
    <hkern u1="&#xc9;" u2="z" k="-138" />
    <hkern u1="&#xc9;" u2="y" k="-93" />
    <hkern u1="&#xc9;" u2="x" k="-111" />
    <hkern u1="&#xc9;" u2="w" k="-105" />
    <hkern u1="&#xc9;" u2="v" k="73" />
    <hkern u1="&#xc9;" u2="u" k="-122" />
    <hkern u1="&#xc9;" u2="t" k="102" />
    <hkern u1="&#xc9;" u2="s" k="-98" />
    <hkern u1="&#xc9;" u2="r" k="-99" />
    <hkern u1="&#xc9;" u2="q" k="-157" />
    <hkern u1="&#xc9;" u2="p" k="-94" />
    <hkern u1="&#xc9;" u2="o" k="-100" />
    <hkern u1="&#xc9;" u2="n" k="-131" />
    <hkern u1="&#xc9;" u2="m" k="-165" />
    <hkern u1="&#xc9;" u2="l" k="-61" />
    <hkern u1="&#xc9;" u2="k" k="-100" />
    <hkern u1="&#xc9;" u2="j" k="91" />
    <hkern u1="&#xc9;" u2="i" k="-66" />
    <hkern u1="&#xc9;" u2="h" k="-103" />
    <hkern u1="&#xc9;" u2="g" k="-115" />
    <hkern u1="&#xc9;" u2="f" k="40" />
    <hkern u1="&#xc9;" u2="e" k="-125" />
    <hkern u1="&#xc9;" u2="d" k="-125" />
    <hkern u1="&#xc9;" u2="c" k="-110" />
    <hkern u1="&#xc9;" u2="b" k="-116" />
    <hkern u1="&#xc9;" u2="a" k="-135" />
    <hkern u1="&#xc9;" u2="`" k="491" />
    <hkern u1="&#xc9;" u2="Z" k="-167" />
    <hkern u1="&#xc9;" u2="X" k="-155" />
    <hkern u1="&#xc9;" u2="W" k="193" />
    <hkern u1="&#xc9;" u2="V" k="344" />
    <hkern u1="&#xc9;" u2="U" k="-58" />
    <hkern u1="&#xc9;" u2="T" k="290" />
    <hkern u1="&#xc9;" u2="S" k="-45" />
    <hkern u1="&#xc9;" u2="R" k="81" />
    <hkern u1="&#xc9;" u2="Q" k="-104" />
    <hkern u1="&#xc9;" u2="P" k="44" />
    <hkern u1="&#xc9;" u2="O" k="-105" />
    <hkern u1="&#xc9;" u2="N" k="113" />
    <hkern u1="&#xc9;" u2="M" k="94" />
    <hkern u1="&#xc9;" u2="K" k="-138" />
    <hkern u1="&#xc9;" u2="J" k="211" />
    <hkern u1="&#xc9;" u2="I" k="53" />
    <hkern u1="&#xc9;" u2="G" k="-108" />
    <hkern u1="&#xc9;" u2="D" k="39" />
    <hkern u1="&#xc9;" u2="C" k="-132" />
    <hkern u1="&#xc9;" u2="B" k="-112" />
    <hkern u1="&#xc9;" u2="A" k="-90" />
    <hkern u1="&#xc9;" u2="&#x40;" k="146" />
    <hkern u1="&#xc9;" u2="&#x3f;" k="864" />
    <hkern u1="&#xc9;" u2="&#x3b;" k="105" />
    <hkern u1="&#xc9;" u2="&#x3a;" k="34" />
    <hkern u1="&#xc9;" u2="&#x39;" k="317" />
    <hkern u1="&#xc9;" u2="&#x38;" k="-30" />
    <hkern u1="&#xc9;" u2="&#x37;" k="-45" />
    <hkern u1="&#xc9;" u2="&#x36;" k="-95" />
    <hkern u1="&#xc9;" u2="&#x35;" k="-112" />
    <hkern u1="&#xc9;" u2="&#x34;" k="454" />
    <hkern u1="&#xc9;" u2="&#x33;" k="-230" />
    <hkern u1="&#xc9;" u2="&#x32;" k="-161" />
    <hkern u1="&#xc9;" u2="&#x31;" k="32" />
    <hkern u1="&#xc9;" u2="&#x30;" k="-81" />
    <hkern u1="&#xc9;" u2="&#x2f;" k="-95" />
    <hkern u1="&#xc9;" u2="&#x2e;" k="32" />
    <hkern u1="&#xc9;" u2="&#x2d;" k="644" />
    <hkern u1="&#xc9;" u2="&#x2c;" k="97" />
    <hkern u1="&#xc9;" u2="&#x29;" k="59" />
    <hkern u1="&#xc9;" u2="&#x28;" k="-50" />
    <hkern u1="&#xc9;" u2="&#x25;" k="-95" />
    <hkern u1="&#xc9;" u2="&#x24;" k="537" />
    <hkern u1="&#xc9;" u2="&#x23;" k="133" />
    <hkern u1="&#xc9;" u2="&#x21;" k="335" />
    <hkern u1="&#xc9;" g2=".notdef" k="-125" />
    <hkern u1="&#xd1;" u2="&#xd0;" k="-47" />
    <hkern u1="&#xd1;" u2="&#xc1;" k="1226" />
    <hkern u1="&#xd1;" u2="&#xc2;" k="66" />
    <hkern u1="&#xd1;" u2="&#x2021;" k="110" />
    <hkern u1="&#xd1;" u2="&#x2019;" k="-36" />
    <hkern u1="&#xd1;" u2="&#x2013;" k="-31" />
    <hkern u1="&#xd1;" u2="&#x153;" k="-26" />
    <hkern u1="&#xd1;" u2="&#xc0;" k="1017" />
    <hkern u1="&#xd1;" u2="&#xa2;" k="-53" />
    <hkern u1="&#xd1;" u2="&#xd1;" k="-71" />
    <hkern u1="&#xd1;" u2="&#xc9;" k="1051" />
    <hkern u1="&#xd1;" u2="&#x7e;" k="584" />
    <hkern u1="&#xd1;" u2="z" k="270" />
    <hkern u1="&#xd1;" u2="x" k="113" />
    <hkern u1="&#xd1;" u2="w" k="-47" />
    <hkern u1="&#xd1;" u2="v" k="-44" />
    <hkern u1="&#xd1;" u2="u" k="-26" />
    <hkern u1="&#xd1;" u2="t" k="-49" />
    <hkern u1="&#xd1;" u2="s" k="-80" />
    <hkern u1="&#xd1;" u2="r" k="-46" />
    <hkern u1="&#xd1;" u2="q" k="53" />
    <hkern u1="&#xd1;" u2="p" k="-25" />
    <hkern u1="&#xd1;" u2="n" k="-31" />
    <hkern u1="&#xd1;" u2="m" k="-111" />
    <hkern u1="&#xd1;" u2="l" k="-45" />
    <hkern u1="&#xd1;" u2="k" k="-78" />
    <hkern u1="&#xd1;" u2="j" k="114" />
    <hkern u1="&#xd1;" u2="i" k="-36" />
    <hkern u1="&#xd1;" u2="h" k="-44" />
    <hkern u1="&#xd1;" u2="g" k="44" />
    <hkern u1="&#xd1;" u2="f" k="30" />
    <hkern u1="&#xd1;" u2="d" k="110" />
    <hkern u1="&#xd1;" u2="b" k="-78" />
    <hkern u1="&#xd1;" u2="a" k="110" />
    <hkern u1="&#xd1;" u2="`" k="481" />
    <hkern u1="&#xd1;" u2="Z" k="226" />
    <hkern u1="&#xd1;" u2="Y" k="93" />
    <hkern u1="&#xd1;" u2="X" k="116" />
    <hkern u1="&#xd1;" u2="W" k="240" />
    <hkern u1="&#xd1;" u2="V" k="306" />
    <hkern u1="&#xd1;" u2="U" k="63" />
    <hkern u1="&#xd1;" u2="T" k="299" />
    <hkern u1="&#xd1;" u2="R" k="119" />
    <hkern u1="&#xd1;" u2="Q" k="-101" />
    <hkern u1="&#xd1;" u2="P" k="59" />
    <hkern u1="&#xd1;" u2="O" k="-100" />
    <hkern u1="&#xd1;" u2="N" k="177" />
    <hkern u1="&#xd1;" u2="M" k="168" />
    <hkern u1="&#xd1;" u2="L" k="119" />
    <hkern u1="&#xd1;" u2="K" k="-123" />
    <hkern u1="&#xd1;" u2="J" k="312" />
    <hkern u1="&#xd1;" u2="I" k="168" />
    <hkern u1="&#xd1;" u2="H" k="-36" />
    <hkern u1="&#xd1;" u2="G" k="-98" />
    <hkern u1="&#xd1;" u2="F" k="-71" />
    <hkern u1="&#xd1;" u2="E" k="-34" />
    <hkern u1="&#xd1;" u2="D" k="48" />
    <hkern u1="&#xd1;" u2="C" k="-92" />
    <hkern u1="&#xd1;" u2="A" k="140" />
    <hkern u1="&#xd1;" u2="&#x3f;" k="215" />
    <hkern u1="&#xd1;" u2="&#x3b;" k="245" />
    <hkern u1="&#xd1;" u2="&#x3a;" k="139" />
    <hkern u1="&#xd1;" u2="&#x39;" k="-67" />
    <hkern u1="&#xd1;" u2="&#x38;" k="137" />
    <hkern u1="&#xd1;" u2="&#x37;" k="147" />
    <hkern u1="&#xd1;" u2="&#x36;" k="-44" />
    <hkern u1="&#xd1;" u2="&#x35;" k="-107" />
    <hkern u1="&#xd1;" u2="&#x34;" k="-53" />
    <hkern u1="&#xd1;" u2="&#x33;" k="163" />
    <hkern u1="&#xd1;" u2="&#x32;" k="348" />
    <hkern u1="&#xd1;" u2="&#x31;" k="70" />
    <hkern u1="&#xd1;" u2="&#x30;" k="-99" />
    <hkern u1="&#xd1;" u2="&#x2f;" k="211" />
    <hkern u1="&#xd1;" u2="&#x2e;" k="286" />
    <hkern u1="&#xd1;" u2="&#x2d;" k="-24" />
    <hkern u1="&#xd1;" u2="&#x2c;" k="355" />
    <hkern u1="&#xd1;" u2="&#x29;" k="270" />
    <hkern u1="&#xd1;" u2="&#x28;" k="-35" />
    <hkern u1="&#xd1;" u2="&#x26;" k="137" />
    <hkern u1="&#xd1;" u2="&#x25;" k="212" />
    <hkern u1="&#xd1;" u2="&#x24;" k="-53" />
    <hkern u1="&#xd1;" u2="&#x23;" k="58" />
    <hkern u1="&#xd1;" u2="&#x21;" k="40" />
    <hkern u1="&#xa2;" u2="&#xd0;" k="212" />
    <hkern u1="&#xa2;" u2="&#xc1;" k="481" />
    <hkern u1="&#xa2;" u2="&#xc2;" k="187" />
    <hkern u1="&#xa2;" u2="&#x2021;" k="342" />
    <hkern u1="&#xa2;" u2="&#x203a;" k="200" />
    <hkern u1="&#xa2;" u2="&#x2019;" k="133" />
    <hkern u1="&#xa2;" u2="&#x2014;" k="218" />
    <hkern u1="&#xa2;" u2="&#x2013;" k="119" />
    <hkern u1="&#xa2;" u2="&#x153;" k="159" />
    <hkern u1="&#xa2;" u2="&#xc0;" k="667" />
    <hkern u1="&#xa2;" u2="&#xa2;" k="-24" />
    <hkern u1="&#xa2;" u2="&#xd1;" k="186" />
    <hkern u1="&#xa2;" u2="&#xc9;" k="761" />
    <hkern u1="&#xa2;" u2="&#x7e;" k="124" />
    <hkern u1="&#xa2;" u2="z" k="152" />
    <hkern u1="&#xa2;" u2="y" k="114" />
    <hkern u1="&#xa2;" u2="w" k="149" />
    <hkern u1="&#xa2;" u2="v" k="20" />
    <hkern u1="&#xa2;" u2="u" k="119" />
    <hkern u1="&#xa2;" u2="t" k="199" />
    <hkern u1="&#xa2;" u2="s" k="159" />
    <hkern u1="&#xa2;" u2="q" k="259" />
    <hkern u1="&#xa2;" u2="p" k="60" />
    <hkern u1="&#xa2;" u2="o" k="185" />
    <hkern u1="&#xa2;" u2="n" k="117" />
    <hkern u1="&#xa2;" u2="l" k="26" />
    <hkern u1="&#xa2;" u2="j" k="272" />
    <hkern u1="&#xa2;" u2="i" k="123" />
    <hkern u1="&#xa2;" u2="h" k="50" />
    <hkern u1="&#xa2;" u2="g" k="269" />
    <hkern u1="&#xa2;" u2="f" k="160" />
    <hkern u1="&#xa2;" u2="e" k="225" />
    <hkern u1="&#xa2;" u2="d" k="360" />
    <hkern u1="&#xa2;" u2="c" k="214" />
    <hkern u1="&#xa2;" u2="b" k="34" />
    <hkern u1="&#xa2;" u2="a" k="308" />
    <hkern u1="&#xa2;" u2="`" k="325" />
    <hkern u1="&#xa2;" u2="Z" k="340" />
    <hkern u1="&#xa2;" u2="Y" k="83" />
    <hkern u1="&#xa2;" u2="W" k="-22" />
    <hkern u1="&#xa2;" u2="V" k="204" />
    <hkern u1="&#xa2;" u2="U" k="157" />
    <hkern u1="&#xa2;" u2="T" k="177" />
    <hkern u1="&#xa2;" u2="R" k="159" />
    <hkern u1="&#xa2;" u2="Q" k="30" />
    <hkern u1="&#xa2;" u2="P" k="124" />
    <hkern u1="&#xa2;" u2="O" k="32" />
    <hkern u1="&#xa2;" u2="N" k="-27" />
    <hkern u1="&#xa2;" u2="M" k="193" />
    <hkern u1="&#xa2;" u2="L" k="171" />
    <hkern u1="&#xa2;" u2="K" k="-46" />
    <hkern u1="&#xa2;" u2="J" k="69" />
    <hkern u1="&#xa2;" u2="I" k="44" />
    <hkern u1="&#xa2;" u2="H" k="113" />
    <hkern u1="&#xa2;" u2="G" k="42" />
    <hkern u1="&#xa2;" u2="F" k="110" />
    <hkern u1="&#xa2;" u2="E" k="143" />
    <hkern u1="&#xa2;" u2="D" k="123" />
    <hkern u1="&#xa2;" u2="C" k="75" />
    <hkern u1="&#xa2;" u2="B" k="-71" />
    <hkern u1="&#xa2;" u2="A" k="270" />
    <hkern u1="&#xa2;" u2="&#x40;" k="130" />
    <hkern u1="&#xa2;" u2="&#x3f;" k="240" />
    <hkern u1="&#xa2;" u2="&#x3b;" k="417" />
    <hkern u1="&#xa2;" u2="&#x3a;" k="343" />
    <hkern u1="&#xa2;" u2="&#x39;" k="32" />
    <hkern u1="&#xa2;" u2="&#x38;" k="-25" />
    <hkern u1="&#xa2;" u2="&#x37;" k="223" />
    <hkern u1="&#xa2;" u2="&#x36;" k="112" />
    <hkern u1="&#xa2;" u2="&#x35;" k="111" />
    <hkern u1="&#xa2;" u2="&#x34;" k="102" />
    <hkern u1="&#xa2;" u2="&#x33;" k="380" />
    <hkern u1="&#xa2;" u2="&#x32;" k="210" />
    <hkern u1="&#xa2;" u2="&#x31;" k="164" />
    <hkern u1="&#xa2;" u2="&#x2f;" k="430" />
    <hkern u1="&#xa2;" u2="&#x2e;" k="350" />
    <hkern u1="&#xa2;" u2="&#x2d;" k="242" />
    <hkern u1="&#xa2;" u2="&#x2c;" k="419" />
    <hkern u1="&#xa2;" u2="&#x29;" k="177" />
    <hkern u1="&#xa2;" u2="&#x28;" k="81" />
    <hkern u1="&#xa2;" u2="&#x26;" k="229" />
    <hkern u1="&#xa2;" u2="&#x25;" k="369" />
    <hkern u1="&#xa2;" u2="&#x24;" k="102" />
    <hkern u1="&#xa2;" u2="&#x23;" k="252" />
    <hkern u1="&#xa2;" u2="&#x21;" k="118" />
    <hkern u1="&#xa2;" g2=".notdef" k="253" />
    <hkern u1="&#xc0;" u2="&#xd0;" k="77" />
    <hkern u1="&#xc0;" u2="&#xc2;" k="164" />
    <hkern u1="&#xc0;" u2="&#x2021;" k="52" />
    <hkern u1="&#xc0;" u2="&#x203a;" k="85" />
    <hkern u1="&#xc0;" u2="&#x2019;" k="116" />
    <hkern u1="&#xc0;" u2="&#x2014;" k="85" />
    <hkern u1="&#xc0;" u2="&#x2013;" k="51" />
    <hkern u1="&#xc0;" u2="&#x153;" k="63" />
    <hkern u1="&#xc0;" u2="&#xc0;" k="-160" />
    <hkern u1="&#xc0;" u2="&#xa2;" k="310" />
    <hkern u1="&#xc0;" u2="&#xd1;" k="34" />
    <hkern u1="&#xc0;" u2="&#xc9;" k="99" />
    <hkern u1="&#xc0;" u2="&#x7e;" k="503" />
    <hkern u1="&#xc0;" u2="z" k="66" />
    <hkern u1="&#xc0;" u2="y" k="-200" />
    <hkern u1="&#xc0;" u2="x" k="74" />
    <hkern u1="&#xc0;" u2="w" k="78" />
    <hkern u1="&#xc0;" u2="v" k="166" />
    <hkern u1="&#xc0;" u2="u" k="63" />
    <hkern u1="&#xc0;" u2="t" k="143" />
    <hkern u1="&#xc0;" u2="s" k="98" />
    <hkern u1="&#xc0;" u2="r" k="81" />
    <hkern u1="&#xc0;" u2="q" k="76" />
    <hkern u1="&#xc0;" u2="p" k="-77" />
    <hkern u1="&#xc0;" u2="o" k="85" />
    <hkern u1="&#xc0;" u2="n" k="51" />
    <hkern u1="&#xc0;" u2="l" k="116" />
    <hkern u1="&#xc0;" u2="k" k="84" />
    <hkern u1="&#xc0;" u2="j" k="-502" />
    <hkern u1="&#xc0;" u2="i" k="116" />
    <hkern u1="&#xc0;" u2="h" k="75" />
    <hkern u1="&#xc0;" u2="g" k="-94" />
    <hkern u1="&#xc0;" u2="f" k="88" />
    <hkern u1="&#xc0;" u2="e" k="61" />
    <hkern u1="&#xc0;" u2="d" k="60" />
    <hkern u1="&#xc0;" u2="c" k="75" />
    <hkern u1="&#xc0;" u2="b" k="64" />
    <hkern u1="&#xc0;" u2="a" k="52" />
    <hkern u1="&#xc0;" u2="`" k="399" />
    <hkern u1="&#xc0;" u2="Z" k="36" />
    <hkern u1="&#xc0;" u2="Y" k="-90" />
    <hkern u1="&#xc0;" u2="X" k="27" />
    <hkern u1="&#xc0;" u2="W" k="366" />
    <hkern u1="&#xc0;" u2="V" k="485" />
    <hkern u1="&#xc0;" u2="U" k="123" />
    <hkern u1="&#xc0;" u2="T" k="461" />
    <hkern u1="&#xc0;" u2="S" k="181" />
    <hkern u1="&#xc0;" u2="R" k="261" />
    <hkern u1="&#xc0;" u2="Q" k="66" />
    <hkern u1="&#xc0;" u2="P" k="222" />
    <hkern u1="&#xc0;" u2="O" k="60" />
    <hkern u1="&#xc0;" u2="N" k="292" />
    <hkern u1="&#xc0;" u2="M" k="284" />
    <hkern u1="&#xc0;" u2="L" k="74" />
    <hkern u1="&#xc0;" u2="K" k="38" />
    <hkern u1="&#xc0;" u2="J" k="-276" />
    <hkern u1="&#xc0;" u2="I" k="123" />
    <hkern u1="&#xc0;" u2="H" k="60" />
    <hkern u1="&#xc0;" u2="G" k="84" />
    <hkern u1="&#xc0;" u2="F" k="74" />
    <hkern u1="&#xc0;" u2="E" k="146" />
    <hkern u1="&#xc0;" u2="D" k="210" />
    <hkern u1="&#xc0;" u2="C" k="52" />
    <hkern u1="&#xc0;" u2="B" k="70" />
    <hkern u1="&#xc0;" u2="A" k="67" />
    <hkern u1="&#xc0;" u2="&#x40;" k="176" />
    <hkern u1="&#xc0;" u2="&#x3f;" k="334" />
    <hkern u1="&#xc0;" u2="&#x3b;" k="260" />
    <hkern u1="&#xc0;" u2="&#x3a;" k="230" />
    <hkern u1="&#xc0;" u2="&#x39;" k="140" />
    <hkern u1="&#xc0;" u2="&#x38;" k="165" />
    <hkern u1="&#xc0;" u2="&#x37;" k="135" />
    <hkern u1="&#xc0;" u2="&#x36;" k="85" />
    <hkern u1="&#xc0;" u2="&#x35;" k="95" />
    <hkern u1="&#xc0;" u2="&#x34;" k="143" />
    <hkern u1="&#xc0;" u2="&#x33;" k="29" />
    <hkern u1="&#xc0;" u2="&#x32;" k="21" />
    <hkern u1="&#xc0;" u2="&#x31;" k="123" />
    <hkern u1="&#xc0;" u2="&#x30;" k="68" />
    <hkern u1="&#xc0;" u2="&#x2f;" k="70" />
    <hkern u1="&#xc0;" u2="&#x2e;" k="172" />
    <hkern u1="&#xc0;" u2="&#x2d;" k="94" />
    <hkern u1="&#xc0;" u2="&#x2c;" k="185" />
    <hkern u1="&#xc0;" u2="&#x29;" k="210" />
    <hkern u1="&#xc0;" u2="&#x28;" k="125" />
    <hkern u1="&#xc0;" u2="&#x26;" k="187" />
    <hkern u1="&#xc0;" u2="&#x25;" k="70" />
    <hkern u1="&#xc0;" u2="&#x24;" k="221" />
    <hkern u1="&#xc0;" u2="&#x23;" k="332" />
    <hkern u1="&#xc0;" u2="&#x21;" k="213" />
    <hkern u1="&#xc0;" g2=".notdef" k="61" />
    <hkern u1="&#x153;" u2="&#xc1;" k="-30" />
    <hkern u1="&#x153;" u2="&#xc2;" k="-84" />
    <hkern u1="&#x153;" u2="&#x2021;" k="-140" />
    <hkern u1="&#x153;" u2="&#x203a;" k="-145" />
    <hkern u1="&#x153;" u2="&#x2019;" k="-119" />
    <hkern u1="&#x153;" u2="&#x2014;" k="-135" />
    <hkern u1="&#x153;" u2="&#x2013;" k="-167" />
    <hkern u1="&#x153;" u2="&#x153;" k="-149" />
    <hkern u1="&#x153;" u2="&#xc0;" k="229" />
    <hkern u1="&#x153;" u2="&#xa2;" k="-73" />
    <hkern u1="&#x153;" u2="&#xd1;" k="-26" />
    <hkern u1="&#x153;" u2="&#xc9;" k="-129" />
    <hkern u1="&#x153;" u2="&#x7e;" k="250" />
    <hkern u1="&#x153;" u2="z" k="-166" />
    <hkern u1="&#x153;" u2="y" k="-141" />
    <hkern u1="&#x153;" u2="x" k="-146" />
    <hkern u1="&#x153;" u2="w" k="-137" />
    <hkern u1="&#x153;" u2="v" k="-53" />
    <hkern u1="&#x153;" u2="u" k="-184" />
    <hkern u1="&#x153;" u2="t" k="29" />
    <hkern u1="&#x153;" u2="s" k="-139" />
    <hkern u1="&#x153;" u2="r" k="-158" />
    <hkern u1="&#x153;" u2="q" k="-182" />
    <hkern u1="&#x153;" u2="p" k="-158" />
    <hkern u1="&#x153;" u2="o" k="-159" />
    <hkern u1="&#x153;" u2="n" k="-191" />
    <hkern u1="&#x153;" u2="m" k="-235" />
    <hkern u1="&#x153;" u2="l" k="-135" />
    <hkern u1="&#x153;" u2="k" k="-171" />
    <hkern u1="&#x153;" u2="j" k="29" />
    <hkern u1="&#x153;" u2="i" k="-127" />
    <hkern u1="&#x153;" u2="h" k="-164" />
    <hkern u1="&#x153;" u2="g" k="-146" />
    <hkern u1="&#x153;" u2="f" k="-28" />
    <hkern u1="&#x153;" u2="e" k="-172" />
    <hkern u1="&#x153;" u2="d" k="-126" />
    <hkern u1="&#x153;" u2="c" k="-169" />
    <hkern u1="&#x153;" u2="b" k="-186" />
    <hkern u1="&#x153;" u2="a" k="-162" />
    <hkern u1="&#x153;" u2="`" k="-27" />
    <hkern u1="&#x153;" u2="Z" k="-160" />
    <hkern u1="&#x153;" u2="Y" k="-144" />
    <hkern u1="&#x153;" u2="X" k="-181" />
    <hkern u1="&#x153;" u2="W" k="-96" />
    <hkern u1="&#x153;" u2="V" k="-57" />
    <hkern u1="&#x153;" u2="U" k="-120" />
    <hkern u1="&#x153;" u2="T" k="-139" />
    <hkern u1="&#x153;" u2="S" k="-91" />
    <hkern u1="&#x153;" u2="R" k="-151" />
    <hkern u1="&#x153;" u2="Q" k="-175" />
    <hkern u1="&#x153;" u2="P" k="-159" />
    <hkern u1="&#x153;" u2="O" k="-176" />
    <hkern u1="&#x153;" u2="N" k="-37" />
    <hkern u1="&#x153;" u2="M" k="-73" />
    <hkern u1="&#x153;" u2="L" k="-52" />
    <hkern u1="&#x153;" u2="K" k="-212" />
    <hkern u1="&#x153;" u2="J" k="305" />
    <hkern u1="&#x153;" u2="I" k="-102" />
    <hkern u1="&#x153;" u2="H" k="-54" />
    <hkern u1="&#x153;" u2="G" k="-175" />
    <hkern u1="&#x153;" u2="F" k="-114" />
    <hkern u1="&#x153;" u2="E" k="-97" />
    <hkern u1="&#x153;" u2="D" k="-66" />
    <hkern u1="&#x153;" u2="C" k="-191" />
    <hkern u1="&#x153;" u2="B" k="-160" />
    <hkern u1="&#x153;" u2="A" k="-107" />
    <hkern u1="&#x153;" u2="&#x40;" k="39" />
    <hkern u1="&#x153;" u2="&#x3b;" k="58" />
    <hkern u1="&#x153;" u2="&#x38;" k="-89" />
    <hkern u1="&#x153;" u2="&#x37;" k="-74" />
    <hkern u1="&#x153;" u2="&#x36;" k="-152" />
    <hkern u1="&#x153;" u2="&#x35;" k="-144" />
    <hkern u1="&#x153;" u2="&#x34;" k="-30" />
    <hkern u1="&#x153;" u2="&#x33;" k="-195" />
    <hkern u1="&#x153;" u2="&#x32;" k="-157" />
    <hkern u1="&#x153;" u2="&#x31;" k="-41" />
    <hkern u1="&#x153;" u2="&#x30;" k="-156" />
    <hkern u1="&#x153;" u2="&#x2f;" k="-84" />
    <hkern u1="&#x153;" u2="&#x2e;" k="-57" />
    <hkern u1="&#x153;" u2="&#x2d;" k="22" />
    <hkern u1="&#x153;" u2="&#x2c;" k="40" />
    <hkern u1="&#x153;" u2="&#x29;" k="31" />
    <hkern u1="&#x153;" u2="&#x28;" k="-118" />
    <hkern u1="&#x153;" u2="&#x26;" k="-55" />
    <hkern u1="&#x153;" u2="&#x25;" k="-101" />
    <hkern u1="&#x153;" u2="&#x24;" k="-104" />
    <hkern u1="&#x153;" u2="&#x23;" k="69" />
    <hkern u1="&#x153;" u2="&#x21;" k="28" />
    <hkern u1="&#x153;" g2=".notdef" k="-155" />
    <hkern u1="&#x2013;" u2="&#xc1;" k="-20" />
    <hkern u1="&#x2013;" u2="&#xc2;" k="-47" />
    <hkern u1="&#x2013;" u2="&#x2021;" k="-121" />
    <hkern u1="&#x2013;" u2="&#x203a;" k="-106" />
    <hkern u1="&#x2013;" u2="&#x2019;" k="-76" />
    <hkern u1="&#x2013;" u2="&#x2014;" k="-100" />
    <hkern u1="&#x2013;" u2="&#x2013;" k="-142" />
    <hkern u1="&#x2013;" u2="&#x153;" k="-123" />
    <hkern u1="&#x2013;" u2="&#xc0;" k="312" />
    <hkern u1="&#x2013;" u2="&#xc9;" k="-102" />
    <hkern u1="&#x2013;" u2="&#x7e;" k="146" />
    <hkern u1="&#x2013;" u2="z" k="-140" />
    <hkern u1="&#x2013;" u2="y" k="-100" />
    <hkern u1="&#x2013;" u2="x" k="-126" />
    <hkern u1="&#x2013;" u2="w" k="-103" />
    <hkern u1="&#x2013;" u2="v" k="22" />
    <hkern u1="&#x2013;" u2="u" k="-141" />
    <hkern u1="&#x2013;" u2="t" k="51" />
    <hkern u1="&#x2013;" u2="s" k="-107" />
    <hkern u1="&#x2013;" u2="r" k="-127" />
    <hkern u1="&#x2013;" u2="q" k="-148" />
    <hkern u1="&#x2013;" u2="p" k="-122" />
    <hkern u1="&#x2013;" u2="o" k="-112" />
    <hkern u1="&#x2013;" u2="n" k="-165" />
    <hkern u1="&#x2013;" u2="m" k="-198" />
    <hkern u1="&#x2013;" u2="l" k="-86" />
    <hkern u1="&#x2013;" u2="k" k="-124" />
    <hkern u1="&#x2013;" u2="j" k="56" />
    <hkern u1="&#x2013;" u2="i" k="-79" />
    <hkern u1="&#x2013;" u2="h" k="-130" />
    <hkern u1="&#x2013;" u2="g" k="-105" />
    <hkern u1="&#x2013;" u2="e" k="-131" />
    <hkern u1="&#x2013;" u2="d" k="-112" />
    <hkern u1="&#x2013;" u2="c" k="-118" />
    <hkern u1="&#x2013;" u2="b" k="-131" />
    <hkern u1="&#x2013;" u2="a" k="-133" />
    <hkern u1="&#x2013;" u2="`" k="324" />
    <hkern u1="&#x2013;" u2="Z" k="-136" />
    <hkern u1="&#x2013;" u2="Y" k="-21" />
    <hkern u1="&#x2013;" u2="X" k="-158" />
    <hkern u1="&#x2013;" u2="W" k="-22" />
    <hkern u1="&#x2013;" u2="U" k="-75" />
    <hkern u1="&#x2013;" u2="T" k="263" />
    <hkern u1="&#x2013;" u2="S" k="-55" />
    <hkern u1="&#x2013;" u2="R" k="55" />
    <hkern u1="&#x2013;" u2="Q" k="-118" />
    <hkern u1="&#x2013;" u2="O" k="-120" />
    <hkern u1="&#x2013;" u2="N" k="-31" />
    <hkern u1="&#x2013;" u2="M" k="-55" />
    <hkern u1="&#x2013;" u2="L" k="-76" />
    <hkern u1="&#x2013;" u2="K" k="-163" />
    <hkern u1="&#x2013;" u2="J" k="341" />
    <hkern u1="&#x2013;" u2="I" k="-46" />
    <hkern u1="&#x2013;" u2="H" k="-37" />
    <hkern u1="&#x2013;" u2="G" k="-123" />
    <hkern u1="&#x2013;" u2="F" k="-31" />
    <hkern u1="&#x2013;" u2="E" k="-46" />
    <hkern u1="&#x2013;" u2="D" k="-64" />
    <hkern u1="&#x2013;" u2="C" k="-144" />
    <hkern u1="&#x2013;" u2="B" k="-140" />
    <hkern u1="&#x2013;" u2="A" k="-105" />
    <hkern u1="&#x2013;" u2="&#x40;" k="75" />
    <hkern u1="&#x2013;" u2="&#x3f;" k="33" />
    <hkern u1="&#x2013;" u2="&#x3b;" k="72" />
    <hkern u1="&#x2013;" u2="&#x39;" k="38" />
    <hkern u1="&#x2013;" u2="&#x38;" k="-58" />
    <hkern u1="&#x2013;" u2="&#x37;" k="-50" />
    <hkern u1="&#x2013;" u2="&#x36;" k="-113" />
    <hkern u1="&#x2013;" u2="&#x35;" k="-132" />
    <hkern u1="&#x2013;" u2="&#x33;" k="-135" />
    <hkern u1="&#x2013;" u2="&#x32;" k="-153" />
    <hkern u1="&#x2013;" u2="&#x30;" k="-98" />
    <hkern u1="&#x2013;" u2="&#x2f;" k="-92" />
    <hkern u1="&#x2013;" u2="&#x2e;" k="-30" />
    <hkern u1="&#x2013;" u2="&#x2d;" k="42" />
    <hkern u1="&#x2013;" u2="&#x2c;" k="37" />
    <hkern u1="&#x2013;" u2="&#x29;" k="35" />
    <hkern u1="&#x2013;" u2="&#x28;" k="-72" />
    <hkern u1="&#x2013;" u2="&#x25;" k="-99" />
    <hkern u1="&#x2013;" u2="&#x23;" k="71" />
    <hkern u1="&#x2013;" u2="&#x21;" k="66" />
    <hkern u1="&#x2013;" g2=".notdef" k="-123" />
    <hkern u1="&#x2014;" u2="&#xd0;" k="-96" />
    <hkern u1="&#x2014;" u2="&#xc1;" k="124" />
    <hkern u1="&#x2014;" u2="&#xc2;" k="28" />
    <hkern u1="&#x2014;" u2="&#x2021;" k="37" />
    <hkern u1="&#x2014;" u2="&#x203a;" k="-31" />
    <hkern u1="&#x2014;" u2="&#x2019;" k="-47" />
    <hkern u1="&#x2014;" u2="&#x2014;" k="-21" />
    <hkern u1="&#x2014;" u2="&#x2013;" k="-47" />
    <hkern u1="&#x2014;" u2="&#x153;" k="-31" />
    <hkern u1="&#x2014;" u2="&#xc0;" k="330" />
    <hkern u1="&#x2014;" u2="&#xa2;" k="-140" />
    <hkern u1="&#x2014;" u2="&#xd1;" k="-120" />
    <hkern u1="&#x2014;" u2="&#xc9;" k="100" />
    <hkern u1="&#x2014;" u2="&#x7e;" k="144" />
    <hkern u1="&#x2014;" u2="z" k="-30" />
    <hkern u1="&#x2014;" u2="y" k="-35" />
    <hkern u1="&#x2014;" u2="x" k="-30" />
    <hkern u1="&#x2014;" u2="w" k="-46" />
    <hkern u1="&#x2014;" u2="v" k="-103" />
    <hkern u1="&#x2014;" u2="u" k="-61" />
    <hkern u1="&#x2014;" u2="t" k="-49" />
    <hkern u1="&#x2014;" u2="s" k="-86" />
    <hkern u1="&#x2014;" u2="r" k="-79" />
    <hkern u1="&#x2014;" u2="q" k="-23" />
    <hkern u1="&#x2014;" u2="p" k="-60" />
    <hkern u1="&#x2014;" u2="o" k="-44" />
    <hkern u1="&#x2014;" u2="n" k="-66" />
    <hkern u1="&#x2014;" u2="m" k="-145" />
    <hkern u1="&#x2014;" u2="l" k="-137" />
    <hkern u1="&#x2014;" u2="k" k="-141" />
    <hkern u1="&#x2014;" u2="j" k="153" />
    <hkern u1="&#x2014;" u2="i" k="-95" />
    <hkern u1="&#x2014;" u2="h" k="-100" />
    <hkern u1="&#x2014;" u2="f" k="-82" />
    <hkern u1="&#x2014;" u2="e" k="-42" />
    <hkern u1="&#x2014;" u2="d" k="53" />
    <hkern u1="&#x2014;" u2="c" k="-44" />
    <hkern u1="&#x2014;" u2="b" k="-104" />
    <hkern u1="&#x2014;" u2="`" k="-90" />
    <hkern u1="&#x2014;" u2="Z" k="-64" />
    <hkern u1="&#x2014;" u2="Y" k="-205" />
    <hkern u1="&#x2014;" u2="X" k="-97" />
    <hkern u1="&#x2014;" u2="W" k="-131" />
    <hkern u1="&#x2014;" u2="V" k="-118" />
    <hkern u1="&#x2014;" u2="U" k="-181" />
    <hkern u1="&#x2014;" u2="T" k="-200" />
    <hkern u1="&#x2014;" u2="S" k="-105" />
    <hkern u1="&#x2014;" u2="R" k="-212" />
    <hkern u1="&#x2014;" u2="Q" k="-124" />
    <hkern u1="&#x2014;" u2="P" k="-220" />
    <hkern u1="&#x2014;" u2="O" k="-123" />
    <hkern u1="&#x2014;" u2="N" k="-98" />
    <hkern u1="&#x2014;" u2="M" k="-134" />
    <hkern u1="&#x2014;" u2="L" k="-30" />
    <hkern u1="&#x2014;" u2="K" k="-204" />
    <hkern u1="&#x2014;" u2="J" k="229" />
    <hkern u1="&#x2014;" u2="I" k="-163" />
    <hkern u1="&#x2014;" u2="H" k="-57" />
    <hkern u1="&#x2014;" u2="G" k="-119" />
    <hkern u1="&#x2014;" u2="F" k="-175" />
    <hkern u1="&#x2014;" u2="E" k="-158" />
    <hkern u1="&#x2014;" u2="D" k="-127" />
    <hkern u1="&#x2014;" u2="C" k="-112" />
    <hkern u1="&#x2014;" u2="B" k="-127" />
    <hkern u1="&#x2014;" u2="A" k="-52" />
    <hkern u1="&#x2014;" u2="&#x40;" k="-26" />
    <hkern u1="&#x2014;" u2="&#x3f;" k="-47" />
    <hkern u1="&#x2014;" u2="&#x3b;" k="188" />
    <hkern u1="&#x2014;" u2="&#x3a;" k="101" />
    <hkern u1="&#x2014;" u2="&#x39;" k="-74" />
    <hkern u1="&#x2014;" u2="&#x38;" k="-109" />
    <hkern u1="&#x2014;" u2="&#x37;" k="-122" />
    <hkern u1="&#x2014;" u2="&#x36;" k="-65" />
    <hkern u1="&#x2014;" u2="&#x35;" k="-92" />
    <hkern u1="&#x2014;" u2="&#x34;" k="-69" />
    <hkern u1="&#x2014;" u2="&#x32;" k="-55" />
    <hkern u1="&#x2014;" u2="&#x31;" k="-94" />
    <hkern u1="&#x2014;" u2="&#x30;" k="-122" />
    <hkern u1="&#x2014;" u2="&#x2f;" k="114" />
    <hkern u1="&#x2014;" u2="&#x2e;" k="174" />
    <hkern u1="&#x2014;" u2="&#x2d;" k="-72" />
    <hkern u1="&#x2014;" u2="&#x2c;" k="240" />
    <hkern u1="&#x2014;" u2="&#x29;" k="103" />
    <hkern u1="&#x2014;" u2="&#x28;" k="-59" />
    <hkern u1="&#x2014;" u2="&#x26;" k="52" />
    <hkern u1="&#x2014;" u2="&#x25;" k="97" />
    <hkern u1="&#x2014;" u2="&#x24;" k="-172" />
    <hkern u1="&#x2014;" u2="&#x21;" k="-33" />
    <hkern u1="&#x2014;" g2=".notdef" k="-26" />
    <hkern u1="&#x2019;" u2="&#xd0;" k="33" />
    <hkern u1="&#x2019;" u2="&#x2021;" k="-98" />
    <hkern u1="&#x2019;" u2="&#x203a;" k="-56" />
    <hkern u1="&#x2019;" u2="&#x2019;" k="-32" />
    <hkern u1="&#x2019;" u2="&#x2014;" k="-48" />
    <hkern u1="&#x2019;" u2="&#x2013;" k="-121" />
    <hkern u1="&#x2019;" u2="&#x153;" k="-88" />
    <hkern u1="&#x2019;" u2="&#xc0;" k="256" />
    <hkern u1="&#x2019;" u2="&#xa2;" k="-244" />
    <hkern u1="&#x2019;" u2="&#xc9;" k="71" />
    <hkern u1="&#x2019;" u2="z" k="-92" />
    <hkern u1="&#x2019;" u2="y" k="105" />
    <hkern u1="&#x2019;" u2="x" k="-106" />
    <hkern u1="&#x2019;" u2="w" k="-64" />
    <hkern u1="&#x2019;" u2="v" k="-35" />
    <hkern u1="&#x2019;" u2="u" k="-105" />
    <hkern u1="&#x2019;" u2="s" k="-67" />
    <hkern u1="&#x2019;" u2="r" k="-101" />
    <hkern u1="&#x2019;" u2="q" k="-77" />
    <hkern u1="&#x2019;" u2="p" k="-99" />
    <hkern u1="&#x2019;" u2="o" k="-57" />
    <hkern u1="&#x2019;" u2="n" k="-134" />
    <hkern u1="&#x2019;" u2="m" k="-165" />
    <hkern u1="&#x2019;" u2="l" k="-234" />
    <hkern u1="&#x2019;" u2="k" k="-239" />
    <hkern u1="&#x2019;" u2="j" k="-112" />
    <hkern u1="&#x2019;" u2="i" k="-193" />
    <hkern u1="&#x2019;" u2="h" k="-200" />
    <hkern u1="&#x2019;" u2="g" k="40" />
    <hkern u1="&#x2019;" u2="f" k="-84" />
    <hkern u1="&#x2019;" u2="e" k="-76" />
    <hkern u1="&#x2019;" u2="d" k="-90" />
    <hkern u1="&#x2019;" u2="c" k="-59" />
    <hkern u1="&#x2019;" u2="b" k="-198" />
    <hkern u1="&#x2019;" u2="a" k="-108" />
    <hkern u1="&#x2019;" u2="`" k="-211" />
    <hkern u1="&#x2019;" u2="Z" k="-162" />
    <hkern u1="&#x2019;" u2="Y" k="-298" />
    <hkern u1="&#x2019;" u2="X" k="-184" />
    <hkern u1="&#x2019;" u2="W" k="-204" />
    <hkern u1="&#x2019;" u2="V" k="-234" />
    <hkern u1="&#x2019;" u2="U" k="-284" />
    <hkern u1="&#x2019;" u2="T" k="-295" />
    <hkern u1="&#x2019;" u2="S" k="-144" />
    <hkern u1="&#x2019;" u2="R" k="-325" />
    <hkern u1="&#x2019;" u2="Q" k="-210" />
    <hkern u1="&#x2019;" u2="P" k="-323" />
    <hkern u1="&#x2019;" u2="O" k="-209" />
    <hkern u1="&#x2019;" u2="N" k="-217" />
    <hkern u1="&#x2019;" u2="M" k="-252" />
    <hkern u1="&#x2019;" u2="L" k="-133" />
    <hkern u1="&#x2019;" u2="K" k="-301" />
    <hkern u1="&#x2019;" u2="J" k="-37" />
    <hkern u1="&#x2019;" u2="I" k="-86" />
    <hkern u1="&#x2019;" u2="H" k="-133" />
    <hkern u1="&#x2019;" u2="G" k="-151" />
    <hkern u1="&#x2019;" u2="F" k="-293" />
    <hkern u1="&#x2019;" u2="E" k="-279" />
    <hkern u1="&#x2019;" u2="D" k="-258" />
    <hkern u1="&#x2019;" u2="C" k="-97" />
    <hkern u1="&#x2019;" u2="B" k="-211" />
    <hkern u1="&#x2019;" u2="A" k="-110" />
    <hkern u1="&#x2019;" u2="&#x40;" k="64" />
    <hkern u1="&#x2019;" u2="&#x3f;" k="-172" />
    <hkern u1="&#x2019;" u2="&#x3b;" k="76" />
    <hkern u1="&#x2019;" u2="&#x3a;" k="60" />
    <hkern u1="&#x2019;" u2="&#x39;" k="-141" />
    <hkern u1="&#x2019;" u2="&#x38;" k="-148" />
    <hkern u1="&#x2019;" u2="&#x37;" k="-112" />
    <hkern u1="&#x2019;" u2="&#x36;" k="-77" />
    <hkern u1="&#x2019;" u2="&#x35;" k="-206" />
    <hkern u1="&#x2019;" u2="&#x34;" k="-103" />
    <hkern u1="&#x2019;" u2="&#x33;" k="-115" />
    <hkern u1="&#x2019;" u2="&#x32;" k="-196" />
    <hkern u1="&#x2019;" u2="&#x31;" k="-211" />
    <hkern u1="&#x2019;" u2="&#x30;" k="-197" />
    <hkern u1="&#x2019;" u2="&#x2f;" k="-94" />
    <hkern u1="&#x2019;" u2="&#x2e;" k="143" />
    <hkern u1="&#x2019;" u2="&#x2d;" k="57" />
    <hkern u1="&#x2019;" u2="&#x28;" k="-122" />
    <hkern u1="&#x2019;" u2="&#x25;" k="-109" />
    <hkern u1="&#x2019;" u2="&#x24;" k="-274" />
    <hkern u1="&#x2019;" u2="&#x23;" k="-61" />
    <hkern u1="&#x2019;" u2="&#x21;" k="-131" />
    <hkern u1="&#x2019;" g2=".notdef" k="-71" />
    <hkern u1="&#x203a;" u2="&#xd0;" k="-96" />
    <hkern u1="&#x203a;" u2="&#xc1;" k="124" />
    <hkern u1="&#x203a;" u2="&#xc2;" k="28" />
    <hkern u1="&#x203a;" u2="&#x2021;" k="30" />
    <hkern u1="&#x203a;" u2="&#x203a;" k="-35" />
    <hkern u1="&#x203a;" u2="&#x2019;" k="-51" />
    <hkern u1="&#x203a;" u2="&#x2014;" k="-28" />
    <hkern u1="&#x203a;" u2="&#x2013;" k="-53" />
    <hkern u1="&#x203a;" u2="&#x153;" k="-39" />
    <hkern u1="&#x203a;" u2="&#xc0;" k="330" />
    <hkern u1="&#x203a;" u2="&#xa2;" k="-143" />
    <hkern u1="&#x203a;" u2="&#xd1;" k="-120" />
    <hkern u1="&#x203a;" u2="&#xc9;" k="100" />
    <hkern u1="&#x203a;" u2="&#x7e;" k="40" />
    <hkern u1="&#x203a;" u2="z" k="-30" />
    <hkern u1="&#x203a;" u2="y" k="-38" />
    <hkern u1="&#x203a;" u2="x" k="-70" />
    <hkern u1="&#x203a;" u2="w" k="-50" />
    <hkern u1="&#x203a;" u2="v" k="-103" />
    <hkern u1="&#x203a;" u2="u" k="-61" />
    <hkern u1="&#x203a;" u2="t" k="-55" />
    <hkern u1="&#x203a;" u2="s" k="-86" />
    <hkern u1="&#x203a;" u2="r" k="-79" />
    <hkern u1="&#x203a;" u2="q" k="-27" />
    <hkern u1="&#x203a;" u2="p" k="-60" />
    <hkern u1="&#x203a;" u2="o" k="-44" />
    <hkern u1="&#x203a;" u2="n" k="-66" />
    <hkern u1="&#x203a;" u2="m" k="-145" />
    <hkern u1="&#x203a;" u2="l" k="-107" />
    <hkern u1="&#x203a;" u2="k" k="-117" />
    <hkern u1="&#x203a;" u2="j" k="148" />
    <hkern u1="&#x203a;" u2="i" k="-56" />
    <hkern u1="&#x203a;" u2="h" k="-79" />
    <hkern u1="&#x203a;" u2="f" k="-83" />
    <hkern u1="&#x203a;" u2="e" k="-42" />
    <hkern u1="&#x203a;" u2="d" k="45" />
    <hkern u1="&#x203a;" u2="c" k="-44" />
    <hkern u1="&#x203a;" u2="b" k="-106" />
    <hkern u1="&#x203a;" u2="`" k="29" />
    <hkern u1="&#x203a;" u2="Z" k="41" />
    <hkern u1="&#x203a;" u2="Y" k="54" />
    <hkern u1="&#x203a;" u2="W" k="-137" />
    <hkern u1="&#x203a;" u2="V" k="-145" />
    <hkern u1="&#x203a;" u2="U" k="-150" />
    <hkern u1="&#x203a;" u2="T" k="58" />
    <hkern u1="&#x203a;" u2="S" k="-106" />
    <hkern u1="&#x203a;" u2="R" k="-192" />
    <hkern u1="&#x203a;" u2="Q" k="-126" />
    <hkern u1="&#x203a;" u2="P" k="-189" />
    <hkern u1="&#x203a;" u2="O" k="-125" />
    <hkern u1="&#x203a;" u2="N" k="-147" />
    <hkern u1="&#x203a;" u2="M" k="-175" />
    <hkern u1="&#x203a;" u2="K" k="-178" />
    <hkern u1="&#x203a;" u2="J" k="229" />
    <hkern u1="&#x203a;" u2="I" k="105" />
    <hkern u1="&#x203a;" u2="H" k="-58" />
    <hkern u1="&#x203a;" u2="G" k="-122" />
    <hkern u1="&#x203a;" u2="F" k="-179" />
    <hkern u1="&#x203a;" u2="E" k="-187" />
    <hkern u1="&#x203a;" u2="D" k="-194" />
    <hkern u1="&#x203a;" u2="C" k="-116" />
    <hkern u1="&#x203a;" u2="B" k="-160" />
    <hkern u1="&#x203a;" u2="A" k="-57" />
    <hkern u1="&#x203a;" u2="&#x40;" k="-32" />
    <hkern u1="&#x203a;" u2="&#x3f;" k="-97" />
    <hkern u1="&#x203a;" u2="&#x3b;" k="188" />
    <hkern u1="&#x203a;" u2="&#x3a;" k="101" />
    <hkern u1="&#x203a;" u2="&#x39;" k="-75" />
    <hkern u1="&#x203a;" u2="&#x38;" k="-112" />
    <hkern u1="&#x203a;" u2="&#x37;" k="93" />
    <hkern u1="&#x203a;" u2="&#x36;" k="-70" />
    <hkern u1="&#x203a;" u2="&#x35;" k="-91" />
    <hkern u1="&#x203a;" u2="&#x34;" k="-69" />
    <hkern u1="&#x203a;" u2="&#x32;" k="-153" />
    <hkern u1="&#x203a;" u2="&#x31;" k="-92" />
    <hkern u1="&#x203a;" u2="&#x30;" k="-125" />
    <hkern u1="&#x203a;" u2="&#x2f;" k="105" />
    <hkern u1="&#x203a;" u2="&#x2e;" k="174" />
    <hkern u1="&#x203a;" u2="&#x2d;" k="-72" />
    <hkern u1="&#x203a;" u2="&#x2c;" k="240" />
    <hkern u1="&#x203a;" u2="&#x29;" k="183" />
    <hkern u1="&#x203a;" u2="&#x28;" k="-62" />
    <hkern u1="&#x203a;" u2="&#x26;" k="48" />
    <hkern u1="&#x203a;" u2="&#x25;" k="94" />
    <hkern u1="&#x203a;" u2="&#x24;" k="-163" />
    <hkern u1="&#x203a;" u2="&#x23;" k="-50" />
    <hkern u1="&#x203a;" g2=".notdef" k="-33" />
    <hkern u1="&#x2021;" u2="&#xd0;" k="-66" />
    <hkern u1="&#x2021;" u2="&#xc1;" k="-26" />
    <hkern u1="&#x2021;" u2="&#xc2;" k="-85" />
    <hkern u1="&#x2021;" u2="&#x2021;" k="-144" />
    <hkern u1="&#x2021;" u2="&#x203a;" k="-152" />
    <hkern u1="&#x2021;" u2="&#x2019;" k="-124" />
    <hkern u1="&#x2021;" u2="&#x2014;" k="-143" />
    <hkern u1="&#x2021;" u2="&#x2013;" k="-172" />
    <hkern u1="&#x2021;" u2="&#x153;" k="-157" />
    <hkern u1="&#x2021;" u2="&#xc0;" k="230" />
    <hkern u1="&#x2021;" u2="&#xa2;" k="-171" />
    <hkern u1="&#x2021;" u2="&#xd1;" k="-91" />
    <hkern u1="&#x2021;" u2="&#xc9;" k="-141" />
    <hkern u1="&#x2021;" u2="&#x7e;" k="73" />
    <hkern u1="&#x2021;" u2="z" k="-168" />
    <hkern u1="&#x2021;" u2="y" k="-147" />
    <hkern u1="&#x2021;" u2="x" k="-149" />
    <hkern u1="&#x2021;" u2="w" k="-149" />
    <hkern u1="&#x2021;" u2="v" k="-114" />
    <hkern u1="&#x2021;" u2="u" k="-189" />
    <hkern u1="&#x2021;" u2="t" k="-29" />
    <hkern u1="&#x2021;" u2="s" k="-150" />
    <hkern u1="&#x2021;" u2="r" k="-170" />
    <hkern u1="&#x2021;" u2="q" k="-189" />
    <hkern u1="&#x2021;" u2="p" k="-163" />
    <hkern u1="&#x2021;" u2="o" k="-168" />
    <hkern u1="&#x2021;" u2="n" k="-193" />
    <hkern u1="&#x2021;" u2="m" k="-239" />
    <hkern u1="&#x2021;" u2="l" k="-193" />
    <hkern u1="&#x2021;" u2="k" k="-195" />
    <hkern u1="&#x2021;" u2="j" k="26" />
    <hkern u1="&#x2021;" u2="i" k="-132" />
    <hkern u1="&#x2021;" u2="h" k="-170" />
    <hkern u1="&#x2021;" u2="g" k="-152" />
    <hkern u1="&#x2021;" u2="f" k="-60" />
    <hkern u1="&#x2021;" u2="e" k="-186" />
    <hkern u1="&#x2021;" u2="d" k="-129" />
    <hkern u1="&#x2021;" u2="c" k="-178" />
    <hkern u1="&#x2021;" u2="b" k="-192" />
    <hkern u1="&#x2021;" u2="a" k="-170" />
    <hkern u1="&#x2021;" u2="`" k="-121" />
    <hkern u1="&#x2021;" u2="Z" k="-166" />
    <hkern u1="&#x2021;" u2="Y" k="-248" />
    <hkern u1="&#x2021;" u2="X" k="-193" />
    <hkern u1="&#x2021;" u2="W" k="-153" />
    <hkern u1="&#x2021;" u2="V" k="-133" />
    <hkern u1="&#x2021;" u2="U" k="-207" />
    <hkern u1="&#x2021;" u2="T" k="-242" />
    <hkern u1="&#x2021;" u2="S" k="-107" />
    <hkern u1="&#x2021;" u2="R" k="-228" />
    <hkern u1="&#x2021;" u2="Q" k="-180" />
    <hkern u1="&#x2021;" u2="P" k="-241" />
    <hkern u1="&#x2021;" u2="O" k="-181" />
    <hkern u1="&#x2021;" u2="N" k="-123" />
    <hkern u1="&#x2021;" u2="M" k="-134" />
    <hkern u1="&#x2021;" u2="L" k="-95" />
    <hkern u1="&#x2021;" u2="K" k="-255" />
    <hkern u1="&#x2021;" u2="J" k="-144" />
    <hkern u1="&#x2021;" u2="I" k="-251" />
    <hkern u1="&#x2021;" u2="H" k="-115" />
    <hkern u1="&#x2021;" u2="G" k="-180" />
    <hkern u1="&#x2021;" u2="F" k="-161" />
    <hkern u1="&#x2021;" u2="E" k="-139" />
    <hkern u1="&#x2021;" u2="D" k="-101" />
    <hkern u1="&#x2021;" u2="C" k="-196" />
    <hkern u1="&#x2021;" u2="B" k="-172" />
    <hkern u1="&#x2021;" u2="A" k="-111" />
    <hkern u1="&#x2021;" u2="&#x3f;" k="-35" />
    <hkern u1="&#x2021;" u2="&#x3b;" k="59" />
    <hkern u1="&#x2021;" u2="&#x39;" k="-67" />
    <hkern u1="&#x2021;" u2="&#x38;" k="-130" />
    <hkern u1="&#x2021;" u2="&#x37;" k="-219" />
    <hkern u1="&#x2021;" u2="&#x36;" k="-157" />
    <hkern u1="&#x2021;" u2="&#x35;" k="-150" />
    <hkern u1="&#x2021;" u2="&#x34;" k="-60" />
    <hkern u1="&#x2021;" u2="&#x33;" k="-204" />
    <hkern u1="&#x2021;" u2="&#x32;" k="-162" />
    <hkern u1="&#x2021;" u2="&#x31;" k="-113" />
    <hkern u1="&#x2021;" u2="&#x30;" k="-161" />
    <hkern u1="&#x2021;" u2="&#x2f;" k="-87" />
    <hkern u1="&#x2021;" u2="&#x2e;" k="-68" />
    <hkern u1="&#x2021;" u2="&#x2d;" k="-42" />
    <hkern u1="&#x2021;" u2="&#x2c;" k="45" />
    <hkern u1="&#x2021;" u2="&#x28;" k="-123" />
    <hkern u1="&#x2021;" u2="&#x26;" k="-60" />
    <hkern u1="&#x2021;" u2="&#x25;" k="-106" />
    <hkern u1="&#x2021;" u2="&#x24;" k="-201" />
    <hkern u1="&#x2021;" u2="&#x21;" k="-84" />
    <hkern u1="&#x2021;" g2=".notdef" k="-163" />
    <hkern u1="&#xc2;" u2="&#xc1;" k="89" />
    <hkern u1="&#xc2;" u2="&#xc2;" k="96" />
    <hkern u1="&#xc2;" u2="&#x203a;" k="36" />
    <hkern u1="&#xc2;" u2="&#x2014;" k="36" />
    <hkern u1="&#xc2;" u2="&#x2013;" k="-21" />
    <hkern u1="&#xc2;" u2="&#xc0;" k="246" />
    <hkern u1="&#xc2;" u2="&#xa2;" k="-83" />
    <hkern u1="&#xc2;" u2="&#xd1;" k="-26" />
    <hkern u1="&#xc2;" u2="&#xc9;" k="101" />
    <hkern u1="&#xc2;" u2="&#x7e;" k="366" />
    <hkern u1="&#xc2;" u2="y" k="92" />
    <hkern u1="&#xc2;" u2="x" k="-22" />
    <hkern u1="&#xc2;" u2="v" k="-65" />
    <hkern u1="&#xc2;" u2="t" k="23" />
    <hkern u1="&#xc2;" u2="r" k="-48" />
    <hkern u1="&#xc2;" u2="o" k="36" />
    <hkern u1="&#xc2;" u2="n" k="-26" />
    <hkern u1="&#xc2;" u2="m" k="-74" />
    <hkern u1="&#xc2;" u2="l" k="-25" />
    <hkern u1="&#xc2;" u2="k" k="-42" />
    <hkern u1="&#xc2;" u2="j" k="-122" />
    <hkern u1="&#xc2;" u2="g" k="51" />
    <hkern u1="&#xc2;" u2="c" k="27" />
    <hkern u1="&#xc2;" u2="b" k="-33" />
    <hkern u1="&#xc2;" u2="`" k="350" />
    <hkern u1="&#xc2;" u2="Z" k="-30" />
    <hkern u1="&#xc2;" u2="Y" k="222" />
    <hkern u1="&#xc2;" u2="X" k="-51" />
    <hkern u1="&#xc2;" u2="W" k="-101" />
    <hkern u1="&#xc2;" u2="V" k="243" />
    <hkern u1="&#xc2;" u2="U" k="43" />
    <hkern u1="&#xc2;" u2="T" k="228" />
    <hkern u1="&#xc2;" u2="S" k="-51" />
    <hkern u1="&#xc2;" u2="R" k="190" />
    <hkern u1="&#xc2;" u2="Q" k="-47" />
    <hkern u1="&#xc2;" u2="P" k="193" />
    <hkern u1="&#xc2;" u2="O" k="-51" />
    <hkern u1="&#xc2;" u2="N" k="209" />
    <hkern u1="&#xc2;" u2="M" k="198" />
    <hkern u1="&#xc2;" u2="L" k="-56" />
    <hkern u1="&#xc2;" u2="K" k="-100" />
    <hkern u1="&#xc2;" u2="J" k="-42" />
    <hkern u1="&#xc2;" u2="H" k="-80" />
    <hkern u1="&#xc2;" u2="G" k="-48" />
    <hkern u1="&#xc2;" u2="F" k="-26" />
    <hkern u1="&#xc2;" u2="E" k="201" />
    <hkern u1="&#xc2;" u2="D" k="182" />
    <hkern u1="&#xc2;" u2="C" k="-39" />
    <hkern u1="&#xc2;" u2="B" k="157" />
    <hkern u1="&#xc2;" u2="A" k="-54" />
    <hkern u1="&#xc2;" u2="&#x40;" k="38" />
    <hkern u1="&#xc2;" u2="&#x3f;" k="276" />
    <hkern u1="&#xc2;" u2="&#x3b;" k="99" />
    <hkern u1="&#xc2;" u2="&#x3a;" k="176" />
    <hkern u1="&#xc2;" u2="&#x38;" k="-81" />
    <hkern u1="&#xc2;" u2="&#x37;" k="43" />
    <hkern u1="&#xc2;" u2="&#x35;" k="-25" />
    <hkern u1="&#xc2;" u2="&#x32;" k="-57" />
    <hkern u1="&#xc2;" u2="&#x31;" k="-31" />
    <hkern u1="&#xc2;" u2="&#x30;" k="-59" />
    <hkern u1="&#xc2;" u2="&#x2f;" k="-50" />
    <hkern u1="&#xc2;" u2="&#x2e;" k="173" />
    <hkern u1="&#xc2;" u2="&#x2d;" k="22" />
    <hkern u1="&#xc2;" u2="&#x2c;" k="77" />
    <hkern u1="&#xc2;" u2="&#x29;" k="60" />
    <hkern u1="&#xc2;" u2="&#x26;" k="120" />
    <hkern u1="&#xc2;" u2="&#x25;" k="-50" />
    <hkern u1="&#xc2;" u2="&#x23;" k="58" />
    <hkern u1="&#xc2;" u2="&#x21;" k="68" />
    <hkern u1="&#xc1;" u2="&#xd0;" k="-78" />
    <hkern u1="&#xc1;" u2="&#xc1;" k="125" />
    <hkern u1="&#xc1;" u2="&#xc2;" k="37" />
    <hkern u1="&#xc1;" u2="&#x2021;" k="-27" />
    <hkern u1="&#xc1;" u2="&#x203a;" k="-45" />
    <hkern u1="&#xc1;" u2="&#x2019;" k="-49" />
    <hkern u1="&#xc1;" u2="&#x2014;" k="-45" />
    <hkern u1="&#xc1;" u2="&#x2013;" k="-59" />
    <hkern u1="&#xc1;" u2="&#x153;" k="-58" />
    <hkern u1="&#xc1;" u2="&#xc0;" k="-45" />
    <hkern u1="&#xc1;" u2="&#xa2;" k="264" />
    <hkern u1="&#xc1;" u2="&#xd1;" k="-122" />
    <hkern u1="&#xc1;" u2="&#xc9;" k="79" />
    <hkern u1="&#xc1;" u2="&#x7e;" k="402" />
    <hkern u1="&#xc1;" u2="y" k="-107" />
    <hkern u1="&#xc1;" u2="w" k="-67" />
    <hkern u1="&#xc1;" u2="u" k="-58" />
    <hkern u1="&#xc1;" u2="t" k="-29" />
    <hkern u1="&#xc1;" u2="s" k="-72" />
    <hkern u1="&#xc1;" u2="r" k="-58" />
    <hkern u1="&#xc1;" u2="q" k="-21" />
    <hkern u1="&#xc1;" u2="p" k="-43" />
    <hkern u1="&#xc1;" u2="o" k="-45" />
    <hkern u1="&#xc1;" u2="n" k="-59" />
    <hkern u1="&#xc1;" u2="m" k="-129" />
    <hkern u1="&#xc1;" u2="l" k="-51" />
    <hkern u1="&#xc1;" u2="k" k="-82" />
    <hkern u1="&#xc1;" u2="j" k="-366" />
    <hkern u1="&#xc1;" u2="i" k="-49" />
    <hkern u1="&#xc1;" u2="h" k="-63" />
    <hkern u1="&#xc1;" u2="f" k="-80" />
    <hkern u1="&#xc1;" u2="e" k="-56" />
    <hkern u1="&#xc1;" u2="c" k="-47" />
    <hkern u1="&#xc1;" u2="b" k="-91" />
    <hkern u1="&#xc1;" u2="a" k="-27" />
    <hkern u1="&#xc1;" u2="`" k="385" />
    <hkern u1="&#xc1;" u2="Y" k="46" />
    <hkern u1="&#xc1;" u2="X" k="-31" />
    <hkern u1="&#xc1;" u2="W" k="221" />
    <hkern u1="&#xc1;" u2="V" k="281" />
    <hkern u1="&#xc1;" u2="U" k="25" />
    <hkern u1="&#xc1;" u2="T" k="263" />
    <hkern u1="&#xc1;" u2="S" k="88" />
    <hkern u1="&#xc1;" u2="R" k="222" />
    <hkern u1="&#xc1;" u2="Q" k="-100" />
    <hkern u1="&#xc1;" u2="P" k="227" />
    <hkern u1="&#xc1;" u2="O" k="-107" />
    <hkern u1="&#xc1;" u2="N" k="239" />
    <hkern u1="&#xc1;" u2="M" k="233" />
    <hkern u1="&#xc1;" u2="K" k="-130" />
    <hkern u1="&#xc1;" u2="J" k="-285" />
    <hkern u1="&#xc1;" u2="I" k="69" />
    <hkern u1="&#xc1;" u2="H" k="-46" />
    <hkern u1="&#xc1;" u2="G" k="-79" />
    <hkern u1="&#xc1;" u2="F" k="-91" />
    <hkern u1="&#xc1;" u2="E" k="-22" />
    <hkern u1="&#xc1;" u2="D" k="42" />
    <hkern u1="&#xc1;" u2="C" k="-110" />
    <hkern u1="&#xc1;" u2="A" k="-68" />
    <hkern u1="&#xc1;" u2="&#x3f;" k="306" />
    <hkern u1="&#xc1;" u2="&#x3b;" k="163" />
    <hkern u1="&#xc1;" u2="&#x3a;" k="178" />
    <hkern u1="&#xc1;" u2="&#x39;" k="-25" />
    <hkern u1="&#xc1;" u2="&#x38;" k="241" />
    <hkern u1="&#xc1;" u2="&#x37;" k="56" />
    <hkern u1="&#xc1;" u2="&#x36;" k="-65" />
    <hkern u1="&#xc1;" u2="&#x35;" k="-47" />
    <hkern u1="&#xc1;" u2="&#x33;" k="-42" />
    <hkern u1="&#xc1;" u2="&#x32;" k="-20" />
    <hkern u1="&#xc1;" u2="&#x31;" k="36" />
    <hkern u1="&#xc1;" u2="&#x30;" k="-98" />
    <hkern u1="&#xc1;" u2="&#x2e;" k="152" />
    <hkern u1="&#xc1;" u2="&#x2d;" k="-61" />
    <hkern u1="&#xc1;" u2="&#x2c;" k="150" />
    <hkern u1="&#xc1;" u2="&#x29;" k="111" />
    <hkern u1="&#xc1;" u2="&#x28;" k="-40" />
    <hkern u1="&#xc1;" u2="&#x26;" k="51" />
    <hkern u1="&#xc1;" u2="&#x24;" k="29" />
    <hkern u1="&#xc1;" u2="&#x23;" k="342" />
    <hkern u1="&#xc1;" u2="&#x21;" k="44" />
    <hkern u1="&#xc1;" g2=".notdef" k="-56" />
    <hkern u1="&#xd0;" u2="&#xd0;" k="-103" />
    <hkern u1="&#xd0;" u2="&#xc1;" k="107" />
    <hkern u1="&#xd0;" u2="&#x2021;" k="46" />
    <hkern u1="&#xd0;" u2="&#x203a;" k="-64" />
    <hkern u1="&#xd0;" u2="&#x2019;" k="-92" />
    <hkern u1="&#xd0;" u2="&#x2014;" k="-64" />
    <hkern u1="&#xd0;" u2="&#x2013;" k="-87" />
    <hkern u1="&#xd0;" u2="&#x153;" k="-83" />
    <hkern u1="&#xd0;" u2="&#xc0;" k="284" />
    <hkern u1="&#xd0;" u2="&#xa2;" k="-104" />
    <hkern u1="&#xd0;" u2="&#xd1;" k="-147" />
    <hkern u1="&#xd0;" u2="&#xc9;" k="838" />
    <hkern u1="&#xd0;" u2="&#x7e;" k="577" />
    <hkern u1="&#xd0;" u2="z" k="255" />
    <hkern u1="&#xd0;" u2="y" k="-74" />
    <hkern u1="&#xd0;" u2="x" k="61" />
    <hkern u1="&#xd0;" u2="w" k="-103" />
    <hkern u1="&#xd0;" u2="v" k="-97" />
    <hkern u1="&#xd0;" u2="u" k="-83" />
    <hkern u1="&#xd0;" u2="t" k="-109" />
    <hkern u1="&#xd0;" u2="s" k="-138" />
    <hkern u1="&#xd0;" u2="r" k="-102" />
    <hkern u1="&#xd0;" u2="p" k="-81" />
    <hkern u1="&#xd0;" u2="o" k="-64" />
    <hkern u1="&#xd0;" u2="n" k="-87" />
    <hkern u1="&#xd0;" u2="m" k="-167" />
    <hkern u1="&#xd0;" u2="l" k="-101" />
    <hkern u1="&#xd0;" u2="k" k="-135" />
    <hkern u1="&#xd0;" u2="j" k="60" />
    <hkern u1="&#xd0;" u2="i" k="-92" />
    <hkern u1="&#xd0;" u2="h" k="-100" />
    <hkern u1="&#xd0;" u2="f" k="-67" />
    <hkern u1="&#xd0;" u2="e" k="-49" />
    <hkern u1="&#xd0;" u2="d" k="47" />
    <hkern u1="&#xd0;" u2="c" k="-52" />
    <hkern u1="&#xd0;" u2="b" k="-135" />
    <hkern u1="&#xd0;" u2="a" k="46" />
    <hkern u1="&#xd0;" u2="`" k="474" />
    <hkern u1="&#xd0;" u2="Z" k="151" />
    <hkern u1="&#xd0;" u2="Y" k="36" />
    <hkern u1="&#xd0;" u2="X" k="54" />
    <hkern u1="&#xd0;" u2="W" k="184" />
    <hkern u1="&#xd0;" u2="V" k="251" />
    <hkern u1="&#xd0;" u2="T" k="243" />
    <hkern u1="&#xd0;" u2="S" k="-71" />
    <hkern u1="&#xd0;" u2="R" k="62" />
    <hkern u1="&#xd0;" u2="Q" k="-157" />
    <hkern u1="&#xd0;" u2="O" k="-157" />
    <hkern u1="&#xd0;" u2="N" k="121" />
    <hkern u1="&#xd0;" u2="M" k="112" />
    <hkern u1="&#xd0;" u2="L" k="63" />
    <hkern u1="&#xd0;" u2="K" k="-179" />
    <hkern u1="&#xd0;" u2="J" k="366" />
    <hkern u1="&#xd0;" u2="I" k="112" />
    <hkern u1="&#xd0;" u2="H" k="-97" />
    <hkern u1="&#xd0;" u2="G" k="-155" />
    <hkern u1="&#xd0;" u2="F" k="-135" />
    <hkern u1="&#xd0;" u2="E" k="-94" />
    <hkern u1="&#xd0;" u2="C" k="-149" />
    <hkern u1="&#xd0;" u2="B" k="-41" />
    <hkern u1="&#xd0;" u2="A" k="50" />
    <hkern u1="&#xd0;" u2="&#x40;" k="-72" />
    <hkern u1="&#xd0;" u2="&#x3f;" k="144" />
    <hkern u1="&#xd0;" u2="&#x3b;" k="192" />
    <hkern u1="&#xd0;" u2="&#x3a;" k="85" />
    <hkern u1="&#xd0;" u2="&#x39;" k="-122" />
    <hkern u1="&#xd0;" u2="&#x38;" k="85" />
    <hkern u1="&#xd0;" u2="&#x37;" k="89" />
    <hkern u1="&#xd0;" u2="&#x36;" k="-101" />
    <hkern u1="&#xd0;" u2="&#x35;" k="-165" />
    <hkern u1="&#xd0;" u2="&#x34;" k="-110" />
    <hkern u1="&#xd0;" u2="&#x33;" k="97" />
    <hkern u1="&#xd0;" u2="&#x32;" k="269" />
    <hkern u1="&#xd0;" u2="&#x30;" k="-155" />
    <hkern u1="&#xd0;" u2="&#x2f;" k="148" />
    <hkern u1="&#xd0;" u2="&#x2e;" k="279" />
    <hkern u1="&#xd0;" u2="&#x2d;" k="-79" />
    <hkern u1="&#xd0;" u2="&#x2c;" k="348" />
    <hkern u1="&#xd0;" u2="&#x29;" k="214" />
    <hkern u1="&#xd0;" u2="&#x28;" k="-92" />
    <hkern u1="&#xd0;" u2="&#x26;" k="66" />
    <hkern u1="&#xd0;" u2="&#x25;" k="148" />
    <hkern u1="&#xd0;" u2="&#x24;" k="-107" />
    <hkern u1="&#xd0;" g2=".notdef" k="-49" />
  </font>
</defs></svg>
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
This is a custom SVG font generated by IcoMoon.
<iconset grid="14"></iconset>
</metadata>
<defs>
<font id="codropsicons" horiz-adv-x="448" >
<font-face units-per-em="448" ascent="384" descent="-64" />
<missing-glyph horiz-adv-x="448" />
<glyph unicode="&#xe001;" d="M 221.657,359.485 ,m0.00,0.00,c 0.00,0.00 -132.984-182.838 -132.205-286.236 0.515-68.522 61.089-123.688 135.314-123.218 74.202,0.479 133.943,56.421 133.428,124.943 C 357.414,178.368 221.657,359.485 221.657,359.485 z"  />
<glyph unicode="&#xe004;" d="M 384.00,160.00l0.00-32.00 q0.00-13.25 -8.125-22.625t-21.125-9.375l-176.00,0.00 l 73.25-73.50q 9.50-9.00 9.50-22.50t-9.50-22.50l-18.75-19.00q-9.25-9.25 -22.50-9.25q-13.00,0.00 -22.75,9.25l-162.75,163.00q-9.25,9.25 -9.25,22.50q0.00,13.00 9.25,22.75l 162.75,162.50q 9.50,9.50 22.75,9.50q 13.00,0.00 22.50-9.50l 18.75-18.50q 9.50-9.50 9.50-22.75t-9.50-22.75l-73.25-73.25l 176.00,0.00 q 13.00,0.00 21.125-9.375 t 8.125-22.625z" horiz-adv-x="384"  />
<glyph unicode="&#xe002;" d="M 407.273-23.273c0.00,0.00-325.818,0.00-366.545,0.00s-40.727,40.727-40.727,40.727l0.00,142.545 l 101.818,183.273l 244.364,0.00 l 101.818-183.273c0.00,0.00,0.00-101.818,0.00-142.545S 407.273-23.273, 407.273-23.273z M 325.818,302.545L 122.182,302.545 
	l-71.273-142.545L 142.545,160.00 c0.00,0.00, 40.727,0.00, 40.727-40.727l0.00-20.364 l 81.455,0.00 l0.00,20.364 c0.00,0.00,0.00,40.727, 40.727,40.727l 91.636,0.00 L 325.818,302.545z M 407.273,119.273l-96.911,0.00 C 307.532,113.917, 305.455,107.503, 305.455,98.909c0.00-40.727-40.727-40.727-40.727-40.727L 183.273,58.182 c0.00,0.00-40.727,0.00-40.727,40.727
	c0.00,8.593-2.077,15.008-4.908,20.364L 40.727,119.273 l0.00-101.818 l 366.545,0.00 L 407.273,119.273 z M 132.364,221.091l 183.273,0.00 L 325.818,200.727L 122.182,200.727 L 132.364,221.091z M 152.727,261.818l 142.545,0.00 L 305.455,241.455L 142.545,241.455 L 152.727,261.818z"  />
<glyph unicode="&#xe000;" d="M 368.00,144.00q0.00-13.50 -9.25-22.75l-162.75-162.75q-9.75-9.25 -22.75-9.25q-12.75,0.00 -22.50,9.25l-18.75,18.75q-9.50,9.50 -9.50,22.75t 9.50,22.75l 73.25,73.25l-176.00,0.00 q-13.00,0.00 -21.125,9.375t-8.125,22.625l0.00,32.00 q0.00,13.25 8.125,22.625t 21.125,9.375l 176.00,0.00 l-73.25,73.50q-9.50,9.00 -9.50,22.50t 9.50,22.50l 18.75,18.75q 9.50,9.50 22.50,9.50q 13.25,0.00 22.75-9.50l 162.75-162.75q 9.25-8.75 9.25-22.50z" horiz-adv-x="384"  />
<glyph unicode="&#xe003;" d="M 224.00-64.00C 100.291-64.00,0.00,36.291,0.00,160.00S 100.291,384.00, 224.00,384.00s 224.00-100.291, 224.00-224.00S 347.709-64.00, 224.00-64.00z
	 M 224.00,343.273c-101.228,0.00-183.273-82.045-183.273-183.273s 82.045-183.273, 183.273-183.273s 183.273,82.045, 183.273,183.273S 325.228,343.273, 224.00,343.273z M 244.364,122.164C 244.364,111.005, 244.364,98.909, 244.364,98.909l-40.727,0.00 c0.00,0.00,0.00,29.466,0.00,40.727
	s 9.123,20.364, 20.364,20.364l0.00,0.00c 22.481,0.00, 40.727,18.246, 40.727,40.727s-18.246,40.727-40.727,40.727S 183.273,223.209, 183.273,200.727c0.00-7.453, 2.138-14.356, 5.641-20.364L 145.437,180.364 C 143.727,186.90, 142.545,193.661, 142.545,200.727
	c0.00,44.983, 36.471,81.455, 81.455,81.455s 81.455-36.471, 81.455-81.455C 305.455,162.831, 279.45,131.247, 244.364,122.164z M 244.364,37.818l-40.727,0.00 l0.00,40.727 l 40.727,0.00 L 244.364,37.818 z"  />
<glyph unicode="&#x20;" horiz-adv-x="224" />
<glyph class="hidden" unicode="&#xf000;" d="M0,384L 448 -64L0 -64 z" horiz-adv-x="0" />
</font></defs></svg>
Icon Set:	Font Awesome -- http://fortawesome.github.com/Font-Awesome/
License:	SIL -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL


Icon Set:	Eco Ico -- http://dribbble.com/shots/665585-Eco-Ico
License:	CC0 -- http://creativecommons.org/publicdomain/zero/1.0/
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
<font-face units-per-em="1200" ascent="960" descent="-240" />
<missing-glyph horiz-adv-x="500" />
<glyph />
<glyph />
<glyph unicode="&#xd;" />
<glyph unicode=" " />
<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
<glyph unicode="&#xa0;" />
<glyph unicode="&#x2000;" horiz-adv-x="652" />
<glyph unicode="&#x2001;" horiz-adv-x="1304" />
<glyph unicode="&#x2002;" horiz-adv-x="652" />
<glyph unicode="&#x2003;" horiz-adv-x="1304" />
<glyph unicode="&#x2004;" horiz-adv-x="434" />
<glyph unicode="&#x2005;" horiz-adv-x="326" />
<glyph unicode="&#x2006;" horiz-adv-x="217" />
<glyph unicode="&#x2007;" horiz-adv-x="217" />
<glyph unicode="&#x2008;" horiz-adv-x="163" />
<glyph unicode="&#x2009;" horiz-adv-x="260" />
<glyph unicode="&#x200a;" horiz-adv-x="72" />
<glyph unicode="&#x202f;" horiz-adv-x="260" />
<glyph unicode="&#x205f;" horiz-adv-x="326" />
<glyph unicode="&#x20ac;" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
<glyph unicode="&#x2212;" d="M200 400h900v300h-900v-300z" />
<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
<glyph unicode="&#x2601;" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
<glyph unicode="&#x2709;" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
<glyph unicode="&#x270f;" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
<glyph unicode="&#xe001;" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
<glyph unicode="&#xe002;" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
<glyph unicode="&#xe003;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
<glyph unicode="&#xe005;" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
<glyph unicode="&#xe006;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
<glyph unicode="&#xe007;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
<glyph unicode="&#xe008;" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
<glyph unicode="&#xe009;" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
<glyph unicode="&#xe010;" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe011;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe012;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe013;" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
<glyph unicode="&#xe014;" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
<glyph unicode="&#xe015;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
<glyph unicode="&#xe016;" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
<glyph unicode="&#xe017;" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
<glyph unicode="&#xe018;" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
<glyph unicode="&#xe019;" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
<glyph unicode="&#xe020;" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
<glyph unicode="&#xe021;" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
<glyph unicode="&#xe022;" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
<glyph unicode="&#xe023;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" />
<glyph unicode="&#xe024;" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
<glyph unicode="&#xe025;" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
<glyph unicode="&#xe026;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
<glyph unicode="&#xe027;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
<glyph unicode="&#xe028;" d="M0 25v475l200 700h800l199 -700l1 -475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
<glyph unicode="&#xe029;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
<glyph unicode="&#xe030;" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
<glyph unicode="&#xe031;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
<glyph unicode="&#xe032;" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
<glyph unicode="&#xe033;" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
<glyph unicode="&#xe034;" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
<glyph unicode="&#xe035;" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
<glyph unicode="&#xe036;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
<glyph unicode="&#xe037;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
<glyph unicode="&#xe038;" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
<glyph unicode="&#xe039;" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
<glyph unicode="&#xe040;" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
<glyph unicode="&#xe041;" d="M0 700l1 475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
<glyph unicode="&#xe042;" d="M1 700l1 475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
<glyph unicode="&#xe043;" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
<glyph unicode="&#xe044;" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
<glyph unicode="&#xe045;" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
<glyph unicode="&#xe046;" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
<glyph unicode="&#xe047;" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
<glyph unicode="&#xe048;" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v71l471 -1q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
<glyph unicode="&#xe049;" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
<glyph unicode="&#xe050;" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
<glyph unicode="&#xe051;" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
<glyph unicode="&#xe052;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
<glyph unicode="&#xe053;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
<glyph unicode="&#xe054;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe055;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe056;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe057;" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
<glyph unicode="&#xe058;" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
<glyph unicode="&#xe059;" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
<glyph unicode="&#xe060;" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
<glyph unicode="&#xe062;" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
<glyph unicode="&#xe063;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
<glyph unicode="&#xe064;" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 139t-64 210zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
<glyph unicode="&#xe065;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
<glyph unicode="&#xe066;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
<glyph unicode="&#xe067;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q61 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l567 567l-137 137l-430 -431l-146 147z" />
<glyph unicode="&#xe068;" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
<glyph unicode="&#xe069;" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe070;" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe071;" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
<glyph unicode="&#xe072;" d="M200 0l900 550l-900 550v-1100z" />
<glyph unicode="&#xe073;" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
<glyph unicode="&#xe074;" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
<glyph unicode="&#xe075;" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
<glyph unicode="&#xe076;" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
<glyph unicode="&#xe077;" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
<glyph unicode="&#xe078;" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
<glyph unicode="&#xe079;" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
<glyph unicode="&#xe080;" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
<glyph unicode="&#xe081;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
<glyph unicode="&#xe082;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h600v200h-600v-200z" />
<glyph unicode="&#xe083;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141 z" />
<glyph unicode="&#xe084;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
<glyph unicode="&#xe085;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM364 700h143q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5 q19 0 30 -10t11 -26q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-50 0 -90.5 -12t-75 -38.5t-53.5 -74.5t-19 -114zM500 300h200v100h-200 v-100z" />
<glyph unicode="&#xe086;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" />
<glyph unicode="&#xe087;" d="M0 500v200h195q31 125 98.5 199.5t206.5 100.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200v-206 q149 48 201 206h-201v200h200q-25 74 -75.5 127t-124.5 77v-204h-200v203q-75 -23 -130 -77t-79 -126h209v-200h-210z" />
<glyph unicode="&#xe088;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
<glyph unicode="&#xe089;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
<glyph unicode="&#xe090;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
<glyph unicode="&#xe091;" d="M0 547l600 453v-300h600v-300h-600v-301z" />
<glyph unicode="&#xe092;" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
<glyph unicode="&#xe093;" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
<glyph unicode="&#xe094;" d="M104 600h296v600h300v-600h298l-449 -600z" />
<glyph unicode="&#xe095;" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
<glyph unicode="&#xe096;" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
<glyph unicode="&#xe097;" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
<glyph unicode="&#xe101;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5h-207q-21 0 -33 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
<glyph unicode="&#xe102;" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111q1 1 1 6.5t-1.5 15t-3.5 17.5l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6 h-111v-100zM100 0h400v400h-400v-400zM200 900q-3 0 14 48t36 96l18 47l213 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
<glyph unicode="&#xe103;" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
<glyph unicode="&#xe104;" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
<glyph unicode="&#xe105;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
<glyph unicode="&#xe106;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
<glyph unicode="&#xe107;" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 34 -48 36.5t-48 -29.5l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
<glyph unicode="&#xe108;" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -20 -13 -28.5t-32 0.5l-94 78h-222l-94 -78q-19 -9 -32 -0.5t-13 28.5 v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
<glyph unicode="&#xe109;" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
<glyph unicode="&#xe110;" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
<glyph unicode="&#xe111;" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
<glyph unicode="&#xe112;" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
<glyph unicode="&#xe113;" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" />
<glyph unicode="&#xe114;" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" />
<glyph unicode="&#xe115;" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" />
<glyph unicode="&#xe116;" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
<glyph unicode="&#xe117;" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
<glyph unicode="&#xe118;" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
<glyph unicode="&#xe119;" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
<glyph unicode="&#xe120;" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
<glyph unicode="&#xe121;" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
<glyph unicode="&#xe122;" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM100 500v250v8v8v7t0.5 7t1.5 5.5t2 5t3 4t4.5 3.5t6 1.5t7.5 0.5h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35 q-55 337 -55 351zM1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe123;" d="M74 350q0 21 13.5 35.5t33.5 14.5h18l117 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5q-18 -36 -18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-8 -3 -23 -8.5 t-65 -20t-103 -25t-132.5 -19.5t-158.5 -9q-125 0 -245.5 20.5t-178.5 40.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
<glyph unicode="&#xe124;" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
<glyph unicode="&#xe125;" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q124 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 213l100 212h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" />
<glyph unicode="&#xe126;" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q124 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" />
<glyph unicode="&#xe127;" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
<glyph unicode="&#xe128;" d="M-101 651q0 72 54 110t139 38l302 -1l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 17 -10.5t26.5 -26t16.5 -36.5v-526q0 -13 -86 -93.5t-94 -80.5h-341q-16 0 -29.5 20t-19.5 41l-130 339h-107q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l107 89v502l-343 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM1000 201v600h200v-600h-200z" />
<glyph unicode="&#xe129;" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6.5v7.5v6.5v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" />
<glyph unicode="&#xe130;" d="M2 585q-16 -31 6 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85q0 -51 -0.5 -153.5t-0.5 -148.5q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM77 565l236 339h503 l89 -100v-294l-340 -130q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
<glyph unicode="&#xe131;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM298 701l2 -201h300l-2 -194l402 294l-402 298v-197h-300z" />
<glyph unicode="&#xe132;" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l402 -294l-2 194h300l2 201h-300v197z" />
<glyph unicode="&#xe133;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" />
<glyph unicode="&#xe134;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" />
<glyph unicode="&#xe135;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60 q12 0 23 -5.5t23 -15t20 -13.5q24 -12 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q104 -3 221 112q30 29 47 47t34.5 49t20.5 62q-14 9 -37 9.5t-36 7.5q-14 7 -49 15t-52 19q-9 0 -39.5 -0.5 t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5 q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 39 2 44q31 -13 58 -14.5t39 3.5l11 4q7 36 -16.5 53.5t-64.5 28.5t-56 23q-19 -3 -37 0 q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -45.5 0.5t-45.5 -2.5q-21 -7 -52 -26.5t-34 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5zM518 916q3 12 16 30t16 25q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -24 17 -66.5t17 -43.5 q-9 2 -31 5t-36 5t-32 8t-30 14zM692 1003h1h-1z" />
<glyph unicode="&#xe136;" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
<glyph unicode="&#xe138;" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
<glyph unicode="&#xe139;" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
<glyph unicode="&#xe140;" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
<glyph unicode="&#xe141;" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM514 609q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-14 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" />
<glyph unicode="&#xe142;" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -78.5 -16.5t-67.5 -51.5l-389 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23 q38 0 53 -36q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60 l517 511q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" />
<glyph unicode="&#xe143;" d="M80 784q0 131 98.5 229.5t230.5 98.5q143 0 241 -129q103 129 246 129q129 0 226 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100q-71 70 -104.5 105.5t-77 89.5t-61 99 t-17.5 91zM250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-105 48.5q-74 0 -132 -83l-118 -171l-114 174q-51 80 -123 80q-60 0 -109.5 -49.5t-49.5 -118.5z" />
<glyph unicode="&#xe144;" d="M57 353q0 -95 66 -159l141 -142q68 -66 159 -66q93 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-8 9 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141q7 -7 19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -17q47 -49 77 -100l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
<glyph unicode="&#xe145;" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
<glyph unicode="&#xe146;" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
<glyph unicode="&#xe148;" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335q-6 1 -15.5 4t-11.5 3q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5 v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5 zM700 237q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
<glyph unicode="&#xe149;" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -28 16.5 -69.5t28 -62.5t41.5 -72h241v-100h-197q8 -50 -2.5 -115 t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q33 1 103 -16t103 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221z" />
<glyph unicode="&#xe150;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
<glyph unicode="&#xe151;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
<glyph unicode="&#xe152;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
<glyph unicode="&#xe153;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
<glyph unicode="&#xe154;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
<glyph unicode="&#xe155;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
<glyph unicode="&#xe156;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
<glyph unicode="&#xe157;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
<glyph unicode="&#xe158;" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
<glyph unicode="&#xe159;" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
<glyph unicode="&#xe160;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
<glyph unicode="&#xe161;" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
<glyph unicode="&#xe162;" d="M217 519q8 -19 31 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8h9q14 0 26 15q11 13 274.5 321.5t264.5 308.5q14 19 5 36q-8 17 -31 17l-301 -1q1 4 78 219.5t79 227.5q2 15 -5 27l-9 9h-9q-15 0 -25 -16q-4 -6 -98 -111.5t-228.5 -257t-209.5 -237.5q-16 -19 -6 -41 z" />
<glyph unicode="&#xe163;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
<glyph unicode="&#xe164;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
<glyph unicode="&#xe165;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
<glyph unicode="&#xe166;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
<glyph unicode="&#xe167;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
<glyph unicode="&#xe168;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
<glyph unicode="&#xe169;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 400l697 1l3 699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" />
<glyph unicode="&#xe170;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l249 -237l-1 697zM900 150h100v50h-100v-50z" />
<glyph unicode="&#xe171;" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
<glyph unicode="&#xe172;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
<glyph unicode="&#xe173;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
<glyph unicode="&#xe174;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" />
<glyph unicode="&#xe175;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" />
<glyph unicode="&#xe176;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
<glyph unicode="&#xe177;" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
<glyph unicode="&#xe178;" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
<glyph unicode="&#xe179;" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -116q-25 -17 -43.5 -51.5t-18.5 -65.5v-359z" />
<glyph unicode="&#xe180;" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
<glyph unicode="&#xe181;" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
<glyph unicode="&#xe182;" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q17 18 13.5 41t-22.5 37l-192 136q-19 14 -45 12t-42 -19l-118 -118q-142 101 -268 227t-227 268l118 118q17 17 20 41.5t-11 44.5 l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" />
<glyph unicode="&#xe183;" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-20 0 -35 14.5t-15 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" />
<glyph unicode="&#xe184;" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
<glyph unicode="&#xe185;" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
<glyph unicode="&#xe186;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
<glyph unicode="&#xe187;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
<glyph unicode="&#xe188;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" />
<glyph unicode="&#xe189;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" />
<glyph unicode="&#xe190;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" />
<glyph unicode="&#xe191;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
<glyph unicode="&#xe192;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
<glyph unicode="&#xe193;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
<glyph unicode="&#xe194;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
<glyph unicode="&#xe195;" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
<glyph unicode="&#xe197;" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300h200 l-300 -300z" />
<glyph unicode="&#xe198;" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104.5t60.5 178.5q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" />
<glyph unicode="&#xe199;" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
<glyph unicode="&#xe200;" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -11.5t1 -11.5q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
</font>
</defs></svg> 
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Generated by IcoMoon</metadata>
<defs>
<font id="linecons" horiz-adv-x="512">
<font-face units-per-em="512" ascent="480" descent="-32" />
<missing-glyph horiz-adv-x="512" />
<glyph unicode="&#x20;" d="" horiz-adv-x="256" />
<glyph unicode="&#xe600;" d="M320 479.92c-106.032 0-192-85.968-192-192 0-32.416 8.112-62.928 22.32-89.728l-133.504-133.472 0.112-0.096c-10.432-10.256-16.928-24.464-16.928-40.256 0-31.184 25.28-56.464 56.464-56.464 15.76 0 29.984 6.496 40.24 16.944l-0.032 0.032 133.456 133.44c26.816-14.256 57.376-22.4 89.872-22.4 106.032 0 192 85.968 192 192s-85.968 192-192 192zM76.72 4.848c-5.152-5.344-12.288-8.688-20.256-8.688-15.6 0-28.24 12.624-28.24 28.224 0 7.968 3.36 15.088 8.688 20.256l-0.144 0.128 129.056 129.056c11.28-15.216 24.72-28.656 39.904-39.968l-129.008-129.008zM320 127.904c-88.352 0-160 71.664-160 160 0 88.352 71.648 160 160 160 88.336 0 160-71.648 160-160 0-88.336-71.664-160-160-160zM320 399.92c4.4 0 8-3.584 8-8s-3.6-8-8-8c-53.024 0-96-42.992-96-96 0-4.416-3.584-8-8-8s-8 3.584-8 8c0 61.856 50.128 112 112 112z" />
<glyph unicode="&#xe601;" d="M486.256 277.12l-49.024 9.824c-2.464 7.088-5.376 13.968-8.592 20.624l27.776 41.664c8.464 12.688 6.784 29.6-4 40.368l-30.784 30.784c-6.192 6.192-14.368 9.376-22.656 9.376-6.128 0-12.32-1.76-17.712-5.376l-41.664-27.76c-6.688 3.232-13.568 6.112-20.656 8.576l-9.824 49.040c-2.976 14.976-16.128 25.728-31.376 25.728h-43.52c-15.248 0-28.384-10.768-31.376-25.728l-9.824-49.040c-7.088-2.464-13.968-5.36-20.624-8.576l-41.648 27.76c-5.424 3.616-11.6 5.376-17.744 5.376-8.272 0-16.448-3.184-22.64-9.376l-30.768-30.784c-10.784-10.784-12.464-27.68-4-40.368l27.76-41.664c-3.232-6.672-6.112-13.552-8.576-20.64l-49.056-9.808c-14.96-2.992-25.728-16.128-25.728-31.376v-43.52c0-15.248 10.768-28.4 25.728-31.376l49.040-9.84c2.464-7.088 5.36-13.968 8.576-20.624l-27.744-41.664c-8.464-12.688-6.784-29.6 4-40.368l30.784-30.784c6.192-6.192 14.368-9.376 22.64-9.376 6.144 0 12.336 1.776 17.728 5.376l41.664 27.776c6.672-3.248 13.552-6.128 20.64-8.592l9.808-49.024c2.992-14.976 16.128-25.744 31.376-25.744h43.52c15.248 0 28.4 10.784 31.376 25.744l9.84 49.024c7.088 2.464 13.968 5.376 20.624 8.592l41.664-27.776c5.408-3.6 11.6-5.376 17.712-5.376 8.288 0 16.464 3.184 22.656 9.376l30.784 30.784c10.784 10.784 12.464 27.68 4 40.368l-27.776 41.664c3.248 6.688 6.128 13.568 8.592 20.656l49.024 9.808c14.96 2.96 25.744 16.128 25.744 31.376v43.52c0 15.248-10.784 28.384-25.744 31.376zM430.944 192.4c-11.12-2.224-20.224-10.16-23.936-20.88-2.064-5.904-4.464-11.632-7.152-17.184-4.976-10.224-4.128-22.288 2.16-31.712l27.776-41.664-30.784-30.784-41.664 27.776c-5.344 3.568-11.536 5.376-17.744 5.376-4.752 0-9.536-1.056-13.936-3.184-5.568-2.688-11.28-5.12-17.216-7.184-10.688-3.712-18.624-12.816-20.848-23.936l-9.84-49.056h-43.52l-9.808 49.056c-2.224 11.12-10.16 20.224-20.864 23.936-5.904 2.064-11.648 4.464-17.2 7.152-4.416 2.16-9.184 3.216-13.952 3.216-6.224 0-12.4-1.808-17.744-5.376l-41.664-27.776-30.784 30.784 27.76 41.664c6.288 9.44 7.104 21.504 2.192 31.68-2.688 5.568-5.104 11.28-7.168 17.216-3.712 10.688-12.832 18.624-23.936 20.848l-49.040 9.84-0.032 43.536 49.056 9.808c11.104 2.224 20.224 10.16 23.936 20.864 2.064 5.904 4.448 11.648 7.152 17.2 4.96 10.208 4.128 22.272-2.176 31.696l-27.744 41.664 30.768 30.784 41.664-27.76c5.344-3.568 11.536-5.376 17.744-5.376 4.752 0 9.52 1.056 13.936 3.184 5.552 2.688 11.28 5.104 17.2 7.168 10.704 3.712 18.64 12.832 20.864 23.936l9.824 49.040 43.52 0.016 9.808-49.056c2.224-11.104 10.16-20.224 20.88-23.936 5.904-2.064 11.632-4.448 17.184-7.152 4.432-2.144 9.184-3.2 13.968-3.2 6.224 0 12.4 1.808 17.744 5.376l41.664 27.76 30.784-30.784-27.776-41.664c-6.288-9.44-7.088-21.488-2.192-31.68 2.688-5.552 5.12-11.28 7.184-17.2 3.712-10.704 12.816-18.64 23.936-20.864l49.024-9.824 0.048-43.52-49.056-9.824zM256 335.984c-61.84 0-112-50.16-112-112 0-61.856 50.16-112 112-112s112 50.16 112 112c0 61.84-50.16 112-112 112zM256 125.968c-54.112 0-98 43.904-98 98 0 54.112 43.888 98 98 98 54.096 0 98-43.888 98-98 0-54.096-43.904-98-98-98zM256 287.984c-35.36 0-64-28.64-64-64 0-35.344 28.64-64 64-64 35.344 0 64 28.656 64 64s-28.656 64-64 64zM256 175.968c-26.496 0-48 21.504-48 48s21.504 48 48 48 48-21.504 48-48c0-26.496-21.504-48-48-48z" />
<glyph unicode="&#xe602;" d="M256 480c-97.216 0-176-78.784-176-176 0-64.496 59.008-132.848 80.496-192.88 32.048-89.52 28.496-143.12 95.504-143.12 68 0 63.44 53.344 95.504 142.752 21.552 60.16 80.496 129.248 80.496 193.248 0 97.216-78.816 176-176 176zM297.472 45.184l-79.328-9.904c-2.832 8.192-5.872 17.776-9.568 30.288-0.048 0.16-0.112 0.336-0.144 0.496l99.008 12.368c-1.408-4.72-2.912-9.68-4.224-14.128-2.096-7.184-3.968-13.424-5.744-19.12zM203.776 81.472c-2.912 9.632-6.192 19.776-9.84 30.528h124.256c-1.968-5.744-3.936-11.504-5.632-16.944l-108.784-13.584zM256 0c-16.208 0-23.664 1.872-31.952 20l67.808 8.496c-9.824-26.464-16.976-28.496-35.856-28.496zM330.752 144h-149.328c-7.968 17.28-17.536 34.56-26.976 51.472-20.88 37.36-42.448 76-42.448 108.528 0 79.408 64.592 144 144 144s144-64.592 144-144c0-32.288-21.6-71.136-42.496-108.72-9.344-16.848-18.848-34.096-26.752-51.28zM256 400c4.4 0 8-3.584 8-8s-3.584-8-8-8c-44.112 0-80-35.888-80-80 0-4.416-3.584-8-8-8s-8 3.584-8 8c0 52.944 43.056 96 96 96z" />
<glyph unicode="&#xe603;" d="M448 400h-384c-35.344 0-64-28.672-64-64v-208c0-35.344 28.656-64 64-64h384c35.344 0 64 28.656 64 64v208c0 35.328-28.656 64-64 64zM32 316l111.984-84-111.984-84v168zM480 128c0-17.664-14.368-32-32-32h-384c-17.648 0-32 14.336-32 32l125.312 94 69.888-52.432c8.528-6.368 18.656-9.6 28.8-9.6 10.128 0 20.256 3.216 28.784 9.6l69.904 52.432 125.312-94zM480 148l-112 84 112 84v-168zM275.184 182.368c-5.584-4.192-12.208-6.4-19.184-6.4s-13.616 2.224-19.2 6.4l-204.8 153.632c0 17.648 14.352 32 32 32h384c17.632 0 32-14.352 32-32l-204.816-153.632z" />
<glyph unicode="&#xe604;" d="M504.688 477.44c-2.656 1.712-5.68 2.56-8.688 2.56-3.088 0-6.192-0.88-8.88-2.688l-480-320c-4.944-3.28-7.664-9.056-7.024-14.976 0.608-5.904 4.448-11.008 9.968-13.184l125.184-50.096 58.864-103.008c2.816-4.944 8.048-8 13.712-8.064 0.064 0 0.112 0 0.176 0 5.616 0 10.832 2.976 13.712 7.776l33.232 55.408 155.12-62.032c1.904-0.768 3.904-1.136 5.936-1.136 2.72 0 5.408 0.688 7.84 2.064 4.224 2.368 7.12 6.528 7.936 11.312l80 480c1.040 6.288-1.744 12.592-7.088 16.064zM50.176 147.568l370.8 247.216-269.6-288.592c-1.424 0.848-2.688 1.968-4.256 2.592l-96.944 38.784zM163.024 94.944c-0.032 0.064-0.080 0.096-0.112 0.16l303.088 324.4-258.384-402.592-44.592 78.032zM403.472 6.256l-136.656 54.656c-3.248 1.28-6.624 1.712-9.968 1.904l210.432 326.208-63.808-382.768z" />
<glyph unicode="&#xe605;" d="M400 480c-32.848 0-58.656-22.56-77.184-57.376l-0.336 0.192c-26.912-52.688-66.976-86.816-110.864-86.816h-147.616c-35.888 0-64-35.152-64-80 0-44.88 28.112-80 64-80 17.648-0.064 31.92-14.336 31.92-32v-144c0-17.68 14.336-32 32-32h64c17.664 0 32 14.32 32 32v16c0 16-16 23.152-16 32v112c0 0.368 0.256 0.624 0.288 0.992 0.16 2.288 0.784 4.4 1.792 6.32 0.288 0.528 0.592 0.944 0.944 1.408 1.28 1.904 2.896 3.472 4.864 4.688 0.096 0.064 0.128 0.16 0.224 0.224 0.064 0 0.112 0.064 0.176 0.064 1.28 0.72 2.816 0.88 4.256 1.28 40.384-4.288 76.944-36.88 102.032-85.968l0.4 0.192c18.544-34.704 44.288-57.2 77.104-57.2 73.536 0 112 112.688 112 224s-38.464 224-112 224zM320 256c0 16.592 0.976 32.624 2.624 48h45.376c17.664 0 32-21.504 32-48 0-26.528-14.336-48-32-48h-45.376c-1.648 15.376-2.624 31.376-2.624 48zM32 256c0 26.496 14.336 48 32 48h112.224c-9.92-11.664-16.224-28.592-16.224-48 0-19.44 6.304-36.368 16.224-48h-112.224c-17.664 0-32 21.472-32 48zM191.92 0h-64v144c0 11.664-3.12 22.56-8.592 32h11.168v-0.192h48.128c-1.712-4.976-2.704-10.256-2.704-15.808v-112c0-15.408 8.608-25.664 13.744-31.776 0.704-0.848 1.536-1.712 2.256-2.656v-13.568zM211.616 207.808h-3.616v0.192c-17.664 0-32 21.472-32 48 0 26.496 14.336 48 32 48h3.616c30.176 0 58.432 11.872 83.296 32.288-4.576-25.76-6.912-53.040-6.912-80.288 0-27.344 2.336-54.72 6.944-80.496-24.88 20.432-53.152 32.304-83.328 32.304zM400 64c-32.288 0-60 45.936-72.656 112h40.656c35.872 0 64 35.12 64 80 0 44.848-28.128 80-64 80h-40.656c12.656 66.032 40.368 112 72.656 112 44.192 0 80-85.968 80-192s-35.808-192-80-192z" />
<glyph unicode="&#xe606;" d="M469.344 432h-69.344v32c0 8.848-7.152 16-16 16s-16-7.152-16-16v-32h-96v32c0 8.848-7.168 16-16 16s-16-7.152-16-16v-32h-96v32c0 8.848-7.168 16-16 16s-16-7.152-16-16v-32h-69.328c-23.568 0-42.672-19.088-42.672-42.656v-378.672c0-23.568 19.104-42.672 42.672-42.672h426.672c23.568 0 42.656 19.104 42.656 42.672v378.672c0 23.568-19.088 42.656-42.656 42.656zM480 10.672c0-5.888-4.784-10.672-10.656-10.672h-426.672c-5.888 0-10.672 4.784-10.672 10.672v378.672c0 5.872 4.784 10.656 10.672 10.656h69.328v-32c0-8.848 7.168-16 16-16s16 7.152 16 16v32h96v-32c0-8.848 7.168-16 16-16s16 7.152 16 16v32h96v-32c0-8.848 7.152-16 16-16s16 7.152 16 16v32h69.344c5.872 0 10.656-4.784 10.656-10.656v-378.672zM112 288h64v-48h-64zM112 208h64v-48h-64zM112 128h64v-48h-64zM224 128h64v-48h-64zM224 208h64v-48h-64zM224 288h64v-48h-64zM336 128h64v-48h-64zM336 208h64v-48h-64zM336 288h64v-48h-64z" />
</font></defs></svg>
<?php require("w/0fonctions.php");
?>
<?php
require("w/1head.php");
?>
<script type="text/javascript">
<?php 
include("lib/creerBdd.php");
global $id;
$reponse = $bdd->query('SELECT img_link FROM article ORDER BY article_uid DESC');
  // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
$images = array();
echo 'window.images = [' ;
$compteur=1;
while ($donnees = $reponse->fetch())
{
 $compteur++;
 echo '"'.htmlspecialchars($donnees['img_link']).'",';
}
echo "];";
$reponse->closeCursor();
?>
</script>
</head>
<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
  <?php 
  require("w/2lightbox.php");
  require("w/3intro.php");

#  PAGE 1/2  ===========================================================================-->
  require("w/4headerScroller.php");
  require("w/5notification.php");
  ?>

  <div class="mobile-content">
    <div class="flexslider">
      <ul class="slides">
        <?php 
               // DestinationClock();
        ?>
      </ul>
    </div>
  </div>
  <div class='timeline' style="">
    <div class='timeline-bg timeline-bg1 show'></div>
    <div class='timeline-controller'>
      <div class='mode-icon mode-icon1 show'>
       <?php 
       include("lib/creerBdd.php");
       global $id;
       $reponse = $bdd->query('SELECT img_link FROM article WHERE article_uid = '.$compteur);
    // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
       
       while ($donnees = $reponse->fetch() ){
        echo '<img class="centreImgTime" src="'.htmlspecialchars($donnees['img_link']).'">';
        
      }
      $reponse->closeCursor();
      ?>
    </div>
  </div>

  <div class='inside'>
    <div class='clocks'>
      <div class='time'>
        <span class='hours'>1</span>
      </div>
    </div>

    <div class='modes' id="dest">
     <?php 
     include("lib/creerBdd.php");
     global $id;
     $nom = ($lang==="fr") ? "nom" : "name" ;
     $voirlarticle = ($lang==="fr") ? 'Voir l\'article' : 'See the article' ;
     $reponse = $bdd->query('SELECT article_uid,'.$nom.' FROM article ORDER BY article_uid DESC LIMIT 3;');
                  // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
     
     while ($donnees = $reponse->fetch() ){
      $au=$compteur + 1 - htmlspecialchars($donnees['article_uid']);
      
      echo '<p class="mode mode'.$au.'" data-bg="'.$au.'">
      <br/>        <span class="titreArticle">     '.htmlspecialchars($donnees[$nom]).'      </span>
      <br/> <br/> <a class="btn btn-lg btn-primary"  href="article.php?id='.htmlspecialchars($donnees['article_uid']).'"> <span style="display:block; font-size: 30px; font-weight: normal;font-family: inherit;"> '.$voirlarticle.'</span> </a>
      </p>';
    }
    $reponse->closeCursor();
    ?>
  </div>
</div>
</div>
<div id="lesArticles"></div>
<div class="carousel">
  <div class="ourArticles" >
    <a href="articles.php"  class="discover btn btn-xs btn-primary" role="button" title="<?php echo ALTDAOA; ?>">
      <h1 class="paddingZero"> <?php echo DAOA; ?></h1>
    </a>
  </div>
  <div class="flex-slider carousel">
    <ul class="slides">
      <?php
      include("lib/creerBdd.php");
      $reponse = $bdd->query('SELECT nom, name,article_uid,img_link FROM article ORDER BY article_uid DESC');
      while ($donnees = $reponse->fetch())
      {
       $nome = ($lang==='fr') ? 'nom' : 'name' ;
       ImgCarroussel(htmlspecialchars($donnees[$nome]),htmlspecialchars($donnees['article_uid']),'article', htmlspecialchars($donnees['img_link']));
     }
     $reponse->closeCursor();
     ?>
   </ul>
 </div>
</div>

<div class="carousel" >
  <div class="ourArticles">
    <a href="challenges.php"  class="discover btn btn-xs btn-primary" role="button" title="<?php echo ALTDAOC; ?>">
      <h1> <?php echo DAOC; ?> </h1>
    </a>
  </div>
  <div class="flex-slider carousel">
    <ul class="slides">
     <?php 
     include("lib/creerBdd.php");
     $reponse = $bdd->query('SELECT nom, name,challenge_uid,img_link FROM challenge ORDER BY challenge_uid DESC');
     while ($donnees = $reponse->fetch())
     {
       $nome = ($lang==='fr') ? 'nom' : 'name' ;
       ImgCarroussel(htmlspecialchars($donnees[$nome]),htmlspecialchars($donnees['challenge_uid']),'challenge', htmlspecialchars($donnees['img_link']));
     }
     $reponse->closeCursor();
     ?>
   </ul>
 </div>
</div>
<div id="caracteristiques"></div><!--INDISPENSABLE : WHY?-->
<div class="galery" id="gallery">
  <div class="inside">
    <div class="slider">
      <div class="flexslider">
        <ul class="slides">
          <li><img alt="Pedra Da Gavea, Rio de Janeiro, Brazil" src="https://www.dropbox.com/s/hvif42n3l17rgog/H1.jpg?dl=1" /></li>
          <li><img alt="Aguas Calientes, Tupiza Tours, Bolivia" src="https://www.dropbox.com/s/xlwjnz50oj6igc3/H2.jpg?dl=1" /></li>
          <li><img alt="Salar de Uyuni, Bolivia" src="https://www.dropbox.com/s/w5yhhma435scqqm/H3.jpg?dl=1" /></li>
          <li><img alt="Death Road, La Paz, Bolivia" src="https://www.dropbox.com/s/f9d3taiq7692c5t/H4.jpg?dl=1" /></li>
          <li><img alt="Machu Picchu, Cuzco, Peru" src="https://www.dropbox.com/s/jiv0yfhr1svilbq/H5.jpg?dl=1" /></li>
          <li><img alt="CaÃ±on del Colca, Cabanaconde, Peru" src="https://www.dropbox.com/s/o25hln4wil9kwat/H6.jpg?dl=1" /></li>
          <li><img alt="Kuelap, Peru" src="https://www.dropbox.com/s/jrn4g6ql75u13z3/H7.jpg?dl=1" /></li>
          <li><img alt="Rotoroa lake, Nelson Lakes Park, New Zealand" src="https://www.dropbox.com/s/q8h0ofbx1gf20lu/H8.jpg?dl=1" /></li>
          <li><img alt="Cascade Saddle, New Zealand" src="https://www.dropbox.com/s/fhd7gt6l42vdc6j/H9.jpg?dl=1" /></li>
          <li><img alt="Mount Cook, New Zealand" src="https://www.dropbox.com/s/odqibwa2rk9ly61/H10.jpg?dl=1" /></li>
        </ul>
      </div>
    </div>
  </div>
</div>

<?php require("w/8footer.php");?>
<?php require("w/9end.php");?>
(function($){$.organicTabs=function(el,options){var base=this;base.$el=$(el);base.$nav=base.$el.find(".nav");base.init=function(){base.options=$.extend({},$.organicTabs.defaultOptions,options);$(".hide").css({"position":"relative","top":0,"left":0,"display":"none"});base.$nav.delegate("li > a","click",function(){var curList=base.$el.find("a.current").attr("href").substring(1),$newList=$(this),listID=$newList.attr("href").substring(1),$allListWrap=base.$el.find(".list-wrap"),curListHeight=$allListWrap.height();$allListWrap.height(curListHeight);if((listID!=curList)&&(base.$el.find(":animated").length==0)){base.$el.find("#"+curList).fadeOut(base.options.speed,function(){base.$el.find("#"+listID).fadeIn(base.options.speed);var newHeight=base.$el.find("#"+listID).height();$allListWrap.animate({height:newHeight});base.$el.find(".nav li a").removeClass("current");$newList.addClass("current");});}
return false;});};base.init();};$.organicTabs.defaultOptions={"speed":300};$.fn.organicTabs=function(options){return this.each(function(){(new $.organicTabs(this,options));});};})(jQuery);
(function ($) {
	"use strict";

	//Shortcut for fancyBox object
	var F = $.fancybox,
		format = function( url, rez, params ) {
			params = params || '';

			if ( $.type( params ) === "object" ) {
				params = $.param(params, true);
			}

			$.each(rez, function(key, value) {
				url = url.replace( '$' + key, value || '' );
			});

			if (params.length) {
				url += ( url.indexOf('?') > 0 ? '&' : '?' ) + params;
			}

			return url;
		};

	//Add helper object
	F.helpers.media = {
		defaults : {
			youtube : {
				matcher : /(youtube\.com|youtu\.be|youtube-nocookie\.com)\/(watch\?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*)).*/i,
				params  : {
					autoplay    : 1,
					autohide    : 1,
					fs          : 1,
					rel         : 0,
					hd          : 1,
					wmode       : 'opaque',
					enablejsapi : 1
				},
				type : 'iframe',
				url  : '//www.youtube.com/embed/$3'
			},
			vimeo : {
				matcher : /(?:vimeo(?:pro)?.com)\/(?:[^\d]+)?(\d+)(?:.*)/,
				params  : {
					autoplay      : 1,
					hd            : 1,
					show_title    : 1,
					show_byline   : 1,
					show_portrait : 0,
					fullscreen    : 1
				},
				type : 'iframe',
				url  : '//player.vimeo.com/video/$1'
			},
			metacafe : {
				matcher : /metacafe.com\/(?:watch|fplayer)\/([\w\-]{1,10})/,
				params  : {
					autoPlay : 'yes'
				},
				type : 'swf',
				url  : function( rez, params, obj ) {
					obj.swf.flashVars = 'playerVars=' + $.param( params, true );

					return '//www.metacafe.com/fplayer/' + rez[1] + '/.swf';
				}
			},
			dailymotion : {
				matcher : /dailymotion.com\/video\/(.*)\/?(.*)/,
				params  : {
					additionalInfos : 0,
					autoStart : 1
				},
				type : 'swf',
				url  : '//www.dailymotion.com/swf/video/$1'
			},
			twitvid : {
				matcher : /twitvid\.com\/([a-zA-Z0-9_\-\?\=]+)/i,
				params  : {
					autoplay : 0
				},
				type : 'iframe',
				url  : '//www.twitvid.com/embed.php?guid=$1'
			},
			twitpic : {
				matcher : /twitpic\.com\/(?!(?:place|photos|events)\/)([a-zA-Z0-9\?\=\-]+)/i,
				type : 'image',
				url  : '//twitpic.com/show/full/$1/'
			},
			instagram : {
				matcher : /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
				type : 'image',
				url  : '//$1/p/$2/media/?size=l'
			},
			google_maps : {
				matcher : /maps\.google\.([a-z]{2,3}(\.[a-z]{2})?)\/(\?ll=|maps\?)(.*)/i,
				type : 'iframe',
				url  : function( rez ) {
					return '//maps.google.' + rez[1] + '/' + rez[3] + '' + rez[4] + '&output=' + (rez[4].indexOf('layer=c') > 0 ? 'svembed' : 'embed');
				}
			}
		},

		beforeLoad : function(opts, obj) {
			var url   = obj.href || '',
				type  = false,
				what,
				item,
				rez,
				params;

			for (what in opts) {
				if (opts.hasOwnProperty(what)) {
					item = opts[ what ];
					rez  = url.match( item.matcher );

					if (rez) {
						type   = item.type;
						params = $.extend(true, {}, item.params, obj[ what ] || ($.isPlainObject(opts[ what ]) ? opts[ what ].params : null));

						url = $.type( item.url ) === "function" ? item.url.call( this, rez, params, obj ) : format( item.url, rez, params );

						break;
					}
				}
			}

			if (type) {
				obj.href = url;
				obj.type = type;

				obj.autoHeight = false;
			}
		}
	};

}(jQuery));
;(function($) {

    $.organicTabs = function(el, options) {
    
        var base = this;
        base.$el = $(el);
        base.$nav = base.$el.find(".nav");
                
        base.init = function() {
        
            base.options = $.extend({},$.organicTabs.defaultOptions, options);
            
            // Accessible hiding fix
            $(".hide").css({
                "position": "relative",
                "top": 0,
                "left": 0,
                "display": "none"
            }); 
            
            base.$nav.delegate("li > a", "click", function() {
            
                // Figure out current list via CSS class
                var curList = base.$el.find("a.current").attr("href").substring(1),
                
                // List moving to
                    $newList = $(this),
                    
                // Figure out ID of new list
                    listID = $newList.attr("href").substring(1),
                
                // Set outer wrapper height to (static) height of current inner list
                    $allListWrap = base.$el.find(".list-wrap"),
                    curListHeight = $allListWrap.height();
                $allListWrap.height(curListHeight);
                                        
                if ((listID != curList) && ( base.$el.find(":animated").length == 0)) {
                                            
                    // Fade out current list
                    base.$el.find("#"+curList).fadeOut(base.options.speed, function() {
                        
                        // Fade in new list on callback
                        base.$el.find("#"+listID).fadeIn(base.options.speed);
                        
                        // Adjust outer wrapper to fit new list snuggly
                        var newHeight = base.$el.find("#"+listID).height();
                        $allListWrap.animate({
                            height: newHeight
                        });
                        
                        // Remove highlighting - Add to just-clicked tab
                        base.$el.find(".nav li a").removeClass("current");
                        $newList.addClass("current");
                            
                    });
                    
                }   
                
                // Don't behave like a regular link
                // Stop propegation and bubbling
                return false;
            });
            
        };
        base.init();
    };
    
    $.organicTabs.defaultOptions = {
        "speed": 300
    };
    
    $.fn.organicTabs = function(options) {
        return this.each(function() {
            (new $.organicTabs(this, options));
        });
    };
    
})(jQuery);
;/* Modernizr 2.6.2 (Custom Build) | MIT & BSD
 * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
 */
;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d<e;d++)u[c[d]]=c[d]in k;return u.list&&(u.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),u}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)k.setAttribute("type",f=a[d]),e=k.type!=="text",e&&(k.value=l,k.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&k.style.WebkitAppearance!==c?(g.appendChild(k),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(k,null).WebkitAppearance!=="textfield"&&k.offsetHeight!==0,g.removeChild(k)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=k.checkValidity&&k.checkValidity()===!1:e=k.value!=l)),t[a[d]]=!!e;return t}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k=b.createElement("input"),l=":)",m={}.toString,n=" -webkit- -moz- -o- -ms- ".split(" "),o="Webkit Moz O ms",p=o.split(" "),q=o.toLowerCase().split(" "),r={svg:"http://www.w3.org/2000/svg"},s={},t={},u={},v=[],w=v.slice,x,y=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["&#173;",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,f,g="_html5shiv",h=0,i={},j;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};

;/* Modernizr 2.0.6 (Custom Build) | MIT & BSD */
;window.Modernizr=function(a,b,c){function D(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+o.join(c+" ")+c).split(" ");return C(d,b)}function C(a,b){for(var d in a)if(k[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function B(a,b){return!!~(""+a).indexOf(b)}function A(a,b){return typeof a===b}function z(a,b){return y(n.join(a+";")+(b||""))}function y(a){k.cssText=a}var d="2.0.6",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l,m=Object.prototype.toString,n=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),o="Webkit Moz O ms Khtml".split(" "),p={},q={},r={},s=[],t=function(a,c,d,e){var f,h,j,k=b.createElement("div");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:i+(d+1),k.appendChild(j);f=["&shy;","<style>",a,"</style>"].join(""),k.id=i,k.innerHTML+=f,g.appendChild(k),h=c(k,a),k.parentNode.removeChild(k);return!!h},u=function(b){if(a.matchMedia)return matchMedia(b).matches;var c;t("@media "+b+" { #"+i+" { position: absolute; } }",function(b){c=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position=="absolute"});return c},v,w={}.hasOwnProperty,x;!A(w,c)&&!A(w.call,c)?x=function(a,b){return w.call(a,b)}:x=function(a,b){return b in a&&A(a.constructor.prototype[b],c)},p.rgba=function(){y("background-color:rgba(150,255,150,.5)");return B(k.backgroundColor,"rgba")},p.boxshadow=function(){return D("boxShadow")},p.csstransitions=function(){return D("transitionProperty")};for(var E in p)x(p,E)&&(v=E.toLowerCase(),e[v]=p[E](),s.push((e[v]?"":"no-")+v));e.addTest=function(a,b){if(typeof a=="object")for(var d in a)x(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return;b=typeof b=="boolean"?b:!!b(),g.className+=" "+(b?"":"no-")+a,e[a]=b}return e},y(""),j=l=null,a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1}()&&function(a,b){function s(a){var b=-1;while(++b<g)a.createElement(f[b])}a.iepp=a.iepp||{};var d=a.iepp,e=d.html5elements||"abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",f=e.split("|"),g=f.length,h=new RegExp("(^|\\s)("+e+")","gi"),i=new RegExp("<(/*)("+e+")","gi"),j=/^\s*[\{\}]\s*$/,k=new RegExp("(^|[^\\n]*?\\s)("+e+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),l=b.createDocumentFragment(),m=b.documentElement,n=m.firstChild,o=b.createElement("body"),p=b.createElement("style"),q=/print|all/,r;d.getCSS=function(a,b){if(a+""===c)return"";var e=-1,f=a.length,g,h=[];while(++e<f){g=a[e];if(g.disabled)continue;b=g.media||b,q.test(b)&&h.push(d.getCSS(g.imports,b),g.cssText),b="all"}return h.join("")},d.parseCSS=function(a){var b=[],c;while((c=k.exec(a))!=null)b.push(((j.exec(c[1])?"\n":c[1])+c[2]+c[3]).replace(h,"$1.iepp_$2")+c[4]);return b.join("\n")},d.writeHTML=function(){var a=-1;r=r||b.body;while(++a<g){var c=b.getElementsByTagName(f[a]),d=c.length,e=-1;while(++e<d)c[e].className.indexOf("iepp_")<0&&(c[e].className+=" iepp_"+f[a])}l.appendChild(r),m.appendChild(o),o.className=r.className,o.id=r.id,o.innerHTML=r.innerHTML.replace(i,"<$1font")},d._beforePrint=function(){p.styleSheet.cssText=d.parseCSS(d.getCSS(b.styleSheets,"all")),d.writeHTML()},d.restoreHTML=function(){o.innerHTML="",m.removeChild(o),m.appendChild(r)},d._afterPrint=function(){d.restoreHTML(),p.styleSheet.cssText=""},s(b),s(l);d.disablePP||(n.insertBefore(p,n.firstChild),p.media="print",p.className="iepp-printshim",a.attachEvent("onbeforeprint",d._beforePrint),a.attachEvent("onafterprint",d._afterPrint))}(a,b),e._version=d,e._prefixes=n,e._domPrefixes=o,e.mq=u,e.testProp=function(a){return C([a])},e.testAllProps=D,e.testStyles=t,g.className=g.className.replace(/\bno-js\b/,"")+(f?" js "+s.join(" "):"");return e}(this,this.document),function(a,b){function u(){r(!0)}a.respond={},respond.update=function(){},respond.mediaQueriesSupported=b;if(!b){var c=a.document,d=c.documentElement,e=[],f=[],g=[],h={},i=30,j=c.getElementsByTagName("head")[0]||d,k=j.getElementsByTagName("link"),l=[],m=function(){var b=k,c=b.length,d=0,e,f,g,i;for(;d<c;d++)e=b[d],f=e.href,g=e.media,i=e.rel&&e.rel.toLowerCase()==="stylesheet",!!f&&i&&!h[f]&&(!/^([a-zA-Z]+?:(\/\/)?(www\.)?)/.test(f)||f.replace(RegExp.$1,"").split("/")[0]===a.location.host?l.push({href:f,media:g}):h[f]=!0);n()},n=function(){if(l.length){var a=l.shift();s(a.href,function(b){o(b,a.href,a.media),h[a.href]=!0,n()})}},o=function(a,b,c){var d=a.match(/@media[^\{]+\{([^\{\}]+\{[^\}\{]+\})+/gi),g=d&&d.length||0,b=b.substring(0,b.lastIndexOf("/")),h=function(a){return a.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+b+"$2$3")},i=!g&&c,j=0,k,l,m,n,o;b.length&&(b+="/"),i&&(g=1);for(;j<g;j++){k=0,i?(l=c,f.push(h(a))):(l=d[j].match(/@media ([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1,f.push(RegExp.$2&&h(RegExp.$2))),n=l.split(","),o=n.length;for(;k<o;k++)m=n[k],e.push({media:m.match(/(only\s+)?([a-zA-Z]+)(\sand)?/)&&RegExp.$2,rules:f.length-1,minw:m.match(/\(min\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1),maxw:m.match(/\(max\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1)})}r()},p,q,r=function(a){var b="clientWidth",h=d[b],l=c.compatMode==="CSS1Compat"&&h||c.body[b]||h,m={},n=c.createDocumentFragment(),o=k[k.length-1],s=(new Date).getTime();if(a&&p&&s-p<i)clearTimeout(q),q=setTimeout(r,i);else{p=s;for(var t in e){var u=e[t];if(!u.minw&&!u.maxw||(!u.minw||u.minw&&l>=u.minw)&&(!u.maxw||u.maxw&&l<=u.maxw))m[u.media]||(m[u.media]=[]),m[u.media].push(f[u.rules])}for(var t in g)g[t]&&g[t].parentNode===j&&j.removeChild(g[t]);for(var t in m){var v=c.createElement("style"),w=m[t].join("\n");v.type="text/css",v.media=t,v.styleSheet?v.styleSheet.cssText=w:v.appendChild(c.createTextNode(w)),n.appendChild(v),g.push(v)}j.insertBefore(n,o.nextSibling)}},s=function(a,b){var c=t();if(!!c){c.open("GET",a,!0),c.onreadystatechange=function(){c.readyState==4&&(c.status==200||c.status==304)&&b(c.responseText)};if(c.readyState==4)return;c.send()}},t=function(){var a=!1,b=[function(){return new ActiveXObject("Microsoft.XMLHTTP")},function(){return new XMLHttpRequest}],c=b.length;while(c--){try{a=b[c]()}catch(d){continue}break}return function(){return a}}();m(),respond.update=m,a.addEventListener?a.addEventListener("resize",u,!1):a.attachEvent&&a.attachEvent("onresize",u)}}(this,Modernizr.mq("only all")),function(a,b,c){function k(a){return!a||a=="loaded"||a=="complete"}function j(){var a=1,b=-1;while(p.length- ++b)if(p[b].s&&!(a=p[b].r))break;a&&g()}function i(a){var c=b.createElement("script"),d;c.src=a.s,c.onreadystatechange=c.onload=function(){!d&&k(c.readyState)&&(d=1,j(),c.onload=c.onreadystatechange=null)},m(function(){d||(d=1,j())},H.errorTimeout),a.e?c.onload():n.parentNode.insertBefore(c,n)}function h(a){var c=b.createElement("link"),d;c.href=a.s,c.rel="stylesheet",c.type="text/css";if(!a.e&&(w||r)){var e=function(a){m(function(){if(!d)try{a.sheet.cssRules.length?(d=1,j()):e(a)}catch(b){b.code==1e3||b.message=="security"||b.message=="denied"?(d=1,m(function(){j()},0)):e(a)}},0)};e(c)}else c.onload=function(){d||(d=1,m(function(){j()},0))},a.e&&c.onload();m(function(){d||(d=1,j())},H.errorTimeout),!a.e&&n.parentNode.insertBefore(c,n)}function g(){var a=p.shift();q=1,a?a.t?m(function(){a.t=="c"?h(a):i(a)},0):(a(),j()):q=0}function f(a,c,d,e,f,h){function i(){!o&&k(l.readyState)&&(r.r=o=1,!q&&j(),l.onload=l.onreadystatechange=null,m(function(){u.removeChild(l)},0))}var l=b.createElement(a),o=0,r={t:d,s:c,e:h};l.src=l.data=c,!s&&(l.style.display="none"),l.width=l.height="0",a!="object"&&(l.type=d),l.onload=l.onreadystatechange=i,a=="img"?l.onerror=i:a=="script"&&(l.onerror=function(){r.e=r.r=1,g()}),p.splice(e,0,r),u.insertBefore(l,s?null:n),m(function(){o||(u.removeChild(l),r.r=r.e=o=1,j())},H.errorTimeout)}function e(a,b,c){var d=b=="c"?z:y;q=0,b=b||"j",C(a)?f(d,a,b,this.i++,l,c):(p.splice(this.i++,0,a),p.length==1&&g());return this}function d(){var a=H;a.loader={load:e,i:0};return a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=r&&!s,u=s?l:n.parentNode,v=a.opera&&o.call(a.opera)=="[object Opera]",w="webkitAppearance"in l.style,x=w&&"async"in b.createElement("script"),y=r?"object":v||x?"img":"script",z=w?"img":y,A=Array.isArray||function(a){return o.call(a)=="[object Array]"},B=function(a){return Object(a)===a},C=function(a){return typeof a=="string"},D=function(a){return o.call(a)=="[object Function]"},E=[],F={},G,H;H=function(a){function f(a){var b=a.split("!"),c=E.length,d=b.pop(),e=b.length,f={url:d,origUrl:d,prefixes:b},g,h;for(h=0;h<e;h++)g=F[b[h]],g&&(f=g(f));for(h=0;h<c;h++)f=E[h](f);return f}function e(a,b,e,g,h){var i=f(a),j=i.autoCallback;if(!i.bypass){b&&(b=D(b)?b:b[a]||b[g]||b[a.split("/").pop().split("?")[0]]);if(i.instead)return i.instead(a,b,e,g,h);e.load(i.url,i.forceCSS||!i.forceJS&&/css$/.test(i.url)?"c":c,i.noexec),(D(b)||D(j))&&e.load(function(){d(),b&&b(i.origUrl,h,g),j&&j(i.origUrl,h,g)})}}function b(a,b){function c(a){if(C(a))e(a,h,b,0,d);else if(B(a))for(i in a)a.hasOwnProperty(i)&&e(a[i],h,b,i,d)}var d=!!a.test,f=d?a.yep:a.nope,g=a.load||a.both,h=a.callback,i;c(f),c(g),a.complete&&b.load(a.complete)}var g,h,i=this.yepnope.loader;if(C(a))e(a,0,i,0);else if(A(a))for(g=0;g<a.length;g++)h=a[g],C(h)?e(h,0,i,0):A(h)?H(h):B(h)&&b(h,i);else B(a)&&b(a,i)},H.addPrefix=function(a,b){F[a]=b},H.addFilter=function(a){E.push(a)},H.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",G=function(){b.removeEventListener("DOMContentLoaded",G,0),b.readyState="complete"},0)),a.yepnope=d()}(this,this.document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
;/*
 * jQuery FlexSlider v2.2.0
 * Copyright 2012 WooThemes
 * Contributing Author: Tyler Smith
 */
;
(function ($) {

  //FlexSlider: Object Instance
  $.flexslider = function(el, options) {
    var slider = $(el);

    // making variables public
    slider.vars = $.extend({}, $.flexslider.defaults, options);

    var namespace = slider.vars.namespace,
        msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
        touch = (( "ontouchstart" in window ) || msGesture || window.DocumentTouch && document instanceof DocumentTouch) && slider.vars.touch,
        // depricating this idea, as devices are being released with both of these events
        //eventType = (touch) ? "touchend" : "click",
        eventType = "click touchend MSPointerUp",
        watchedEvent = "",
        watchedEventClearTimer,
        vertical = slider.vars.direction === "vertical",
        reverse = slider.vars.reverse,
        carousel = (slider.vars.itemWidth > 0),
        fade = slider.vars.animation === "fade",
        asNav = slider.vars.asNavFor !== "",
        methods = {},
        focused = true;

    // Store a reference to the slider object
    $.data(el, "flexslider", slider);

    // Private slider methods
    methods = {
      init: function() {
        slider.animating = false;
        // Get current slide and make sure it is a number
        slider.currentSlide = parseInt( ( slider.vars.startAt ? slider.vars.startAt : 0) );
        if ( isNaN( slider.currentSlide ) ) slider.currentSlide = 0;
        slider.animatingTo = slider.currentSlide;
        slider.atEnd = (slider.currentSlide === 0 || slider.currentSlide === slider.last);
        slider.containerSelector = slider.vars.selector.substr(0,slider.vars.selector.search(' '));
        slider.slides = $(slider.vars.selector, slider);
        slider.container = $(slider.containerSelector, slider);
        slider.count = slider.slides.length;
        // SYNC:
        slider.syncExists = $(slider.vars.sync).length > 0;
        // SLIDE:
        if (slider.vars.animation === "slide") slider.vars.animation = "swing";
        slider.prop = (vertical) ? "top" : "marginLeft";
        slider.args = {};
        // SLIDESHOW:
        slider.manualPause = false;
        slider.stopped = false;
        //PAUSE WHEN INVISIBLE
        slider.started = false;
        slider.startTimeout = null;
        // TOUCH/USECSS:
        slider.transitions = !slider.vars.video && !fade && slider.vars.useCSS && (function() {
          var obj = document.createElement('div'),
              props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
          for (var i in props) {
            if ( obj.style[ props[i] ] !== undefined ) {
              slider.pfx = props[i].replace('Perspective','').toLowerCase();
              slider.prop = "-" + slider.pfx + "-transform";
              return true;
            }
          }
          return false;
        }());
        // CONTROLSCONTAINER:
        if (slider.vars.controlsContainer !== "") slider.controlsContainer = $(slider.vars.controlsContainer).length > 0 && $(slider.vars.controlsContainer);
        // MANUAL:
        if (slider.vars.manualControls !== "") slider.manualControls = $(slider.vars.manualControls).length > 0 && $(slider.vars.manualControls);

        // RANDOMIZE:
        if (slider.vars.randomize) {
          slider.slides.sort(function() { return (Math.round(Math.random())-0.5); });
          slider.container.empty().append(slider.slides);
        }

        slider.doMath();

        // INIT
        slider.setup("init");

        // CONTROLNAV:
        if (slider.vars.controlNav) methods.controlNav.setup();

        // DIRECTIONNAV:
        if (slider.vars.directionNav) methods.directionNav.setup();

        // KEYBOARD:
        if (slider.vars.keyboard && ($(slider.containerSelector).length === 1 || slider.vars.multipleKeyboard)) {
          $(document).bind('keyup', function(event) {
            var keycode = event.keyCode;
            if (!slider.animating && (keycode === 39 || keycode === 37)) {
              var target = (keycode === 39) ? slider.getTarget('next') :
                           (keycode === 37) ? slider.getTarget('prev') : false;
              slider.flexAnimate(target, slider.vars.pauseOnAction);
            }
          });
        }
        // MOUSEWHEEL:
        if (slider.vars.mousewheel) {
          slider.bind('mousewheel', function(event, delta, deltaX, deltaY) {
            event.preventDefault();
            var target = (delta < 0) ? slider.getTarget('next') : slider.getTarget('prev');
            slider.flexAnimate(target, slider.vars.pauseOnAction);
          });
        }

        // PAUSEPLAY
        if (slider.vars.pausePlay) methods.pausePlay.setup();

        //PAUSE WHEN INVISIBLE
        if (slider.vars.slideshow && slider.vars.pauseInvisible) methods.pauseInvisible.init();

        // SLIDSESHOW
        if (slider.vars.slideshow) {
          if (slider.vars.pauseOnHover) {
            slider.hover(function() {
              if (!slider.manualPlay && !slider.manualPause) slider.pause();
            }, function() {
              if (!slider.manualPause && !slider.manualPlay && !slider.stopped) slider.play();
            });
          }
          // initialize animation
          //If we're visible, or we don't use PageVisibility API
          if(!slider.vars.pauseInvisible || !methods.pauseInvisible.isHidden()) {
            (slider.vars.initDelay > 0) ? slider.startTimeout = setTimeout(slider.play, slider.vars.initDelay) : slider.play();
          }
        }

        // ASNAV:
        if (asNav) methods.asNav.setup();

        // TOUCH
        if (touch && slider.vars.touch) methods.touch();

        // FADE&&SMOOTHHEIGHT || SLIDE:
        if (!fade || (fade && slider.vars.smoothHeight)) $(window).bind("resize orientationchange focus", methods.resize);

        slider.find("img").attr("draggable", "false");

        // API: start() Callback
        setTimeout(function(){
          slider.vars.start(slider);
        }, 200);
      },
      asNav: {
        setup: function() {
          slider.asNav = true;
          slider.animatingTo = Math.floor(slider.currentSlide/slider.move);
          slider.currentItem = slider.currentSlide;
          slider.slides.removeClass(namespace + "active-slide").eq(slider.currentItem).addClass(namespace + "active-slide");
          if(!msGesture){
              slider.slides.click(function(e){
                e.preventDefault();
                var $slide = $(this),
                    target = $slide.index();
                var posFromLeft = $slide.offset().left - $(slider).scrollLeft(); // Find position of slide relative to left of slider container
                if( posFromLeft <= 0 && $slide.hasClass( namespace + 'active-slide' ) ) {
                  slider.flexAnimate(slider.getTarget("prev"), true);
                } else if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass(namespace + "active-slide")) {
                  slider.direction = (slider.currentItem < target) ? "next" : "prev";
                  slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);
                }
              });
          }else{
              el._slider = slider;
              slider.slides.each(function (){
                  var that = this;
                  that._gesture = new MSGesture();
                  that._gesture.target = that;
                  that.addEventListener("MSPointerDown", function (e){
                      e.preventDefault();
                      if(e.currentTarget._gesture)
                          e.currentTarget._gesture.addPointer(e.pointerId);
                  }, false);
                  that.addEventListener("MSGestureTap", function (e){
                      e.preventDefault();
                      var $slide = $(this),
                          target = $slide.index();
                      if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass('active')) {
                          slider.direction = (slider.currentItem < target) ? "next" : "prev";
                          slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);
                      }
                  });
              });
          }
        }
      },
      controlNav: {
        setup: function() {
          if (!slider.manualControls) {
            methods.controlNav.setupPaging();
          } else { // MANUALCONTROLS:
            methods.controlNav.setupManual();
          }
        },
        setupPaging: function() {
          var type = (slider.vars.controlNav === "thumbnails") ? 'control-thumbs' : 'control-paging',
              j = 1,
              item,
              slide;

          slider.controlNavScaffold = $('<ol class="'+ namespace + 'control-nav ' + namespace + type + '"></ol>');

          if (slider.pagingCount > 1) {
            for (var i = 0; i < slider.pagingCount; i++) {
              slide = slider.slides.eq(i);
              item = (slider.vars.controlNav === "thumbnails") ? '<img src="' + slide.attr( 'data-thumb' ) + '"/>' : '<a>' + j + '</a>';
              if ( 'thumbnails' === slider.vars.controlNav && true === slider.vars.thumbCaptions ) {
                var captn = slide.attr( 'data-thumbcaption' );
                if ( '' != captn && undefined != captn ) item += '<span class="' + namespace + 'caption">' + captn + '</span>';
              }
              slider.controlNavScaffold.append('<li>' + item + '</li>');
              j++;
            }
          }

          // CONTROLSCONTAINER:
          (slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold) : slider.append(slider.controlNavScaffold);
          methods.controlNav.set();

          methods.controlNav.active();

          slider.controlNavScaffold.delegate('a, img', eventType, function(event) {
            event.preventDefault();

            if (watchedEvent === "" || watchedEvent === event.type) {
              var $this = $(this),
                  target = slider.controlNav.index($this);

              if (!$this.hasClass(namespace + 'active')) {
                slider.direction = (target > slider.currentSlide) ? "next" : "prev";
                slider.flexAnimate(target, slider.vars.pauseOnAction);
              }
            }

            // setup flags to prevent event duplication
            if (watchedEvent === "") {
              watchedEvent = event.type;
            }
            methods.setToClearWatchedEvent();

          });
        },
        setupManual: function() {
          slider.controlNav = slider.manualControls;
          methods.controlNav.active();

          slider.controlNav.bind(eventType, function(event) {
            event.preventDefault();

            if (watchedEvent === "" || watchedEvent === event.type) {
              var $this = $(this),
                  target = slider.controlNav.index($this);

              if (!$this.hasClass(namespace + 'active')) {
                (target > slider.currentSlide) ? slider.direction = "next" : slider.direction = "prev";
                slider.flexAnimate(target, slider.vars.pauseOnAction);
              }
            }

            // setup flags to prevent event duplication
            if (watchedEvent === "") {
              watchedEvent = event.type;
            }
            methods.setToClearWatchedEvent();
          });
        },
        set: function() {
          var selector = (slider.vars.controlNav === "thumbnails") ? 'img' : 'a';
          slider.controlNav = $('.' + namespace + 'control-nav li ' + selector, (slider.controlsContainer) ? slider.controlsContainer : slider);
        },
        active: function() {
          slider.controlNav.removeClass(namespace + "active").eq(slider.animatingTo).addClass(namespace + "active");
        },
        update: function(action, pos) {
          if (slider.pagingCount > 1 && action === "add") {
            slider.controlNavScaffold.append($('<li><a>' + slider.count + '</a></li>'));
          } else if (slider.pagingCount === 1) {
            slider.controlNavScaffold.find('li').remove();
          } else {
            slider.controlNav.eq(pos).closest('li').remove();
          }
          methods.controlNav.set();
          (slider.pagingCount > 1 && slider.pagingCount !== slider.controlNav.length) ? slider.update(pos, action) : methods.controlNav.active();
        }
      },
      directionNav: {
        setup: function() {
          var directionNavScaffold = $('<ul class="' + namespace + 'direction-nav"><li><a class="' + namespace + 'prev" href="#">' + slider.vars.prevText + '</a></li><li><a class="' + namespace + 'next" href="#">' + slider.vars.nextText + '</a></li></ul>');

          // CONTROLSCONTAINER:
          if (slider.controlsContainer) {
            $(slider.controlsContainer).append(directionNavScaffold);
            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider.controlsContainer);
          } else {
            slider.append(directionNavScaffold);
            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider);
          }

          methods.directionNav.update();

          slider.directionNav.bind(eventType, function(event) {
            event.preventDefault();
            var target;

            if (watchedEvent === "" || watchedEvent === event.type) {
              target = ($(this).hasClass(namespace + 'next')) ? slider.getTarget('next') : slider.getTarget('prev');
              slider.flexAnimate(target, slider.vars.pauseOnAction);
            }

            // setup flags to prevent event duplication
            if (watchedEvent === "") {
              watchedEvent = event.type;
            }
            methods.setToClearWatchedEvent();
          });
        },
        update: function() {
          var disabledClass = namespace + 'disabled';
          if (slider.pagingCount === 1) {
            slider.directionNav.addClass(disabledClass).attr('tabindex', '-1');
          } else if (!slider.vars.animationLoop) {
            if (slider.animatingTo === 0) {
              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "prev").addClass(disabledClass).attr('tabindex', '-1');
            } else if (slider.animatingTo === slider.last) {
              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "next").addClass(disabledClass).attr('tabindex', '-1');
            } else {
              slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');
            }
          } else {
            slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');
          }
        }
      },
      pausePlay: {
        setup: function() {
          var pausePlayScaffold = $('<div class="' + namespace + 'pauseplay"><a></a></div>');

          // CONTROLSCONTAINER:
          if (slider.controlsContainer) {
            slider.controlsContainer.append(pausePlayScaffold);
            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider.controlsContainer);
          } else {
            slider.append(pausePlayScaffold);
            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider);
          }

          methods.pausePlay.update((slider.vars.slideshow) ? namespace + 'pause' : namespace + 'play');

          slider.pausePlay.bind(eventType, function(event) {
            event.preventDefault();

            if (watchedEvent === "" || watchedEvent === event.type) {
              if ($(this).hasClass(namespace + 'pause')) {
                slider.manualPause = true;
                slider.manualPlay = false;
                slider.pause();
              } else {
                slider.manualPause = false;
                slider.manualPlay = true;
                slider.play();
              }
            }

            // setup flags to prevent event duplication
            if (watchedEvent === "") {
              watchedEvent = event.type;
            }
            methods.setToClearWatchedEvent();
          });
        },
        update: function(state) {
          (state === "play") ? slider.pausePlay.removeClass(namespace + 'pause').addClass(namespace + 'play').html(slider.vars.playText) : slider.pausePlay.removeClass(namespace + 'play').addClass(namespace + 'pause').html(slider.vars.pauseText);
        }
      },
      touch: function() {
        var startX,
          startY,
          offset,
          cwidth,
          dx,
          startT,
          scrolling = false,
          localX = 0,
          localY = 0,
          accDx = 0;

        if(!msGesture){
            el.addEventListener('touchstart', onTouchStart, false);

            function onTouchStart(e) {
              if (slider.animating) {
                e.preventDefault();
              } else if ( ( window.navigator.msPointerEnabled ) || e.touches.length === 1 ) {
                slider.pause();
                // CAROUSEL:
                cwidth = (vertical) ? slider.h : slider. w;
                startT = Number(new Date());
                // CAROUSEL:

                // Local vars for X and Y points.
                localX = e.touches[0].pageX;
                localY = e.touches[0].pageY;

                offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :
                         (carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
                         (carousel && slider.currentSlide === slider.last) ? slider.limit :
                         (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :
                         (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
                startX = (vertical) ? localY : localX;
                startY = (vertical) ? localX : localY;

                el.addEventListener('touchmove', onTouchMove, false);
                el.addEventListener('touchend', onTouchEnd, false);
              }
            }

            function onTouchMove(e) {
              // Local vars for X and Y points.

              localX = e.touches[0].pageX;
              localY = e.touches[0].pageY;

              dx = (vertical) ? startX - localY : startX - localX;
              scrolling = (vertical) ? (Math.abs(dx) < Math.abs(localX - startY)) : (Math.abs(dx) < Math.abs(localY - startY));

              var fxms = 500;

              if ( ! scrolling || Number( new Date() ) - startT > fxms ) {
                e.preventDefault();
                if (!fade && slider.transitions) {
                  if (!slider.vars.animationLoop) {
                    dx = dx/((slider.currentSlide === 0 && dx < 0 || slider.currentSlide === slider.last && dx > 0) ? (Math.abs(dx)/cwidth+2) : 1);
                  }
                  slider.setProps(offset + dx, "setTouch");
                }
              }
            }

            function onTouchEnd(e) {
              // finish the touch by undoing the touch session
              el.removeEventListener('touchmove', onTouchMove, false);

              if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {
                var updateDx = (reverse) ? -dx : dx,
                    target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');

                if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {
                  slider.flexAnimate(target, slider.vars.pauseOnAction);
                } else {
                  if (!fade) slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true);
                }
              }
              el.removeEventListener('touchend', onTouchEnd, false);

              startX = null;
              startY = null;
              dx = null;
              offset = null;
            }
        }else{
            el.style.msTouchAction = "none";
            el._gesture = new MSGesture();
            el._gesture.target = el;
            el.addEventListener("MSPointerDown", onMSPointerDown, false);
            el._slider = slider;
            el.addEventListener("MSGestureChange", onMSGestureChange, false);
            el.addEventListener("MSGestureEnd", onMSGestureEnd, false);

            function onMSPointerDown(e){
                e.stopPropagation();
                if (slider.animating) {
                    e.preventDefault();
                }else{
                    slider.pause();
                    el._gesture.addPointer(e.pointerId);
                    accDx = 0;
                    cwidth = (vertical) ? slider.h : slider. w;
                    startT = Number(new Date());
                    // CAROUSEL:

                    offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :
                        (carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
                            (carousel && slider.currentSlide === slider.last) ? slider.limit :
                                (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :
                                    (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
                }
            }

            function onMSGestureChange(e) {
                e.stopPropagation();
                var slider = e.target._slider;
                if(!slider){
                    return;
                }
                var transX = -e.translationX,
                    transY = -e.translationY;

                //Accumulate translations.
                accDx = accDx + ((vertical) ? transY : transX);
                dx = accDx;
                scrolling = (vertical) ? (Math.abs(accDx) < Math.abs(-transX)) : (Math.abs(accDx) < Math.abs(-transY));

                if(e.detail === e.MSGESTURE_FLAG_INERTIA){
                    setImmediate(function (){
                        el._gesture.stop();
                    });

                    return;
                }

                if (!scrolling || Number(new Date()) - startT > 500) {
                    e.preventDefault();
                    if (!fade && slider.transitions) {
                        if (!slider.vars.animationLoop) {
                            dx = accDx / ((slider.currentSlide === 0 && accDx < 0 || slider.currentSlide === slider.last && accDx > 0) ? (Math.abs(accDx) / cwidth + 2) : 1);
                        }
                        slider.setProps(offset + dx, "setTouch");
                    }
                }
            }

            function onMSGestureEnd(e) {
                e.stopPropagation();
                var slider = e.target._slider;
                if(!slider){
                    return;
                }
                if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {
                    var updateDx = (reverse) ? -dx : dx,
                        target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');

                    if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {
                        slider.flexAnimate(target, slider.vars.pauseOnAction);
                    } else {
                        if (!fade) slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true);
                    }
                }

                startX = null;
                startY = null;
                dx = null;
                offset = null;
                accDx = 0;
            }
        }
      },
      resize: function() {
        if (!slider.animating && slider.is(':visible')) {
          if (!carousel) slider.doMath();

          if (fade) {
            // SMOOTH HEIGHT:
            methods.smoothHeight();
          } else if (carousel) { //CAROUSEL:
            slider.slides.width(slider.computedW);
            slider.update(slider.pagingCount);
            slider.setProps();
          }
          else if (vertical) { //VERTICAL:
            slider.viewport.height(slider.h);
            slider.setProps(slider.h, "setTotal");
          } else {
            // SMOOTH HEIGHT:
            if (slider.vars.smoothHeight) methods.smoothHeight();
            slider.newSlides.width(slider.computedW);
            slider.setProps(slider.computedW, "setTotal");
          }
        }
      },
      smoothHeight: function(dur) {
        if (!vertical || fade) {
          var $obj = (fade) ? slider : slider.viewport;
          (dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).height()}, dur) : $obj.height(slider.slides.eq(slider.animatingTo).height());
        }
      },
      sync: function(action) {
        var $obj = $(slider.vars.sync).data("flexslider"),
            target = slider.animatingTo;

        switch (action) {
          case "animate": $obj.flexAnimate(target, slider.vars.pauseOnAction, false, true); break;
          case "play": if (!$obj.playing && !$obj.asNav) { $obj.play(); } break;
          case "pause": $obj.pause(); break;
        }
      },
      pauseInvisible: {
        visProp: null,
        init: function() {
          var prefixes = ['webkit','moz','ms','o'];

          if ('hidden' in document) return 'hidden';
          for (var i = 0; i < prefixes.length; i++) {
            if ((prefixes[i] + 'Hidden') in document) 
            methods.pauseInvisible.visProp = prefixes[i] + 'Hidden';
          }
          if (methods.pauseInvisible.visProp) {
            var evtname = methods.pauseInvisible.visProp.replace(/[H|h]idden/,'') + 'visibilitychange';
            document.addEventListener(evtname, function() {
              if (methods.pauseInvisible.isHidden()) {
                if(slider.startTimeout) clearTimeout(slider.startTimeout); //If clock is ticking, stop timer and prevent from starting while invisible
                else slider.pause(); //Or just pause
              }
              else {
                if(slider.started) slider.play(); //Initiated before, just play
                else (slider.vars.initDelay > 0) ? setTimeout(slider.play, slider.vars.initDelay) : slider.play(); //Didn't init before: simply init or wait for it
              }
            });
          }       
        },
        isHidden: function() {
          return document[methods.pauseInvisible.visProp] || false;
        }
      },
      setToClearWatchedEvent: function() {
        clearTimeout(watchedEventClearTimer);
        watchedEventClearTimer = setTimeout(function() {
          watchedEvent = "";
        }, 3000);
      }
    }

    // public methods
    slider.flexAnimate = function(target, pause, override, withSync, fromNav) {
      if (!slider.vars.animationLoop && target !== slider.currentSlide) {
        slider.direction = (target > slider.currentSlide) ? "next" : "prev";
      }

      if (asNav && slider.pagingCount === 1) slider.direction = (slider.currentItem < target) ? "next" : "prev";

      if (!slider.animating && (slider.canAdvance(target, fromNav) || override) && slider.is(":visible")) {
        if (asNav && withSync) {
          var master = $(slider.vars.asNavFor).data('flexslider');
          slider.atEnd = target === 0 || target === slider.count - 1;
          master.flexAnimate(target, true, false, true, fromNav);
          slider.direction = (slider.currentItem < target) ? "next" : "prev";
          master.direction = slider.direction;

          if (Math.ceil((target + 1)/slider.visible) - 1 !== slider.currentSlide && target !== 0) {
            slider.currentItem = target;
            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
            target = Math.floor(target/slider.visible);
          } else {
            slider.currentItem = target;
            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
            return false;
          }
        }

        slider.animating = true;
        slider.animatingTo = target;

        // SLIDESHOW:
        if (pause) slider.pause();

        // API: before() animation Callback
        slider.vars.before(slider);

        // SYNC:
        if (slider.syncExists && !fromNav) methods.sync("animate");

        // CONTROLNAV
        if (slider.vars.controlNav) methods.controlNav.active();

        // !CAROUSEL:
        // CANDIDATE: slide active class (for add/remove slide)
        if (!carousel) slider.slides.removeClass(namespace + 'active-slide').eq(target).addClass(namespace + 'active-slide');

        // INFINITE LOOP:
        // CANDIDATE: atEnd
        slider.atEnd = target === 0 || target === slider.last;

        // DIRECTIONNAV:
        if (slider.vars.directionNav) methods.directionNav.update();

        if (target === slider.last) {
          // API: end() of cycle Callback
          slider.vars.end(slider);
          // SLIDESHOW && !INFINITE LOOP:
          if (!slider.vars.animationLoop) slider.pause();
        }

        // SLIDE:
        if (!fade) {
          var dimension = (vertical) ? slider.slides.filter(':first').height() : slider.computedW,
              margin, slideString, calcNext;

          // INFINITE LOOP / REVERSE:
          if (carousel) {
            //margin = (slider.vars.itemWidth > slider.w) ? slider.vars.itemMargin * 2 : slider.vars.itemMargin;
            margin = slider.vars.itemMargin;
            calcNext = ((slider.itemW + margin) * slider.move) * slider.animatingTo;
            slideString = (calcNext > slider.limit && slider.visible !== 1) ? slider.limit : calcNext;
          } else if (slider.currentSlide === 0 && target === slider.count - 1 && slider.vars.animationLoop && slider.direction !== "next") {
            slideString = (reverse) ? (slider.count + slider.cloneOffset) * dimension : 0;
          } else if (slider.currentSlide === slider.last && target === 0 && slider.vars.animationLoop && slider.direction !== "prev") {
            slideString = (reverse) ? 0 : (slider.count + 1) * dimension;
          } else {
            slideString = (reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension : (target + slider.cloneOffset) * dimension;
          }
          slider.setProps(slideString, "", slider.vars.animationSpeed);
          if (slider.transitions) {
            if (!slider.vars.animationLoop || !slider.atEnd) {
              slider.animating = false;
              slider.currentSlide = slider.animatingTo;
            }
            slider.container.unbind("webkitTransitionEnd transitionend");
            slider.container.bind("webkitTransitionEnd transitionend", function() {
              slider.wrapup(dimension);
            });
          } else {
            slider.container.animate(slider.args, slider.vars.animationSpeed, slider.vars.easing, function(){
              slider.wrapup(dimension);
            });
          }
        } else { // FADE:
          if (!touch) {
            //slider.slides.eq(slider.currentSlide).fadeOut(slider.vars.animationSpeed, slider.vars.easing);
            //slider.slides.eq(target).fadeIn(slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);

            slider.slides.eq(slider.currentSlide).css({"zIndex": 1}).animate({"opacity": 0}, slider.vars.animationSpeed, slider.vars.easing);
            slider.slides.eq(target).css({"zIndex": 2}).animate({"opacity": 1}, slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);

          } else {
            slider.slides.eq(slider.currentSlide).css({ "opacity": 0, "zIndex": 1 });
            slider.slides.eq(target).css({ "opacity": 1, "zIndex": 2 });
            slider.wrapup(dimension);
          }
        }
        // SMOOTH HEIGHT:
        if (slider.vars.smoothHeight) methods.smoothHeight(slider.vars.animationSpeed);
      }
    }
    slider.wrapup = function(dimension) {
      // SLIDE:
      if (!fade && !carousel) {
        if (slider.currentSlide === 0 && slider.animatingTo === slider.last && slider.vars.animationLoop) {
          slider.setProps(dimension, "jumpEnd");
        } else if (slider.currentSlide === slider.last && slider.animatingTo === 0 && slider.vars.animationLoop) {
          slider.setProps(dimension, "jumpStart");
        }
      }
      slider.animating = false;
      slider.currentSlide = slider.animatingTo;
      // API: after() animation Callback
      slider.vars.after(slider);
    }

    // SLIDESHOW:
    slider.animateSlides = function() {
      if (!slider.animating && focused ) slider.flexAnimate(slider.getTarget("next"));
    }
    // SLIDESHOW:
    slider.pause = function() {
      clearInterval(slider.animatedSlides);
      slider.animatedSlides = null;
      slider.playing = false;
      // PAUSEPLAY:
      if (slider.vars.pausePlay) methods.pausePlay.update("play");
      // SYNC:
      if (slider.syncExists) methods.sync("pause");
    }
    // SLIDESHOW:
    slider.play = function() {
      if (slider.playing) clearInterval(slider.animatedSlides);
      slider.animatedSlides = slider.animatedSlides || setInterval(slider.animateSlides, slider.vars.slideshowSpeed);
      slider.started = slider.playing = true;
      // PAUSEPLAY:
      if (slider.vars.pausePlay) methods.pausePlay.update("pause");
      // SYNC:
      if (slider.syncExists) methods.sync("play");
    }
    // STOP:
    slider.stop = function () {
      slider.pause();
      slider.stopped = true;
    }
    slider.canAdvance = function(target, fromNav) {
      // ASNAV:
      var last = (asNav) ? slider.pagingCount - 1 : slider.last;
      return (fromNav) ? true :
             (asNav && slider.currentItem === slider.count - 1 && target === 0 && slider.direction === "prev") ? true :
             (asNav && slider.currentItem === 0 && target === slider.pagingCount - 1 && slider.direction !== "next") ? false :
             (target === slider.currentSlide && !asNav) ? false :
             (slider.vars.animationLoop) ? true :
             (slider.atEnd && slider.currentSlide === 0 && target === last && slider.direction !== "next") ? false :
             (slider.atEnd && slider.currentSlide === last && target === 0 && slider.direction === "next") ? false :
             true;
    }
    slider.getTarget = function(dir) {
      slider.direction = dir;
      if (dir === "next") {
        return (slider.currentSlide === slider.last) ? 0 : slider.currentSlide + 1;
      } else {
        return (slider.currentSlide === 0) ? slider.last : slider.currentSlide - 1;
      }
    }

    // SLIDE:
    slider.setProps = function(pos, special, dur) {
      var target = (function() {
        var posCheck = (pos) ? pos : ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo,
            posCalc = (function() {
              if (carousel) {
                return (special === "setTouch") ? pos :
                       (reverse && slider.animatingTo === slider.last) ? 0 :
                       (reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
                       (slider.animatingTo === slider.last) ? slider.limit : posCheck;
              } else {
                switch (special) {
                  case "setTotal": return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos : (slider.currentSlide + slider.cloneOffset) * pos;
                  case "setTouch": return (reverse) ? pos : pos;
                  case "jumpEnd": return (reverse) ? pos : slider.count * pos;
                  case "jumpStart": return (reverse) ? slider.count * pos : pos;
                  default: return pos;
                }
              }
            }());

            return (posCalc * -1) + "px";
          }());

      if (slider.transitions) {
        target = (vertical) ? "translate3d(0," + target + ",0)" : "translate3d(" + target + ",0,0)";
        dur = (dur !== undefined) ? (dur/1000) + "s" : "0s";
        slider.container.css("-" + slider.pfx + "-transition-duration", dur);
      }

      slider.args[slider.prop] = target;
      if (slider.transitions || dur === undefined) slider.container.css(slider.args);
    }

    slider.setup = function(type) {
      // SLIDE:
      if (!fade) {
        var sliderOffset, arr;

        if (type === "init") {
          slider.viewport = $('<div class="' + namespace + 'viewport"></div>').css({"overflow": "hidden", "position": "relative"}).appendTo(slider).append(slider.container);
          // INFINITE LOOP:
          slider.cloneCount = 0;
          slider.cloneOffset = 0;
          // REVERSE:
          if (reverse) {
            arr = $.makeArray(slider.slides).reverse();
            slider.slides = $(arr);
            slider.container.empty().append(slider.slides);
          }
        }
        // INFINITE LOOP && !CAROUSEL:
        if (slider.vars.animationLoop && !carousel) {
          slider.cloneCount = 2;
          slider.cloneOffset = 1;
          // clear out old clones
          if (type !== "init") slider.container.find('.clone').remove();
          slider.container.append(slider.slides.first().clone().addClass('clone').attr('aria-hidden', 'true')).prepend(slider.slides.last().clone().addClass('clone').attr('aria-hidden', 'true'));
        }
        slider.newSlides = $(slider.vars.selector, slider);

        sliderOffset = (reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset : slider.currentSlide + slider.cloneOffset;
        // VERTICAL:
        if (vertical && !carousel) {
          slider.container.height((slider.count + slider.cloneCount) * 200 + "%").css("position", "absolute").width("100%");
          setTimeout(function(){
            slider.newSlides.css({"display": "block"});
            slider.doMath();
            slider.viewport.height(slider.h);
            slider.setProps(sliderOffset * slider.h, "init");
          }, (type === "init") ? 100 : 0);
        } else {
          slider.container.width((slider.count + slider.cloneCount) * 200 + "%");
          slider.setProps(sliderOffset * slider.computedW, "init");
          setTimeout(function(){
            slider.doMath();
            slider.newSlides.css({"width": slider.computedW, "float": "left", "display": "block"});
            // SMOOTH HEIGHT:
            if (slider.vars.smoothHeight) methods.smoothHeight();
          }, (type === "init") ? 100 : 0);
        }
      } else { // FADE:
        slider.slides.css({"width": "100%", "float": "left", "marginRight": "-100%", "position": "relative"});
        if (type === "init") {
          if (!touch) {
            //slider.slides.eq(slider.currentSlide).fadeIn(slider.vars.animationSpeed, slider.vars.easing);
            slider.slides.css({ "opacity": 0, "display": "block", "zIndex": 1 }).eq(slider.currentSlide).css({"zIndex": 2}).animate({"opacity": 1},slider.vars.animationSpeed,slider.vars.easing);
          } else {
            slider.slides.css({ "opacity": 0, "display": "block", "webkitTransition": "opacity " + slider.vars.animationSpeed / 1000 + "s ease", "zIndex": 1 }).eq(slider.currentSlide).css({ "opacity": 1, "zIndex": 2});
          }
        }
        // SMOOTH HEIGHT:
        if (slider.vars.smoothHeight) methods.smoothHeight();
      }
      // !CAROUSEL:
      // CANDIDATE: active slide
      if (!carousel) slider.slides.removeClass(namespace + "active-slide").eq(slider.currentSlide).addClass(namespace + "active-slide");
    }


    slider.doMath = function() {
      var slide = slider.slides.first(),
          slideMargin = slider.vars.itemMargin,
          minItems = slider.vars.minItems,
          maxItems = slider.vars.maxItems;

      slider.w = (slider.viewport===undefined) ? slider.width() : slider.viewport.width();
      slider.h = slide.height();
      slider.boxPadding = slide.outerWidth() - slide.width();

      // CAROUSEL:
      if (carousel) {
        slider.itemT = slider.vars.itemWidth + slideMargin;
        slider.minW = (minItems) ? minItems * slider.itemT : slider.w;
        slider.maxW = (maxItems) ? (maxItems * slider.itemT) - slideMargin : slider.w;
        slider.itemW = (slider.minW > slider.w) ? (slider.w - (slideMargin * (minItems - 1)))/minItems :
                       (slider.maxW < slider.w) ? (slider.w - (slideMargin * (maxItems - 1)))/maxItems :
                       (slider.vars.itemWidth > slider.w) ? slider.w : slider.vars.itemWidth;

        slider.visible = Math.floor(slider.w/(slider.itemW));
        slider.move = (slider.vars.move > 0 && slider.vars.move < slider.visible ) ? slider.vars.move : slider.visible;
        slider.pagingCount = Math.ceil(((slider.count - slider.visible)/slider.move) + 1);
        slider.last =  slider.pagingCount - 1;
        slider.limit = (slider.pagingCount === 1) ? 0 :
                       (slider.vars.itemWidth > slider.w) ? (slider.itemW * (slider.count - 1)) + (slideMargin * (slider.count - 1)) : ((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;
      } else {
        slider.itemW = slider.w;
        slider.pagingCount = slider.count;
        slider.last = slider.count - 1;
      }
      slider.computedW = slider.itemW - slider.boxPadding;
    //  Utils.MsgBox(slider.computedW);
    }


    slider.update = function(pos, action) {
      slider.doMath();

      // update currentSlide and slider.animatingTo if necessary
      if (!carousel) {
        if (pos < slider.currentSlide) {
          slider.currentSlide += 1;
        } else if (pos <= slider.currentSlide && pos !== 0) {
          slider.currentSlide -= 1;
        }
        slider.animatingTo = slider.currentSlide;
      }

      // update controlNav
      if (slider.vars.controlNav && !slider.manualControls) {
        if ((action === "add" && !carousel) || slider.pagingCount > slider.controlNav.length) {
          methods.controlNav.update("add");
        } else if ((action === "remove" && !carousel) || slider.pagingCount < slider.controlNav.length) {
          if (carousel && slider.currentSlide > slider.last) {
            slider.currentSlide -= 1;
            slider.animatingTo -= 1;
          }
          methods.controlNav.update("remove", slider.last);
        }
      }
      // update directionNav
      if (slider.vars.directionNav) methods.directionNav.update();

    }

    slider.addSlide = function(obj, pos) {
      var $obj = $(obj);

      slider.count += 1;
      slider.last = slider.count - 1;

      // append new slide
      if (vertical && reverse) {
        (pos !== undefined) ? slider.slides.eq(slider.count - pos).after($obj) : slider.container.prepend($obj);
      } else {
        (pos !== undefined) ? slider.slides.eq(pos).before($obj) : slider.container.append($obj);
      }

      // update currentSlide, animatingTo, controlNav, and directionNav
      slider.update(pos, "add");

      // update slider.slides
      slider.slides = $(slider.vars.selector + ':not(.clone)', slider);
      // re-setup the slider to accomdate new slide
      slider.setup();

      //FlexSlider: added() Callback
      slider.vars.added(slider);
    }
    slider.removeSlide = function(obj) {
      var pos = (isNaN(obj)) ? slider.slides.index($(obj)) : obj;

      // update count
      slider.count -= 1;
      slider.last = slider.count - 1;

      // remove slide
      if (isNaN(obj)) {
        $(obj, slider.slides).remove();
      } else {
        (vertical && reverse) ? slider.slides.eq(slider.last).remove() : slider.slides.eq(obj).remove();
      }

      // update currentSlide, animatingTo, controlNav, and directionNav
      slider.doMath();
      slider.update(pos, "remove");

      // update slider.slides
      slider.slides = $(slider.vars.selector + ':not(.clone)', slider);
      // re-setup the slider to accomdate new slide
      slider.setup();

      // FlexSlider: removed() Callback
      slider.vars.removed(slider);
    }

    //FlexSlider: Initialize
    methods.init();
  }

  // Ensure the slider isn't focussed if the window loses focus.
  $( window ).blur( function ( e ) {
    focused = false;
  }).focus( function ( e ) {
    focused = true;
  });

  //FlexSlider: Default Settings
  $.flexslider.defaults = {
    namespace: "flex-",             //{NEW} String: Prefix string attached to the class of every element generated by the plugin
    selector: ".slides > li",       //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril
    animation: "fade",              //String: Select your animation type, "fade" or "slide"
    easing: "swing",                //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!
    direction: "horizontal",        //String: Select the sliding direction, "horizontal" or "vertical"
    reverse: false,                 //{NEW} Boolean: Reverse the animation direction
    animationLoop: true,            //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
    smoothHeight: false,            //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode
    startAt: 0,                     //Integer: The slide that the slider should start on. Array notation (0 = first slide)
    slideshow: true,                //Boolean: Animate slider automatically
    slideshowSpeed: 7000,           //Integer: Set the speed of the slideshow cycling, in milliseconds
    animationSpeed: 600,            //Integer: Set the speed of animations, in milliseconds
    initDelay: 0,                   //{NEW} Integer: Set an initialization delay, in milliseconds
    randomize: false,               //Boolean: Randomize slide order
    thumbCaptions: false,           //Boolean: Whether or not to put captions on thumbnails when using the "thumbnails" controlNav.

    // Usability features
    pauseOnAction: true,            //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
    pauseOnHover: false,            //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
    pauseInvisible: true,   		//{NEW} Boolean: Pause the slideshow when tab is invisible, resume when visible. Provides better UX, lower CPU usage.
    useCSS: true,                   //{NEW} Boolean: Slider will use CSS3 transitions if available
    touch: true,                    //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
    video: false,                   //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches

    // Primary Controls
    controlNav: true,               //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage
    directionNav: true,             //Boolean: Create navigation for previous/next navigation? (true/false)
    prevText: "Previous",           //String: Set the text for the "previous" directionNav item
    nextText: "Next",               //String: Set the text for the "next" directionNav item

    // Secondary Navigation
    keyboard: true,                 //Boolean: Allow slider navigating via keyboard left/right keys
    multipleKeyboard: false,        //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.
    mousewheel: false,              //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel
    pausePlay: false,               //Boolean: Create pause/play dynamic element
    pauseText: "Pause",             //String: Set the text for the "pause" pausePlay item
    playText: "Play",               //String: Set the text for the "play" pausePlay item

    // Special properties
    controlsContainer: "",          //{UPDATED} jQuery Object/Selector: Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be $(".flexslider-container"). Property is ignored if given element is not found.
    manualControls: "",             //{UPDATED} jQuery Object/Selector: Declare custom control navigation. Examples would be $(".flex-control-nav li") or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
    sync: "",                       //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.
    asNavFor: "",                   //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider

    // Carousel Options
    itemWidth: 0,                   //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.
    itemMargin: 0,                  //{NEW} Integer: Margin between carousel items.
    minItems: 1,                    //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.
    maxItems: 0,                    //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.
    move: 0,                        //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.
    allowOneSlide: true,           //{NEW} Boolean: Whether or not to allow a slider comprised of a single slide

    // Callback API
    start: function(){},            //Callback: function(slider) - Fires when the slider loads the first slide
    before: function(){},           //Callback: function(slider) - Fires asynchronously with each slider animation
    after: function(){},            //Callback: function(slider) - Fires after each slider animation completes
    end: function(){},              //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
    added: function(){},            //{NEW} Callback: function(slider) - Fires after a slide is added
    removed: function(){}           //{NEW} Callback: function(slider) - Fires after a slide is removed
  }


  //FlexSlider: Plugin Function
  $.fn.flexslider = function(options) {
    if (options === undefined) options = {};

    if (typeof options === "object") {
      return this.each(function() {
        var $this = $(this),
            selector = (options.selector) ? options.selector : ".slides > li",
            $slides = $this.find(selector);

      if ( ( $slides.length === 1 && options.allowOneSlide === true ) || $slides.length === 0 ) {
          $slides.fadeIn(400);
          if (options.start) options.start($this);
        } else if ($this.data('flexslider') === undefined) {
          new $.flexslider(this, options);
        }
      });
    } else {
      // Helper strings to quickly perform functions on the slider
      var $slider = $(this).data('flexslider');
      switch (options) {
        case "play": $slider.play(); break;
        case "pause": $slider.pause(); break;
        case "stop": $slider.stop(); break;
        case "next": $slider.flexAnimate($slider.getTarget("next"), true); break;
        case "prev":
        case "previous": $slider.flexAnimate($slider.getTarget("prev"), true); break;
        default: if (typeof options === "number") $slider.flexAnimate(options, true);
      }
    }
  }
})(jQuery);

;/**
 * SyntaxHighlighter
 * http://alexgorbatchev.com/SyntaxHighlighter
 *
 * SyntaxHighlighter is donationware. If you are using it, please donate.
 * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
 *
 * @version
 * 3.0.83 (July 02 2010)
 * 
 * @copyright
 * Copyright (C) 2004-2010 Alex Gorbatchev.
 *
 * @license
 * Dual licensed under the MIT and GPL licenses.
 */
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a<f.L;a++)I(f[a]===e)H a;H-1}M=6(f,e){K a=[],b=M.1B,c=0,d,h;I(M.1R(f)){I(e!==1d)1S 3m("2a\'t 5r 5I 5F 5B 5C 15 5E 5p");H r(f)}I(v)1S 2U("2a\'t W 3l M 59 5m 5g 5x 5i");e=e||"";O(d={2N:11,19:[],2K:6(g){H e.1i(g)>-1},3d:6(g){e+=g}};c<f.L;)I(h=B(f,c,b,d)){a.U(h.3k);c+=h.1C[0].L||1}Y I(h=n.X.W(z[b],f.1a(c))){a.U(h[0]);c+=h[0].L}Y{h=f.3a(c);I(h==="[")b=M.2I;Y I(h==="]")b=M.1B;a.U(h);c++}a=15(a.1K(""),n.Q.W(e,w,""));a.1w={1m:f,19:d.2N?d.19:N};H a};M.3v="1.5.0";M.2I=1;M.1B=2;K C=/\\$(?:(\\d\\d?|[$&`\'])|{([$\\w]+)})/g,w=/[^5h]+|([\\s\\S])(?=[\\s\\S]*\\1)/g,A=/^(?:[?*+]|{\\d+(?:,\\d*)?})\\??/,v=11,u=[],n={X:15.Z.X,1A:15.Z.1A,1C:1r.Z.1C,Q:1r.Z.Q,1e:1r.Z.1e},x=n.X.W(/()??/,"")[1]===1d,D=6(){K f=/^/g;n.1A.W(f,"");H!f.12}(),y=6(){K f=/x/g;n.Q.W("x",f,"");H!f.12}(),E=15.Z.3n!==1d,z={};z[M.2I]=/^(?:\\\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\\29-26-f]{2}|u[\\29-26-f]{4}|c[A-3o-z]|[\\s\\S]))/;z[M.1B]=/^(?:\\\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\\d*|x[\\29-26-f]{2}|u[\\29-26-f]{4}|c[A-3o-z]|[\\s\\S])|\\(\\?[:=!]|[?*+]\\?|{\\d+(?:,\\d*)?}\\??)/;M.1h=6(f,e,a,b){u.U({2q:r(f,"g"+(E?"y":"")),2b:e,3r:a||M.1B,2p:b||N})};M.2n=6(f,e){K a=f+"/"+(e||"");H M.2n[a]||(M.2n[a]=M(f,e))};M.3c=6(f){H r(f,"g")};M.5l=6(f){H f.Q(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,"\\\\$&")};M.5e=6(f,e,a,b){e=r(e,"g"+(b&&E?"y":""));e.12=a=a||0;f=e.X(f);H b?f&&f.P===a?f:N:f};M.3q=6(){M.1h=6(){1S 2U("2a\'t 55 1h 54 3q")}};M.1R=6(f){H 53.Z.1q.W(f)==="[2m 15]"};M.3p=6(f,e,a,b){O(K c=r(e,"g"),d=-1,h;h=c.X(f);){a.W(b,h,++d,f,c);c.12===h.P&&c.12++}I(e.1J)e.12=0};M.57=6(f,e){H 6 a(b,c){K d=e[c].1I?e[c]:{1I:e[c]},h=r(d.1I,"g"),g=[],i;O(i=0;i<b.L;i++)M.3p(b[i],h,6(k){g.U(d.3j?k[d.3j]||"":k[0])});H c===e.L-1||!g.L?g:a(g,c+1)}([f],0)};15.Z.1p=6(f,e){H J.X(e[0])};15.Z.W=6(f,e){H J.X(e)};15.Z.X=6(f){K e=n.X.1p(J,14),a;I(e){I(!x&&e.L>1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;b<e.L;b++)I(a=J.1w.19[b-1])e[a]=e[b];!D&&J.1J&&!e[0].L&&J.12>e.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;d<b.L;d++)I(b[d])14[0][b[d]]=14[d+1]}I(a&&f.1J)f.12=14[14.L-2]+14[0].L;H e.1p(N,14)});Y{c=J+"";c=n.Q.W(c,f,6(){K d=14;H n.Q.W(e,C,6(h,g,i){I(g)5b(g){24"$":H"$";24"&":H d[0];24"`":H d[d.L-1].1a(0,d[d.L-2]);24"\'":H d[d.L-1].1a(d[d.L-2]+d[0].L);5a:i="";g=+g;I(!g)H h;O(;g>d.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P<a.L&&3b.Z.U.1p(b,d.1a(1));h=d[0].L;c=f.12;I(b.L>=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a<d.L&&i==N;a++)i=p(d[a],b,c);H i}6 C(a,b){K c={},d;O(d 2g a)c[d]=a[d];O(d 2g b)c[d]=b[d];H c}6 w(a,b,c,d){6 h(g){g=g||1P.5y;I(!g.1F){g.1F=g.52;g.3N=6(){J.5w=11}}c.W(d||1P,g)}a.3g?a.3g("4U"+b,h):a.4y(b,h,11)}6 A(a,b){K c=e.1Y.2j,d=N;I(c==N){c={};O(K h 2g e.1U){K g=e.1U[h];d=g.4x;I(d!=N){g.1V=h.4w();O(g=0;g<d.L;g++)c[d[g]]=h}}e.1Y.2j=c}d=e.1U[c[a]];d==N&&b!=11&&1P.1X(e.13.1x.1X+(e.13.1x.3E+a));H d}6 v(a,b){O(K c=a.1e("\\n"),d=0;d<c.L;d++)c[d]=b(c[d],d);H c.1K("\\n")}6 u(a,b){I(a==N||a.L==0||a=="\\n")H a;a=a.Q(/</g,"&1y;");a=a.Q(/ {2,}/g,6(c){O(K d="",h=0;h<c.L-1;h++)d+=e.13.1W;H d+" "});I(b!=N)a=v(a,6(c){I(c.L==0)H"";K d="";c=c.Q(/^(&2s;| )+/,6(h){d=h;H""});I(c.L==0)H d;H d+\'<17 1g="\'+b+\'">\'+c+"</17>"});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+="                    ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.P<b.P)H-1;Y I(a.P>b.P)H 1;Y I(a.L<b.L)H-1;Y I(a.L>b.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'<a 2h="\'+c+\'">\'+c+"</a>"+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<a.L;c++)a[c].3s=="20"&&b.U(a[c]);H b}6 f(a){a=a.1F;K b=p(a,".20",R);a=p(a,".3O",R);K c=1E.4i("3t");I(!(!a||!b||p(a,"3t"))){B(b.1c);r(b,"1m");O(K d=a.3G,h=[],g=0;g<d.L;g++)h.U(d[g].4z||d[g].4A);h=h.1K("\\r");c.39(1E.4D(h));a.39(c);c.2C();c.4C();w(c,"4u",6(){c.2G.4E(c);b.1l=b.1l.Q("1m","")})}}I(1j 3F!="1d"&&1j M=="1d")M=3F("M").M;K e={2v:{"1g-27":"","2i-1s":1,"2z-1s-2t":11,1M:N,1t:N,"42-45":R,"43-22":4,1u:R,16:R,"3V-17":R,2l:11,"41-40":R,2k:11,"1z-1k":11},13:{1W:"&2s;",2M:R,46:11,44:11,34:"4n",1x:{21:"4o 1m",2P:"?",1X:"1v\\n\\n",3E:"4r\'t 4t 1D O: ",4g:"4m 4B\'t 51 O 1z-1k 4F: ",37:\'<!4T 1z 4S "-//4V//3H 4W 1.0 4Z//4Y" "1Z://2y.3L.3K/4X/3I/3H/3I-4P.4J"><1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v</1t></3J><3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;"><T 1L="2O-3D:3C;3w-32:1.6z;"><T 1L="25-22:6A-6E;">1v</T><T 1L="25-22:.6C;3w-6B:6R;"><T>3v 3.0.76 (72 73 3x)</T><T><a 2h="1Z://3u.2w/1v" 1F="38" 1L="2f:#3y">1Z://3u.2w/1v</a></T><T>70 17 6U 71.</T><T>6T 6X-3x 6Y 6D.</T></T><T>6t 61 60 J 1k, 5Z <a 2h="6u://2y.62.2w/63-66/65?64=5X-5W&5P=5O" 1L="2f:#3y">5R</a> 5V <2R/>5U 5T 5S!</T></T></3B></1z>\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'<T 1g="16">\',d=e.16.2x,h=d.2X,g=0;g<h.L;g++)c+=(d[h[g]].1H||b)(a,h[g]);c+="</T>";H c},2o:6(a,b,c){H\'<2W><a 2h="#" 1g="6e 6h\'+b+" "+b+\'">\'+c+"</a></2W>"},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h<c.L;h++)d.U(c[h]);c=d}c=c;d=[];I(e.13.2M)c=c.1O(z());I(c.L===0)H d;O(h=0;h<c.L;h++){O(K g=c[h],i=a,k=c[h].1l,j=3W 0,l={},m=1f M("^\\\\[(?<2V>(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g<c.L;g++){b=c[g];K i=b.1F,k=b.1n,j=k.1D,l;I(j!=N){I(k["1z-1k"]=="R"||e.2v["1z-1k"]==R){d=1f e.4l(j);j="4O"}Y I(d=A(j))d=1f d;Y 6H;l=i.3X;I(h.2M){l=l;K m=x(l),s=11;I(m.1i("<![6G[")==0){m=m.4h(9);s=R}K o=m.L;I(m.1i("]]\\>")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;m<j.L;m++)j[m].P+=l}K c=A(a),d,h=1f e.1U.5Y,g=J,i="2F 1H 2Q".1e(" ");I(c!=N){d=1f c;O(K k=0;k<i.L;k++)(6(){K j=i[k];g[j]=6(){H h[j].1p(h,14)}})();d.28==N?1P.1X(e.13.1x.1X+(e.13.1x.4g+a)):h.2J.U({1I:d.28.17,2D:6(j){O(K l=j.17,m=[],s=d.2J,o=j.P+j.18.L,F=d.28,q,G=0;G<s.L;G++){q=y(l,s[G]);b(q,o);m=m.1O(q)}I(F.18!=N&&j.18!=N){q=y(j.18,F.18);b(q,j.P);m=m.1O(q)}I(F.1b!=N&&j.1b!=N){q=y(j.1b,F.1b);b(q,j.P+j[0].5Q(j.1b));m=m.1O(q)}O(j=0;j<m.L;j++)m[j].1V=c.1V;H m}})}};e.4j=6(){};e.4j.Z={V:6(a,b){K c=J.1n[a];c=c==N?b:c;K d={"R":R,"11":11}[c];H d==N?c:d},3Y:6(a){H 1E.4i(a)},4c:6(a,b){K c=[];I(a!=N)O(K d=0;d<a.L;d++)I(1j a[d]=="2m")c=c.1O(y(b,a[d]));H J.4e(c.6b(D))},4e:6(a){O(K b=0;b<a.L;b++)I(a[b]!==N)O(K c=a[b],d=c.P+c.L,h=b+1;h<a.L&&a[b]!==N;h++){K g=a[h];I(g!==N)I(g.P>d)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P<d)a[h]=N}H a},4d:6(a){K b=[],c=2u(J.V("2i-1s"));v(a,6(d,h){b.U(h+c)});H b},3U:6(a){K b=J.V("1M",[]);I(1j b!="2m"&&b.U==N)b=[b];a:{a=a.1q();K c=3W 0;O(c=c=1Q.6c(c||0,0);c<b.L;c++)I(b[c]==a){b=c;1N a}b=-1}H b!=-1},2r:6(a,b,c){a=["1s","6i"+b,"P"+a,"6r"+(b%2==0?1:2).1q()];J.3U(b)&&a.U("67");b==0&&a.U("1N");H\'<T 1g="\'+a.1K(" ")+\'">\'+c+"</T>"},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i<d;i++){K k=b?b[i]:h+i,j;I(k==0)j=e.13.1W;Y{j=g;O(K l=k.1q();l.L<j;)l="0"+l;j=l}a=j;c+=J.2r(i,k,a)}H c},49:6(a,b){a=x(a);K c=a.1e("\\n");J.V("2z-1s-2t");K d=2u(J.V("2i-1s"));a="";O(K h=J.V("1D"),g=0;g<c.L;g++){K i=c[g],k=/^(&2s;|\\s)+/.X(i),j=N,l=b?b[g]:d+g;I(k!=N){j=k[0].1q();i=i.1o(j.L);j=j.Q(" ",e.13.1W)}i=x(i);I(i.L==0)i=e.13.1W;a+=J.2r(g,l,(j!=N?\'<17 1g="\'+h+\' 5N">\'+j+"</17>":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"</4a>":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i<b.L;i++){K k=b[i],j;I(!(k===N||k.L===0)){j=c(k);h+=u(a.1o(d,k.P-d),j+"48")+u(k.1T,j+k.23);d=k.P+k.L+(k.75||0)}}h+=u(a.1o(d),c()+"48");H h},1H:6(a){K b="",c=["20"],d;I(J.V("2k")==R)J.1n.16=J.1n.1u=11;1l="20";J.V("2l")==R&&c.U("47");I((1u=J.V("1u"))==11)c.U("6S");c.U(J.V("1g-27"));c.U(J.V("1D"));a=a.Q(/^[ ]*[\\n]+|[\\n]*[ ]*$/g,"").Q(/\\r/g," ");b=J.V("43-22");I(J.V("42-45")==R)a=n(a,b);Y{O(K h="",g=0;g<b;g++)h+=" ";a=a.Q(/\\t/g,h)}a=a;a:{b=a=a;h=/<2R\\s*\\/?>|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i<b.L&&g>0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i<b.L;i++)b[i]=b[i].1o(g);a=b.1K("\\n")}I(1u)d=J.4d(a);b=J.4c(J.2J,a);b=J.4b(a,b);b=J.49(b,d);I(J.V("41-40"))b=E(b);1j 2H!="1d"&&2H.3S&&2H.3S.1C(/5s/)&&c.U("5t");H b=\'<T 1c="\'+t(J.1c)+\'" 1g="\'+c.1K(" ")+\'">\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"</2d>":"")+\'<2d 1g="17"><T 1g="3O">\'+b+"</T></2d></3P></3T></3Z></T>"},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{}))

;/**
 * SyntaxHighlighter
 * http://alexgorbatchev.com/SyntaxHighlighter
 *
 * SyntaxHighlighter is donationware. If you are using it, please donate.
 * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
 *
 * @version
 * 3.0.83 (July 02 2010)
 * 
 * @copyright
 * Copyright (C) 2004-2010 Alex Gorbatchev.
 *
 * @license
 * Dual licensed under the MIT and GPL licenses.
 */
;(function()
{
	// CommonJS
	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;

	function Brush()
	{
		function process(match, regexInfo)
		{
			var constructor = SyntaxHighlighter.Match,
				code = match[0],
				tag = new XRegExp('(&lt;|<)[\\s\\/\\?]*(?<name>[:\\w-\\.]+)', 'xg').exec(code),
				result = []
				;
		
			if (match.attributes != null) 
			{
				var attributes,
					regex = new XRegExp('(?<name> [\\w:\\-\\.]+)' +
										'\\s*=\\s*' +
										'(?<value> ".*?"|\'.*?\'|\\w+)',
										'xg');

				while ((attributes = regex.exec(code)) != null) 
				{
					result.push(new constructor(attributes.name, match.index + attributes.index, 'color1'));
					result.push(new constructor(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string'));
				}
			}

			if (tag != null)
				result.push(
					new constructor(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword')
				);

			return result;
		}
	
		this.regexList = [
			{ regex: new XRegExp('(\\&lt;|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\&gt;|>)', 'gm'),			css: 'color2' },	// <![ ... [ ... ]]>
			{ regex: SyntaxHighlighter.regexLib.xmlComments,												css: 'comments' },	// <!-- ... -->
			{ regex: new XRegExp('(&lt;|<)[\\s\\/\\?]*(\\w+)(?<attributes>.*?)[\\s\\/\\?]*(&gt;|>)', 'sg'), func: process }
		];
	};

	Brush.prototype	= new SyntaxHighlighter.Highlighter();
	Brush.aliases	= ['xml', 'xhtml', 'xslt', 'html'];

	SyntaxHighlighter.brushes.Xml = Brush;

	// CommonJS
	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();

;/**
 * SyntaxHighlighter
 * http://alexgorbatchev.com/SyntaxHighlighter
 *
 * SyntaxHighlighter is donationware. If you are using it, please donate.
 * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
 *
 * @version
 * 3.0.83 (July 02 2010)
 * 
 * @copyright
 * Copyright (C) 2004-2010 Alex Gorbatchev.
 *
 * @license
 * Dual licensed under the MIT and GPL licenses.
 */
;(function()
{
	// CommonJS
	typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;

	function Brush()
	{
		var keywords =	'break case catch continue ' +
						'default delete do else false  ' +
						'for function if in instanceof ' +
						'new null return super switch ' +
						'this throw true try typeof var while with'
						;

		var r = SyntaxHighlighter.regexLib;
		
		this.regexList = [
			{ regex: r.multiLineDoubleQuotedString,					css: 'string' },			// double quoted strings
			{ regex: r.multiLineSingleQuotedString,					css: 'string' },			// single quoted strings
			{ regex: r.singleLineCComments,							css: 'comments' },			// one line comments
			{ regex: r.multiLineCComments,							css: 'comments' },			// multiline comments
			{ regex: /\s*#.*/gm,									css: 'preprocessor' },		// preprocessor tags like #region and #endregion
			{ regex: new RegExp(this.getKeywords(keywords), 'gm'),	css: 'keyword' }			// keywords
			];
	
		this.forHtmlScript(r.scriptScriptTags);
	};

	Brush.prototype	= new SyntaxHighlighter.Highlighter();
	Brush.aliases	= ['js', 'jscript', 'javascript'];

	SyntaxHighlighter.brushes.JScript = Brush;

	// CommonJS
	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();

;/*
 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
 *
 * Uses the built in easing capabilities added In jQuery 1.1
 * to offer multiple easing options
 *
 * TERMS OF USE - jQuery Easing
 * 
 * Open source under the BSD License. 
 * 
 * Copyright Â© 2008 George McGinley Smith
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
*/

// t: current time, b: begInnIng value, c: change In value, d: duration
jQuery.easing['jswing'] = jQuery.easing['swing'];

jQuery.extend( jQuery.easing,
{
	def: 'easeOutQuad',
	swing: function (x, t, b, c, d) {
		//alert(jQuery.easing.default);
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeInQuad: function (x, t, b, c, d) {
		return c*(t/=d)*t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	},
	easeInOutQuad: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t + b;
		return -c/2 * ((--t)*(t-2) - 1) + b;
	},
	easeInCubic: function (x, t, b, c, d) {
		return c*(t/=d)*t*t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t + b;
		return c/2*((t-=2)*t*t + 2) + b;
	},
	easeInQuart: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t + b;
	},
	easeOutQuart: function (x, t, b, c, d) {
		return -c * ((t=t/d-1)*t*t*t - 1) + b;
	},
	easeInOutQuart: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
		return -c/2 * ((t-=2)*t*t*t - 2) + b;
	},
	easeInQuint: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t*t + b;
	},
	easeOutQuint: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t*t*t + 1) + b;
	},
	easeInOutQuint: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
		return c/2*((t-=2)*t*t*t*t + 2) + b;
	},
	easeInSine: function (x, t, b, c, d) {
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
	},
	easeOutSine: function (x, t, b, c, d) {
		return c * Math.sin(t/d * (Math.PI/2)) + b;
	},
	easeInOutSine: function (x, t, b, c, d) {
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInCirc: function (x, t, b, c, d) {
		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
	},
	easeOutCirc: function (x, t, b, c, d) {
		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
	},
	easeInElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	},
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
	},
	easeInBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*(t/=d)*t*((s+1)*t - s) + b;
	},
	easeOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	},
	easeInOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158; 
		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
	},
	easeInBounce: function (x, t, b, c, d) {
		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
	},
	easeOutBounce: function (x, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	},
	easeInOutBounce: function (x, t, b, c, d) {
		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
	}
});

/*
 *
 * TERMS OF USE - EASING EQUATIONS
 * 
 * Open source under the BSD License. 
 * 
 * Copyright Â© 2001 Robert Penner
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
 */
;
(function() {
function e(a){throw a;}var g=void 0,i=!0,k=null,l=!1;function aa(a){return function(b){this[a]=b}}function n(a){return function(){return this[a]}}var q,r=this;function ba(){}
function da(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function t(a){return a!==g}function ea(a){return"array"==da(a)}function fa(a){var b=da(a);return"array"==b||"object"==b&&"number"==typeof a.length}function u(a){return"string"==typeof a}function ga(a){return"function"==da(a)}function ha(a){var b=typeof a;return"object"==b&&a!=k||"function"==b}function ia(a){return a[ja]||(a[ja]=++ka)}var ja="closure_uid_"+Math.floor(2147483648*Math.random()).toString(36),ka=0;
function la(a,b,c){return a.call.apply(a.bind,arguments)}function ma(a,b,c){a||e(Error());if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function x(a,b,c){x=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?la:ma;return x.apply(k,arguments)}
function z(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=Array.prototype.slice.call(arguments);b.unshift.apply(b,c);return a.apply(this,b)}}var na=Date.now||function(){return+new Date};function oa(a){var b={},c;for(c in b)var d=(""+b[c]).replace(/\$/g,"$$$$"),a=a.replace(RegExp("\\{\\$"+c+"\\}","gi"),d);return a}
function A(a,b){var c=a.split("."),d=r;!(c[0]in d)&&d.execScript&&d.execScript("var "+c[0]);for(var f;c.length&&(f=c.shift());)!c.length&&t(b)?d[f]=b:d=d[f]?d[f]:d[f]={}}function B(a,b){function c(){}c.prototype=b.prototype;a.d=b.prototype;a.prototype=new c;a.prototype.constructor=a}Function.prototype.bind=Function.prototype.bind||function(a,b){if(1<arguments.length){var c=Array.prototype.slice.call(arguments,1);c.unshift(this,a);return x.apply(k,c)}return x(this,a)};function pa(a,b){for(var c=1;c<arguments.length;c++)var d=String(arguments[c]).replace(/\$/g,"$$$$"),a=a.replace(/\%s/,d);return a}function qa(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")}function ra(a){if(!sa.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(ta,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(ua,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(va,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(wa,"&quot;"));return a}var ta=/&/g,ua=/</g,va=/>/g,wa=/\"/g,sa=/[&<>\"]/;
function xa(a){return Array.prototype.join.call(arguments,"")}
function ya(a,b){for(var c=0,d=qa(String(a)).split("."),f=qa(String(b)).split("."),h=Math.max(d.length,f.length),j=0;0==c&&j<h;j++){var m=d[j]||"",p=f[j]||"",s=RegExp("(\\d*)(\\D*)","g"),J=RegExp("(\\d*)(\\D*)","g");do{var y=s.exec(m)||["","",""],v=J.exec(p)||["","",""];if(0==y[0].length&&0==v[0].length)break;c=((0==y[1].length?0:parseInt(y[1],10))<(0==v[1].length?0:parseInt(v[1],10))?-1:(0==y[1].length?0:parseInt(y[1],10))>(0==v[1].length?0:parseInt(v[1],10))?1:0)||((0==y[2].length)<(0==v[2].length)?
-1:(0==y[2].length)>(0==v[2].length)?1:0)||(y[2]<v[2]?-1:y[2]>v[2]?1:0)}while(0==c)}return c}function za(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})}function Aa(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()};var C=Array.prototype,Ba=C.indexOf?function(a,b,c){return C.indexOf.call(a,b,c)}:function(a,b,c){c=c==k?0:0>c?Math.max(0,a.length+c):c;if(u(a))return!u(b)||1!=b.length?-1:a.indexOf(b,c);for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},E=C.forEach?function(a,b,c){C.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,f=u(a)?a.split(""):a,h=0;h<d;h++)h in f&&b.call(c,f[h],h,a)},Ca=C.filter?function(a,b,c){return C.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,f=[],h=0,j=u(a)?a.split(""):
a,m=0;m<d;m++)if(m in j){var p=j[m];b.call(c,p,m,a)&&(f[h++]=p)}return f};function Da(a,b){var c=Ba(a,b);0<=c&&C.splice.call(a,c,1)}function Ea(a){return C.concat.apply(C,arguments)}function Fa(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]}function Ga(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c],f;if(ea(d)||(f=fa(d))&&d.hasOwnProperty("callee"))a.push.apply(a,d);else if(f)for(var h=a.length,j=d.length,m=0;m<j;m++)a[h+m]=d[m];else a.push(d)}}
function Ha(a,b,c,d){C.splice.apply(a,Ia(arguments,1))}function Ia(a,b,c){return 2>=arguments.length?C.slice.call(a,b):C.slice.call(a,b,c)};function F(a,b){this.x=t(a)?a:0;this.y=t(b)?b:0}F.prototype.za=function(){return new F(this.x,this.y)};F.prototype.toString=function(){return"("+this.x+", "+this.y+")"};function Ja(a,b){for(var c in a)b.call(g,a[c],c,a)}function Ka(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b}function La(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b}function Ma(a){for(var b in a)return l;return i}var Na="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
function Oa(a,b){for(var c,d,f=1;f<arguments.length;f++){d=arguments[f];for(c in d)a[c]=d[c];for(var h=0;h<Na.length;h++)c=Na[h],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};function Pa(a){if("function"==typeof a.T)return a.T();if(u(a))return a.split("");if(fa(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return Ka(a)}function Qa(a,b,c){if("function"==typeof a.forEach)a.forEach(b,c);else if(fa(a)||u(a))E(a,b,c);else{var d;if("function"==typeof a.lb)d=a.lb();else if("function"!=typeof a.T)if(fa(a)||u(a)){d=[];for(var f=a.length,h=0;h<f;h++)d.push(h)}else d=La(a);else d=g;for(var f=Pa(a),h=f.length,j=0;j<h;j++)b.call(c,f[j],d&&d[j],a)}};function Ra(a,b){this.sa={};this.o=[];var c=arguments.length;if(1<c){c%2&&e(Error("Uneven number of arguments"));for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else if(a){a instanceof Ra?(c=a.lb(),d=a.T()):(c=La(a),d=Ka(a));for(var f=0;f<c.length;f++)this.set(c[f],d[f])}}q=Ra.prototype;q.i=0;q.jh=0;q.T=function(){Sa(this);for(var a=[],b=0;b<this.o.length;b++)a.push(this.sa[this.o[b]]);return a};q.lb=function(){Sa(this);return this.o.concat()};q.Ma=function(a){return Ta(this.sa,a)};
q.remove=function(a){return Ta(this.sa,a)?(delete this.sa[a],this.i--,this.jh++,this.o.length>2*this.i&&Sa(this),i):l};function Sa(a){if(a.i!=a.o.length){for(var b=0,c=0;b<a.o.length;){var d=a.o[b];Ta(a.sa,d)&&(a.o[c++]=d);b++}a.o.length=c}if(a.i!=a.o.length){for(var f={},c=b=0;b<a.o.length;)d=a.o[b],Ta(f,d)||(a.o[c++]=d,f[d]=1),b++;a.o.length=c}}q.get=function(a,b){return Ta(this.sa,a)?this.sa[a]:b};q.set=function(a,b){Ta(this.sa,a)||(this.i++,this.o.push(a),this.jh++);this.sa[a]=b};q.za=function(){return new Ra(this)};
function Ta(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var Ua,Va,Wa,Xa,Ya,Za,$a,ab;function bb(){return r.navigator?r.navigator.userAgent:k}function cb(){return r.navigator}Ya=Xa=Wa=Va=Ua=l;var db;if(db=bb()){var eb=cb();Ua=0==db.indexOf("Opera");Va=!Ua&&-1!=db.indexOf("MSIE");Xa=(Wa=!Ua&&-1!=db.indexOf("WebKit"))&&-1!=db.indexOf("Mobile");Ya=!Ua&&!Wa&&"Gecko"==eb.product}var fb=Ua,G=Va,H=Ya,I=Wa,gb=Xa,hb,ib=cb();hb=ib&&ib.platform||"";Za=-1!=hb.indexOf("Mac");$a=-1!=hb.indexOf("Win");ab=-1!=hb.indexOf("Linux");
var jb=!!cb()&&-1!=(cb().appVersion||"").indexOf("X11"),kb;a:{var lb="",mb;if(fb&&r.opera)var nb=r.opera.version,lb="function"==typeof nb?nb():nb;else if(H?mb=/rv\:([^\);]+)(\)|;)/:G?mb=/MSIE\s+([^\);]+)(\)|;)/:I&&(mb=/WebKit\/(\S+)/),mb)var ob=mb.exec(bb()),lb=ob?ob[1]:"";if(G){var pb,qb=r.document;pb=qb?qb.documentMode:g;if(pb>parseFloat(lb)){kb=String(pb);break a}}kb=lb}var rb={};function K(a){return rb[a]||(rb[a]=0<=ya(kb,a))}var sb={};
function tb(a){return sb[a]||(sb[a]=G&&!!document.documentMode&&document.documentMode>=a)};var ub=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");function vb(a){if(wb){wb=l;var b=r.location;if(b){var c=b.href;if(c&&(c=(c=vb(c)[3]||k)&&decodeURIComponent(c))&&c!=b.hostname)wb=i,e(Error())}}return a.match(ub)}var wb=I;function L(a,b){var c;if(a instanceof L)this.L=t(b)?b:a.L,xb(this,a.zb),c=a.rd,yb(this),this.rd=c,c=a.Ub,yb(this),this.Ub=c,zb(this,a.$c),c=a.Zc,yb(this),this.Zc=c,Ab(this,a.N.za()),c=a.kb,yb(this),this.kb=c;else if(a&&(c=vb(String(a)))){this.L=!!b;xb(this,c[1]||"",i);var d=c[2]||"";yb(this);this.rd=d?decodeURIComponent(d):"";d=c[3]||"";yb(this);this.Ub=d?decodeURIComponent(d):"";zb(this,c[4]);d=c[5]||"";yb(this);this.Zc=d?decodeURIComponent(d):"";Ab(this,c[6]||"",i);c=c[7]||"";yb(this);this.kb=c?
decodeURIComponent(c):""}else this.L=!!b,this.N=new Bb(k,0,this.L)}q=L.prototype;q.zb="";q.rd="";q.Ub="";q.$c=k;q.Zc="";q.kb="";q.ri=l;q.L=l;
q.toString=function(){var a=[],b=this.zb;b&&a.push(Cb(b,Db),":");if(b=this.Ub){a.push("//");var c=this.rd;c&&a.push(Cb(c,Db),"@");a.push(encodeURIComponent(String(b)));b=this.$c;b!=k&&a.push(":",String(b))}if(b=this.Zc)this.Ub&&"/"!=b.charAt(0)&&a.push("/"),a.push(Cb(b,"/"==b.charAt(0)?Eb:Fb));(b=this.N.toString())&&a.push("?",b);(b=this.kb)&&a.push("#",Cb(b,Gb));return a.join("")};q.za=function(){return new L(this)};
function xb(a,b,c){yb(a);a.zb=c?b?decodeURIComponent(b):"":b;a.zb&&(a.zb=a.zb.replace(/:$/,""))}function zb(a,b){yb(a);b?(b=Number(b),(isNaN(b)||0>b)&&e(Error("Bad port number "+b)),a.$c=b):a.$c=k}function Ab(a,b,c){yb(a);b instanceof Bb?(a.N=b,a.N.Fe(a.L)):(c||(b=Cb(b,Hb)),a.N=new Bb(b,0,a.L))}function Ib(a){return a.kb}function yb(a){a.ri&&e(Error("Tried to modify a read-only Uri"))}q.Fe=function(a){this.L=a;this.N&&this.N.Fe(a);return this};
function Cb(a,b){return u(a)?encodeURI(a).replace(b,Jb):k}function Jb(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)}var Db=/[#\/\?@]/g,Fb=/[\#\?:]/g,Eb=/[\#\?]/g,Hb=/[\#\?@]/g,Gb=/#/g;function Bb(a,b,c){this.K=a||k;this.L=!!c}
function Kb(a){if(!a.n&&(a.n=new Ra,a.i=0,a.K))for(var b=a.K.split("&"),c=0;c<b.length;c++){var d=b[c].indexOf("="),f=k,h=k;0<=d?(f=b[c].substring(0,d),h=b[c].substring(d+1)):f=b[c];f=decodeURIComponent(f.replace(/\+/g," "));f=Lb(a,f);a.add(f,h?decodeURIComponent(h.replace(/\+/g," ")):"")}}q=Bb.prototype;q.n=k;q.i=k;q.add=function(a,b){Kb(this);this.K=k;var a=Lb(this,a),c=this.n.get(a);c||this.n.set(a,c=[]);c.push(b);this.i++;return this};
q.remove=function(a){Kb(this);a=Lb(this,a);return this.n.Ma(a)?(this.K=k,this.i-=this.n.get(a).length,this.n.remove(a)):l};q.Ma=function(a){Kb(this);a=Lb(this,a);return this.n.Ma(a)};q.lb=function(){Kb(this);for(var a=this.n.T(),b=this.n.lb(),c=[],d=0;d<b.length;d++)for(var f=a[d],h=0;h<f.length;h++)c.push(b[d]);return c};q.T=function(a){Kb(this);var b=[];if(a)this.Ma(a)&&(b=Ea(b,this.n.get(Lb(this,a))));else for(var a=this.n.T(),c=0;c<a.length;c++)b=Ea(b,a[c]);return b};
q.set=function(a,b){Kb(this);this.K=k;a=Lb(this,a);this.Ma(a)&&(this.i-=this.n.get(a).length);this.n.set(a,[b]);this.i++;return this};q.get=function(a,b){var c=a?this.T(a):[];return 0<c.length?String(c[0]):b};function Mb(a,b,c){a.remove(b);0<c.length&&(a.K=k,a.n.set(Lb(a,b),Fa(c)),a.i+=c.length)}
q.toString=function(){if(this.K)return this.K;if(!this.n)return"";for(var a=[],b=this.n.lb(),c=0;c<b.length;c++)for(var d=b[c],f=encodeURIComponent(String(d)),d=this.T(d),h=0;h<d.length;h++){var j=f;""!==d[h]&&(j+="="+encodeURIComponent(String(d[h])));a.push(j)}return this.K=a.join("&")};q.za=function(){var a=new Bb;a.K=this.K;this.n&&(a.n=this.n.za());return a};function Lb(a,b){var c=String(b);a.L&&(c=c.toLowerCase());return c}
q.Fe=function(a){a&&!this.L&&(Kb(this),this.K=k,Qa(this.n,function(a,c){var d=c.toLowerCase();c!=d&&(this.remove(c),Mb(this,d,a))},this));this.L=a};var M={},Nb=!G||tb(9),Ob=!H&&!G||G&&tb(9)||H&&K("1.9.1"),Pb=G&&!K("9"),Qb=G||fb||I;M.a={};M.a.set=function(a,b){a.className=b};M.a.get=function(a){a=a.className;return u(a)&&a.match(/\S+/g)||[]};M.a.add=function(a,b){var c=M.a.get(a),d=Ia(arguments,1),f=c.length+d.length;M.a.Ze(c,d);a.className=c.join(" ");return c.length==f};M.a.remove=function(a,b){var c=M.a.get(a),d=Ia(arguments,1),f=M.a.If(c,d);a.className=f.join(" ");return f.length==c.length-d.length};M.a.Ze=function(a,b){for(var c=0;c<b.length;c++)0<=Ba(a,b[c])||a.push(b[c])};
M.a.If=function(a,b){return Ca(a,function(a){return!(0<=Ba(b,a))})};M.a.Ne=function(a,b,c){for(var d=M.a.get(a),f=l,h=0;h<d.length;h++)d[h]==b&&(Ha(d,h--,1),f=i);f&&(d.push(c),a.className=d.join(" "))};M.a.Yj=function(a,b,c){var d=M.a.get(a);u(b)?Da(d,b):ea(b)&&(d=M.a.If(d,b));u(c)&&!(0<=Ba(d,c))?d.push(c):ea(c)&&M.a.Ze(d,c);a.className=d.join(" ")};M.a.ia=function(a,b){var c=M.a.get(a);return 0<=Ba(c,b)};M.a.enable=function(a,b,c){c?M.a.add(a,b):M.a.remove(a,b)};
M.a.toggle=function(a,b){var c=!M.a.ia(a,b);M.a.enable(a,b,c);return c};function N(a,b){this.width=a;this.height=b}q=N.prototype;q.za=function(){return new N(this.width,this.height)};q.toString=function(){return"("+this.width+" x "+this.height+")"};q.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};q.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};q.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};M.oh=l;M.Ve=l;M.qh=M.oh||M.Ve;M.e=function(a){return a?new Rb(M.u(a)):M.Fh||(M.Fh=new Rb)};M.r=function(){return document};M.b=function(a){return u(a)?document.getElementById(a):a};M.lh=M.b;M.h=function(a,b,c){return M.Xd(document,a,b,c)};M.k=function(a,b){var c=b||document;return M.Bd(c)?c.querySelectorAll("."+a):c.getElementsByClassName?c.getElementsByClassName(a):M.Xd(document,"*",a,b)};M.fa=function(a,b){var c=b||document,d=k;return(d=M.Bd(c)?c.querySelector("."+a):M.k(a,b)[0])||k};
M.Bd=function(a){return!(!a.querySelectorAll||!a.querySelector)};M.Xd=function(a,b,c,d){a=d||a;b=b&&"*"!=b?b.toUpperCase():"";if(M.Bd(a)&&(b||c))return a.querySelectorAll(b+(c?"."+c:""));if(c&&a.getElementsByClassName){a=a.getElementsByClassName(c);if(b){for(var d={},f=0,h=0,j;j=a[h];h++)b==j.nodeName&&(d[f++]=j);d.length=f;return d}return a}a=a.getElementsByTagName(b||"*");if(c){d={};for(h=f=0;j=a[h];h++)b=j.className,"function"==typeof b.split&&0<=Ba(b.split(/\s+/),c)&&(d[f++]=j);d.length=f;return d}return a};
M.mh=M.h;M.Ie=function(a,b){Ja(b,function(b,d){"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:d in M.We?a.setAttribute(M.We[d],b):0==d.lastIndexOf("aria-",0)||0==d.lastIndexOf("data-",0)?a.setAttribute(d,b):a[d]=b})};M.We={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"};
M.ga=function(a){return M.Zf(a||window)};M.Zf=function(a){a=a.document;a=M.cc(a)?a.documentElement:a.body;return new N(a.clientWidth,a.clientHeight)};M.Sh=function(){return M.Jf(window)};M.Jf=function(a){var b=a.document,c=0;if(b){var a=M.Zf(a).height,c=b.body,d=b.documentElement;if(M.cc(b)&&d.scrollHeight)c=d.scrollHeight!=a?d.scrollHeight:d.offsetHeight;else{var b=d.scrollHeight,f=d.offsetHeight;d.clientHeight!=f&&(b=c.scrollHeight,f=c.offsetHeight);c=b>a?b>f?b:f:b<f?b:f}}return c};
M.kk=function(a){return M.e((a||r||window).document).ea()};M.ea=function(){return M.Kf(document)};M.Kf=function(a){var b=M.Wd(a),a=M.Gc(a);return new F(a.pageXOffset||b.scrollLeft,a.pageYOffset||b.scrollTop)};M.Vd=function(){return M.Wd(document)};M.Wd=function(a){return!I&&M.cc(a)?a.documentElement:a.body};M.ha=function(a){return a?M.Gc(a):window};M.Gc=function(a){return a.parentWindow||a.defaultView};M.f=function(a,b,c){return M.pf(document,arguments)};
M.pf=function(a,b){var c=b[0],d=b[1];if(!Nb&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',ra(d.name),'"');if(d.type){c.push(' type="',ra(d.type),'"');var f={};Oa(f,d);delete f.type;d=f}c.push(">");c=c.join("")}c=a.createElement(c);d&&(u(d)?c.className=d:ea(d)?M.a.add.apply(k,[c].concat(d)):M.Ie(c,d));2<b.length&&M.bf(a,c,b,2);return c};M.bf=function(a,b,c,d){function f(c){c&&b.appendChild(u(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var h=c[d];fa(h)&&!M.ke(h)?E(M.le(h)?Fa(h):h,f):f(h)}};
M.nh=M.f;M.createElement=function(a){return document.createElement(a)};M.createTextNode=function(a){return document.createTextNode(a)};M.Dh=function(a,b,c){return M.qf(document,a,b,!!c)};M.qf=function(a,b,c,d){for(var f=["<tr>"],h=0;h<c;h++)f.push(d?"<td>&nbsp;</td>":"<td></td>");f.push("</tr>");f=f.join("");c=["<table>"];for(h=0;h<b;h++)c.push(f);c.push("</table>");a=a.createElement("DIV");a.innerHTML=c.join("");return a.removeChild(a.firstChild)};M.li=function(a){return M.bg(document,a)};
M.bg=function(a,b){var c=a.createElement("div");G?(c.innerHTML="<br>"+b,c.removeChild(c.firstChild)):c.innerHTML=b;if(1==c.childNodes.length)return c.removeChild(c.firstChild);for(var d=a.createDocumentFragment();c.firstChild;)d.appendChild(c.firstChild);return d};M.Rh=function(){return M.Jc()?"CSS1Compat":"BackCompat"};M.Jc=function(){return M.cc(document)};M.cc=function(a){return M.qh?M.Ve:"CSS1Compat"==a.compatMode};M.canHaveChildren=function(a){if(1!=a.nodeType)return l;switch(a.tagName){case "APPLET":case "AREA":case "BASE":case "BR":case "COL":case "COMMAND":case "EMBED":case "FRAME":case "HR":case "IMG":case "INPUT":case "IFRAME":case "ISINDEX":case "KEYGEN":case "LINK":case "NOFRAMES":case "NOSCRIPT":case "META":case "OBJECT":case "PARAM":case "SCRIPT":case "SOURCE":case "STYLE":case "TRACK":case "WBR":return l}return i};
M.appendChild=function(a,b){a.appendChild(b)};M.append=function(a,b){M.bf(M.u(a),a,arguments,1)};M.gc=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};M.Ic=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b)};M.he=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b.nextSibling)};M.eg=function(a,b,c){a.insertBefore(b,a.childNodes[c]||k)};M.removeNode=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):k};M.Ig=function(a,b){var c=b.parentNode;c&&c.replaceChild(a,b)};
M.Cf=function(a){var b,c=a.parentNode;if(c&&11!=c.nodeType){if(a.removeNode)return a.removeNode(l);for(;b=a.firstChild;)c.insertBefore(b,a);return M.removeNode(a)}};M.Td=function(a){return Ob&&a.children!=g?a.children:Ca(a.childNodes,function(a){return 1==a.nodeType})};M.Cc=function(a){return a.firstElementChild!=g?a.firstElementChild:M.Fc(a.firstChild,i)};M.Of=function(a){return a.lastElementChild!=g?a.lastElementChild:M.Fc(a.lastChild,l)};
M.Pf=function(a){return a.nextElementSibling!=g?a.nextElementSibling:M.Fc(a.nextSibling,i)};M.Wf=function(a){return a.previousElementSibling!=g?a.previousElementSibling:M.Fc(a.previousSibling,l)};M.Fc=function(a,b){for(;a&&1!=a.nodeType;)a=b?a.nextSibling:a.previousSibling;return a};M.Qf=function(a){if(!a)return k;if(a.firstChild)return a.firstChild;for(;a&&!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:k};
M.Xf=function(a){if(!a)return k;if(!a.previousSibling)return a.parentNode;for(a=a.previousSibling;a&&a.lastChild;)a=a.lastChild;return a};M.ke=function(a){return ha(a)&&0<a.nodeType};M.je=function(a){return ha(a)&&1==a.nodeType};M.lg=function(a){return ha(a)&&a.window==a};M.Vf=function(a){if(Qb)return a.parentElement;a=a.parentNode;return M.je(a)?a:k};
M.contains=function(a,b){if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};
M.lf=function(a,b){if(a==b)return 0;if(a.compareDocumentPosition)return a.compareDocumentPosition(b)&2?1:-1;if((9==a.nodeType||9==b.nodeType)&&G&&!K(9)){if(9==a.nodeType)return-1;if(9==b.nodeType)return 1}if("sourceIndex"in a||a.parentNode&&"sourceIndex"in a.parentNode){var c=1==a.nodeType,d=1==b.nodeType;if(c&&d)return a.sourceIndex-b.sourceIndex;var f=a.parentNode,h=b.parentNode;return f==h?M.nf(a,b):!c&&M.contains(f,b)?-1*M.mf(a,b):!d&&M.contains(h,a)?M.mf(b,a):(c?a.sourceIndex:f.sourceIndex)-
(d?b.sourceIndex:h.sourceIndex)}d=M.u(a);c=d.createRange();c.selectNode(a);c.collapse(i);d=d.createRange();d.selectNode(b);d.collapse(i);return c.compareBoundaryPoints(r.Range.START_TO_END,d)};M.mf=function(a,b){var c=a.parentNode;if(c==b)return-1;for(var d=b;d.parentNode!=c;)d=d.parentNode;return M.nf(d,a)};M.nf=function(a,b){for(var c=b;c=c.previousSibling;)if(c==a)return-1;return 1};
M.yf=function(a){var b,c=arguments.length;if(c){if(1==c)return arguments[0]}else return k;var d=[],f=Infinity;for(b=0;b<c;b++){for(var h=[],j=arguments[b];j;)h.unshift(j),j=j.parentNode;d.push(h);f=Math.min(f,h.length)}h=k;for(b=0;b<f;b++){for(var j=d[0][b],m=1;m<c;m++)if(j!=d[m][b])return h;h=j}return h};M.u=function(a){return 9==a.nodeType?a:a.ownerDocument||a.document};M.Dc=function(a){return a.contentDocument||a.contentWindow.document};M.Mf=function(a){return a.contentWindow||M.Gc(M.Dc(a))};
M.Pg=function(a,b){if("textContent"in a)a.textContent=b;else if(a.firstChild&&3==a.firstChild.nodeType){for(;a.lastChild!=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=b}else{M.gc(a);var c=M.u(a);a.appendChild(c.createTextNode(b))}};M.Uf=function(a){if("outerHTML"in a)return a.outerHTML;var b=M.u(a).createElement("div");b.appendChild(a.cloneNode(i));return b.innerHTML};M.zf=function(a,b){var c=[];return M.Qd(a,b,c,i)?c[0]:g};M.Af=function(a,b){var c=[];M.Qd(a,b,c,l);return c};
M.Qd=function(a,b,c,d){if(a!=k)for(a=a.firstChild;a;){if(b(a)&&(c.push(a),d)||M.Qd(a,b,c,d))return i;a=a.nextSibling}return l};M.Xe={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1};M.oc={IMG:" ",BR:"\n"};M.ig=function(a){var b=a.getAttributeNode("tabindex");return b&&b.specified?(a=a.tabIndex,"number"==typeof a&&0<=a&&32768>a):l};M.gd=function(a,b){b?a.tabIndex=0:(a.tabIndex=-1,a.removeAttribute("tabIndex"))};
M.mb=function(a){if(Pb&&"innerText"in a)a=a.innerText.replace(/(\r\n|\r|\n)/g,"\n");else{var b=[];M.ae(a,b,i);a=b.join("")}a=a.replace(/ \xAD /g," ").replace(/\xAD/g,"");a=a.replace(/\u200B/g,"");Pb||(a=a.replace(/ +/g," "));" "!=a&&(a=a.replace(/^\s*/,""));return a};M.lk=function(a){var b=[];M.ae(a,b,l);return b.join("")};
M.ae=function(a,b,c){if(!(a.nodeName in M.Xe))if(3==a.nodeType)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in M.oc)b.push(M.oc[a.nodeName]);else for(a=a.firstChild;a;)M.ae(a,b,c),a=a.nextSibling};M.Sf=function(a){return M.mb(a).length};M.Tf=function(a,b){for(var c=b||M.u(a).body,d=[];a&&a!=c;){for(var f=a;f=f.previousSibling;)d.unshift(M.mb(f));a=a.parentNode}return d.join("").replace(/^[\s\xa0]+/,"").replace(/ +/g," ").length};
M.Rf=function(a,b,c){for(var a=[a],d=0,f;0<a.length&&d<b;)if(f=a.pop(),!(f.nodeName in M.Xe))if(3==f.nodeType)var h=f.nodeValue.replace(/(\r\n|\r|\n)/g,"").replace(/ +/g," "),d=d+h.length;else if(f.nodeName in M.oc)d+=M.oc[f.nodeName].length;else for(h=f.childNodes.length-1;0<=h;h--)a.push(f.childNodes[h]);ha(c)&&(c.tk=f?f.nodeValue.length+b-d-1:0,c.rk=f);return f};
M.le=function(a){if(a&&"number"==typeof a.length){if(ha(a))return"function"==typeof a.item||"string"==typeof a.item;if(ga(a))return"function"==typeof a.item}return l};M.Xb=function(a,b,c){if(!b&&!c)return k;var d=b?b.toUpperCase():k;return M.Sd(a,function(a){return(!d||a.nodeName==d)&&(!c||M.a.ia(a,c))},i)};M.Hf=function(a,b){return M.Xb(a,k,b)};M.Sd=function(a,b,c,d){c||(a=a.parentNode);for(var c=d==k,f=0;a&&(c||f<=d);){if(b(a))return a;a=a.parentNode;f++}return k};
M.Gf=function(a){try{return a&&a.activeElement}catch(b){}return k};function Rb(a){this.m=a||r.document||document}q=Rb.prototype;q.e=M.e;q.r=n("m");q.b=function(a){return u(a)?this.m.getElementById(a):a};q.lh=Rb.prototype.b;q.h=function(a,b,c){return M.Xd(this.m,a,b,c)};q.k=function(a,b){return M.k(a,b||this.m)};q.fa=function(a,b){return M.fa(a,b||this.m)};q.mh=Rb.prototype.h;q.Ie=M.Ie;q.ga=function(a){return M.ga(a||this.ha())};q.Sh=function(){return M.Jf(this.ha())};
q.f=function(a,b,c){return M.pf(this.m,arguments)};q.nh=Rb.prototype.f;q.createElement=function(a){return this.m.createElement(a)};q.createTextNode=function(a){return this.m.createTextNode(a)};q.Dh=function(a,b,c){return M.qf(this.m,a,b,!!c)};q.li=function(a){return M.bg(this.m,a)};q.Rh=function(){return this.Jc()?"CSS1Compat":"BackCompat"};q.Jc=function(){return M.cc(this.m)};q.ha=function(){return M.Gc(this.m)};q.Vd=function(){return M.Wd(this.m)};q.ea=function(){return M.Kf(this.m)};
q.Gf=function(a){return M.Gf(a||this.m)};q.appendChild=M.appendChild;q.append=M.append;q.canHaveChildren=M.canHaveChildren;q.gc=M.gc;q.Ic=M.Ic;q.he=M.he;q.eg=M.eg;q.removeNode=M.removeNode;q.Ig=M.Ig;q.Cf=M.Cf;q.Td=M.Td;q.Cc=M.Cc;q.Of=M.Of;q.Pf=M.Pf;q.Wf=M.Wf;q.Qf=M.Qf;q.Xf=M.Xf;q.ke=M.ke;q.je=M.je;q.lg=M.lg;q.Vf=M.Vf;q.contains=M.contains;q.lf=M.lf;q.yf=M.yf;q.u=M.u;q.Dc=M.Dc;q.Mf=M.Mf;q.Pg=M.Pg;q.Uf=M.Uf;q.zf=M.zf;q.Af=M.Af;q.ig=M.ig;q.gd=M.gd;q.mb=M.mb;q.Sf=M.Sf;q.Tf=M.Tf;q.Rf=M.Rf;q.le=M.le;
q.Xb=M.Xb;q.Hf=M.Hf;q.Sd=M.Sd;function O(){0!=Sb&&(this.bk=Error().stack,Tb[ia(this)]=this)}var Sb=0,Tb={};O.prototype.Sb=l;O.prototype.Pa=function(){if(!this.Sb&&(this.Sb=i,this.g(),0!=Sb)){var a=ia(this);delete Tb[a]}};O.prototype.g=function(){this.Gh&&Ub.apply(k,this.Gh);if(this.xg)for(;this.xg.length;)this.xg.shift()()};function Vb(a){a&&"function"==typeof a.Pa&&a.Pa()}function Ub(a){for(var b=0,c=arguments.length;b<c;++b){var d=arguments[b];fa(d)?Ub.apply(k,d):Vb(d)}};var Wb=!G||tb(9),Xb=!G||tb(9),Yb=G&&!K("9");!I||K("528");H&&K("1.9b")||G&&K("8")||fb&&K("9.5")||I&&K("528");H&&!K("8")||G&&K("9");function P(a,b){this.type=a;this.currentTarget=this.target=b}q=P.prototype;q.g=function(){};q.Pa=function(){};q.Xa=l;q.defaultPrevented=l;q.bd=i;q.stopPropagation=function(){this.Xa=i};q.preventDefault=function(){this.defaultPrevented=i;this.bd=l};function Zb(a){a.preventDefault()};function $b(a){$b[" "](a);return a}$b[" "]=ba;function ac(a,b){a&&this.q(a,b)}B(ac,P);var bc=[1,4,2];q=ac.prototype;q.target=k;q.relatedTarget=k;q.offsetX=0;q.offsetY=0;q.clientX=0;q.clientY=0;q.screenX=0;q.screenY=0;q.button=0;q.keyCode=0;q.charCode=0;q.ctrlKey=l;q.altKey=l;q.shiftKey=l;q.metaKey=l;q.Ni=l;q.S=k;
q.q=function(a,b){var c=this.type=a.type;P.call(this,c);this.target=a.target||a.srcElement;this.currentTarget=b;var d=a.relatedTarget;if(d){if(H){var f;a:{try{$b(d.nodeName);f=i;break a}catch(h){}f=l}f||(d=k)}}else"mouseover"==c?d=a.fromElement:"mouseout"==c&&(d=a.toElement);this.relatedTarget=d;this.offsetX=I||a.offsetX!==g?a.offsetX:a.layerX;this.offsetY=I||a.offsetY!==g?a.offsetY:a.layerY;this.clientX=a.clientX!==g?a.clientX:a.pageX;this.clientY=a.clientY!==g?a.clientY:a.pageY;this.screenX=a.screenX||
0;this.screenY=a.screenY||0;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.Ni=Za?a.metaKey:a.ctrlKey;this.state=a.state;this.S=a;a.defaultPrevented&&this.preventDefault();delete this.Xa};q.stopPropagation=function(){ac.d.stopPropagation.call(this);this.S.stopPropagation?this.S.stopPropagation():this.S.cancelBubble=i};
q.preventDefault=function(){ac.d.preventDefault.call(this);var a=this.S;if(a.preventDefault)a.preventDefault();else if(a.returnValue=l,Yb)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};q.g=function(){};function cc(){}var dc=0;q=cc.prototype;q.key=0;q.Za=l;q.Ad=l;q.q=function(a,b,c,d,f,h){ga(a)?this.jg=i:a&&a.handleEvent&&ga(a.handleEvent)?this.jg=l:e(Error("Invalid listener argument"));this.tb=a;this.Gg=b;this.src=c;this.type=d;this.capture=!!f;this.Hc=h;this.Ad=l;this.key=++dc;this.Za=l};q.handleEvent=function(a){return this.jg?this.tb.call(this.Hc||this.src,a):this.tb.handleEvent.call(this.tb,a)};var ec={},fc={},gc={},hc={};
function Q(a,b,c,d,f){if(b){if(ea(b)){for(var h=0;h<b.length;h++)Q(a,b[h],c,d,f);return k}var d=!!d,j=fc;b in j||(j[b]={i:0,O:0});j=j[b];d in j||(j[d]={i:0,O:0},j.i++);var j=j[d],m=ia(a),p;j.O++;if(j[m]){p=j[m];for(h=0;h<p.length;h++)if(j=p[h],j.tb==c&&j.Hc==f){if(j.Za)break;return p[h].key}}else p=j[m]=[],j.i++;var s=ic,J=Xb?function(a){return s.call(J.src,J.key,a)}:function(a){a=s.call(J.src,J.key,a);if(!a)return a},h=J;h.src=a;j=new cc;j.q(c,h,a,b,d,f);c=j.key;h.key=c;p.push(j);ec[c]=j;gc[m]||
(gc[m]=[]);gc[m].push(j);a.addEventListener?(a==r||!a.sf)&&a.addEventListener(b,h,d):a.attachEvent(b in hc?hc[b]:hc[b]="on"+b,h);return c}e(Error("Invalid event type"))}function jc(a,b,c,d,f){if(ea(b))for(var h=0;h<b.length;h++)jc(a,b[h],c,d,f);else a=Q(a,b,c,d,f),ec[a].Ad=i}function kc(a,b,c,d,f){if(ea(b))for(var h=0;h<b.length;h++)kc(a,b[h],c,d,f);else if(d=!!d,a=lc(a,b,d))for(h=0;h<a.length;h++)if(a[h].tb==c&&a[h].capture==d&&a[h].Hc==f){mc(a[h].key);break}}
function mc(a){if(!ec[a])return l;var b=ec[a];if(b.Za)return l;var c=b.src,d=b.type,f=b.Gg,h=b.capture;c.removeEventListener?(c==r||!c.sf)&&c.removeEventListener(d,f,h):c.detachEvent&&c.detachEvent(d in hc?hc[d]:hc[d]="on"+d,f);c=ia(c);gc[c]&&(f=gc[c],Da(f,b),0==f.length&&delete gc[c]);b.Za=i;if(b=fc[d][h][c])b.vg=i,nc(d,h,c,b);delete ec[a];return i}
function nc(a,b,c,d){if(!d.Oc&&d.vg){for(var f=0,h=0;f<d.length;f++)d[f].Za?d[f].Gg.src=k:(f!=h&&(d[h]=d[f]),h++);d.length=h;d.vg=l;0==h&&(delete fc[a][b][c],fc[a][b].i--,0==fc[a][b].i&&(delete fc[a][b],fc[a].i--),0==fc[a].i&&delete fc[a])}}function lc(a,b,c){var d=fc;return b in d&&(d=d[b],c in d&&(d=d[c],a=ia(a),d[a]))?d[a]:k}
function oc(a,b,c,d,f){var h=1,b=ia(b);if(a[b]){a.O--;a=a[b];a.Oc?a.Oc++:a.Oc=1;try{for(var j=a.length,m=0;m<j;m++){var p=a[m];p&&!p.Za&&(h&=pc(p,f)!==l)}}finally{a.Oc--,nc(c,d,b,a)}}return Boolean(h)}function pc(a,b){a.Ad&&mc(a.key);return a.handleEvent(b)}
function ic(a,b){if(!ec[a])return i;var c=ec[a],d=c.type,f=fc;if(!(d in f))return i;var f=f[d],h,j;if(!Xb){var m;if(!(m=b))a:{m=["window","event"];for(var p=r;h=m.shift();)if(p[h]!=k)p=p[h];else{m=k;break a}m=p}h=m;m=i in f;p=l in f;if(m){if(0>h.keyCode||h.returnValue!=g)return i;a:{var s=l;if(0==h.keyCode)try{h.keyCode=-1;break a}catch(J){s=i}if(s||h.returnValue==g)h.returnValue=i}}s=new ac;s.q(h,this);h=i;try{if(m){for(var y=[],v=s.currentTarget;v;v=v.parentNode)y.push(v);j=f[i];j.O=j.i;for(var ca=
y.length-1;!s.Xa&&0<=ca&&j.O;ca--)s.currentTarget=y[ca],h&=oc(j,y[ca],d,i,s);if(p){j=f[l];j.O=j.i;for(ca=0;!s.Xa&&ca<y.length&&j.O;ca++)s.currentTarget=y[ca],h&=oc(j,y[ca],d,l,s)}}else h=pc(c,s)}finally{y&&(y.length=0)}return h}d=new ac(b,this);return h=pc(c,d)};function R(){O.call(this)}B(R,O);q=R.prototype;q.sf=i;q.Yc=k;q.He=aa("Yc");q.addEventListener=function(a,b,c,d){Q(this,a,b,c,d)};q.removeEventListener=function(a,b,c,d){kc(this,a,b,c,d)};
q.dispatchEvent=function(a){var b=a.type||a,c=fc;if(b in c){if(u(a))a=new P(a,this);else if(a instanceof P)a.target=a.target||this;else{var d=a,a=new P(b,this);Oa(a,d)}var d=1,f,c=c[b],b=i in c,h;if(b){f=[];for(h=this;h;h=h.Yc)f.push(h);h=c[i];h.O=h.i;for(var j=f.length-1;!a.Xa&&0<=j&&h.O;j--)a.currentTarget=f[j],d&=oc(h,f[j],a.type,i,a)&&a.bd!=l}if(l in c)if(h=c[l],h.O=h.i,b)for(j=0;!a.Xa&&j<f.length&&h.O;j++)a.currentTarget=f[j],d&=oc(h,f[j],a.type,l,a)&&a.bd!=l;else for(f=this;!a.Xa&&f&&h.O;f=
f.Yc)a.currentTarget=f,d&=oc(h,f,a.type,l,a)&&a.bd!=l;a=Boolean(d)}else a=i;return a};q.g=function(){R.d.g.call(this);var a,b=0,c=a==k;a=!!a;if(this==k)Ja(gc,function(d){for(var f=d.length-1;0<=f;f--){var h=d[f];if(c||a==h.capture)mc(h.key),b++}});else{var d=ia(this);if(gc[d])for(var d=gc[d],f=d.length-1;0<=f;f--){var h=d[f];if(c||a==h.capture)mc(h.key),b++}}this.Yc=k};function qc(a,b){O.call(this);this.ob=a||1;this.mc=b||rc;this.yd=x(this.gj,this);this.re=na()}B(qc,R);qc.prototype.enabled=l;var rc=r.window;q=qc.prototype;q.w=k;q.gj=function(){if(this.enabled){var a=na()-this.re;0<a&&a<0.8*this.ob?this.w=this.mc.setTimeout(this.yd,this.ob-a):(this.dispatchEvent(sc),this.enabled&&(this.w=this.mc.setTimeout(this.yd,this.ob),this.re=na()))}};q.start=function(){this.enabled=i;this.w||(this.w=this.mc.setTimeout(this.yd,this.ob),this.re=na())};
q.stop=function(){this.enabled=l;this.w&&(this.mc.clearTimeout(this.w),this.w=k)};q.g=function(){qc.d.g.call(this);this.stop();delete this.mc};var sc="tick";function tc(a,b,c){ga(a)?c&&(a=x(a,c)):a&&"function"==typeof a.handleEvent?a=x(a.handleEvent,a):e(Error("Invalid listener argument"));return 2147483647<b?-1:rc.setTimeout(a,b||0)};function uc(a){O.call(this);this.qa=a;this.o=[]}B(uc,O);var vc=[];function S(a,b,c,d,f){ea(c)||(vc[0]=c,c=vc);for(var h=0;h<c.length;h++){var j=Q(b,c[h],d||a,f||l,a.qa||a);a.o.push(j)}return a}function wc(a,b,c,d,f,h){if(ea(c))for(var j=0;j<c.length;j++)wc(a,b,c[j],d,f,h);else{a:{d=d||a;h=h||a.qa||a;f=!!f;if(b=lc(b,c,f))for(c=0;c<b.length;c++)if(!b[c].Za&&b[c].tb==d&&b[c].capture==f&&b[c].Hc==h){b=b[c];break a}b=k}b&&(b=b.key,mc(b),Da(a.o,b))}}function xc(a){E(a.o,mc);a.o.length=0}
uc.prototype.g=function(){uc.d.g.call(this);xc(this)};uc.prototype.handleEvent=function(){e(Error("EventHandler.handleEvent not implemented"))};function yc(){O.call(this);this.la=zc;this.wf=this.startTime=k}B(yc,R);var zc=0;yc.prototype.$=function(){this.pa("begin")};yc.prototype.Ga=function(){this.pa("end")};yc.prototype.ze=function(){this.pa("finish")};yc.prototype.pa=function(a){this.dispatchEvent(a)};function Ac(a,b,c){O.call(this);this.ue=a;this.ob=b||0;this.qa=c;this.zh=x(this.Kh,this)}B(Ac,O);q=Ac.prototype;q.ra=0;q.g=function(){Ac.d.g.call(this);this.stop();delete this.ue;delete this.qa};q.start=function(a){this.stop();this.ra=tc(this.zh,t(a)?a:this.ob)};q.stop=function(){0!=this.ra&&rc.clearTimeout(this.ra);this.ra=0};q.Kh=function(){this.ra=0;this.ue&&this.ue.call(this.qa)};var Bc;Bc=function(){return i};var Cc={},Dc=k;function Ec(a){a=ia(a);delete Cc[a];Ma(Cc)&&Dc&&Dc.stop()}function Fc(){Dc||(Dc=new Ac(function(){var a=na();Ja(Cc,function(c){Gc(c,a)});Ma(Cc)||Fc()},20));var a=Dc;0!=a.ra||a.start()};function Hc(a,b,c,d){yc.call(this);(!ea(a)||!ea(b))&&e(Error("Start and end parameters must be arrays"));a.length!=b.length&&e(Error("Start and end points must be the same length"));this.Bb=a;this.vf=b;this.duration=c;this.Ye=d;this.coords=[];this.Ka=l}B(Hc,yc);q=Hc.prototype;q.Ff=0;q.M=0;q.qe=k;
q.play=function(a){if(a||this.la==zc)this.M=0,this.coords=this.Bb;else if(1==this.la)return l;Ec(this);this.startTime=a=na();-1==this.la&&(this.startTime-=this.duration*this.M);this.wf=this.startTime+this.duration;this.qe=this.startTime;this.M||this.$();this.pa("play");-1==this.la&&this.pa("resume");this.la=1;var b=ia(this);b in Cc||(Cc[b]=this);Fc();Gc(this,a);return i};q.stop=function(a){Ec(this);this.la=zc;a&&(this.M=1);Ic(this,this.M);this.pa("stop");this.Ga()};
q.g=function(){this.la==zc||this.stop(l);this.pa("destroy");Hc.d.g.call(this)};function Gc(a,b){a.M=(b-a.startTime)/(a.wf-a.startTime);1<=a.M&&(a.M=1);a.Ff=1E3/(b-a.qe);a.qe=b;Ic(a,a.M);1==a.M?(a.la=zc,Ec(a),a.ze(),a.Ga()):1==a.la&&a.ta()}function Ic(a,b){ga(a.Ye)&&(b=a.Ye(b));a.coords=Array(a.Bb.length);for(var c=0;c<a.Bb.length;c++)a.coords[c]=(a.vf[c]-a.Bb[c])*b+a.Bb[c]}q.ta=function(){this.pa("animate")};q.pa=function(a){this.dispatchEvent(new Jc(a,this))};
function Jc(a,b){P.call(this,a);this.coords=b.coords;this.x=b.coords[0];this.y=b.coords[1];this.zk=b.coords[2];this.duration=b.duration;this.M=b.M;this.gk=b.Ff;this.state=b.la;this.uh=b}B(Jc,P);function Kc(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d}Kc.prototype.za=function(){return new Kc(this.top,this.right,this.bottom,this.left)};Kc.prototype.toString=function(){return"("+this.top+"t, "+this.right+"r, "+this.bottom+"b, "+this.left+"l)"};Kc.prototype.contains=function(a){return!this||!a?l:a instanceof Kc?a.left>=this.left&&a.right<=this.right&&a.top>=this.top&&a.bottom<=this.bottom:a.x>=this.left&&a.x<=this.right&&a.y>=this.top&&a.y<=this.bottom};function Lc(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d}Lc.prototype.za=function(){return new Lc(this.left,this.top,this.width,this.height)};Lc.prototype.toString=function(){return"("+this.left+", "+this.top+" - "+this.width+"w x "+this.height+"h)"};
Lc.prototype.contains=function(a){return a instanceof Lc?this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height:a.x>=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height};function Mc(a,b,c){u(b)?Nc(a,c,b):Ja(b,z(Nc,a))}function Nc(a,b,c){a.style[za(c)]=b}function Oc(a,b){var c=M.u(a);return c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,k))?c[b]||c.getPropertyValue(b)||"":""}function Pc(a,b){return Oc(a,b)||(a.currentStyle?a.currentStyle[b]:k)||a.style&&a.style[b]}function Qc(a){return Pc(a,"position")}
function Rc(a,b,c){var d,f=H&&(Za||jb)&&K("1.9");b instanceof F?(d=b.x,b=b.y):(d=b,b=c);a.style.left=Sc(d,f);a.style.top=Sc(b,f)}function Tc(a){var b=a.getBoundingClientRect();G&&(a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop);return b}
function Uc(a){if(G&&!tb(8))return a.offsetParent;for(var b=M.u(a),c=Pc(a,"position"),d="fixed"==c||"absolute"==c,a=a.parentNode;a&&a!=b;a=a.parentNode)if(c=Pc(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return k}
function Vc(a){var b,c=M.u(a),d=Pc(a,"position"),f=H&&c.getBoxObjectFor&&!a.getBoundingClientRect&&"absolute"==d&&(b=c.getBoxObjectFor(a))&&(0>b.screenX||0>b.screenY),h=new F(0,0),j;b=c?M.u(c):M.r();j=G&&!tb(9)&&!M.e(b).Jc()?b.body:b.documentElement;if(a==j)return h;if(a.getBoundingClientRect)b=Tc(a),a=M.e(c).ea(),h.x=b.left+a.x,h.y=b.top+a.y;else if(c.getBoxObjectFor&&!f)b=c.getBoxObjectFor(a),a=c.getBoxObjectFor(j),h.x=b.screenX-a.screenX,h.y=b.screenY-a.screenY;else{b=a;do{h.x+=b.offsetLeft;h.y+=
b.offsetTop;b!=a&&(h.x+=b.clientLeft||0,h.y+=b.clientTop||0);if(I&&"fixed"==Qc(b)){h.x+=c.body.scrollLeft;h.y+=c.body.scrollTop;break}b=b.offsetParent}while(b&&b!=a);if(fb||I&&"absolute"==d)h.y-=c.body.offsetTop;for(b=a;(b=Uc(b))&&b!=c.body&&b!=j;)if(h.x-=b.scrollLeft,!fb||"TR"!=b.tagName)h.y-=b.scrollTop}return h}function Wc(a,b,c){b instanceof N?(c=b.height,b=b.width):c==g&&e(Error("missing height argument"));a.style.width=Sc(b,i);a.style.height=Sc(c,i)}
function Sc(a,b){"number"==typeof a&&(a=(b?Math.round(a):a)+"px");return a}function T(a){if("none"!=Pc(a,"display"))return Xc(a);var b=a.style,c=b.display,d=b.visibility,f=b.position;b.visibility="hidden";b.position="absolute";b.display="inline";a=Xc(a);b.display=c;b.position=f;b.visibility=d;return a}function Xc(a){var b=a.offsetWidth,c=a.offsetHeight,d=I&&!b&&!c;return(!t(b)||d)&&a.getBoundingClientRect?(a=Tc(a),new N(a.right-a.left,a.bottom-a.top)):new N(b,c)}
function Yc(a,b){var c=a.style;"opacity"in c?c.opacity=b:"MozOpacity"in c?c.MozOpacity=b:"filter"in c&&(c.filter=""===b?"":"alpha(opacity="+100*b+")")}function U(a,b){a.style.display=b?"":"none"}function Zc(a){return"rtl"==Pc(a,"direction")}function $c(a){return new N(a.offsetWidth,a.offsetHeight)}var ad={thin:2,medium:4,thick:6};
function bd(a,b){if("none"==(a.currentStyle?a.currentStyle[b+"Style"]:k))return 0;var c=a.currentStyle?a.currentStyle[b+"Width"]:k,d;if(c in ad)d=ad[c];else if(/^\d+px?$/.test(c))d=parseInt(c,10);else{d=a.style.left;var f=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;a.style.left=c;c=a.style.pixelLeft;a.style.left=d;a.runtimeStyle.left=f;d=c}return d}
function cd(a){if(G){var b=bd(a,"borderLeft"),c=bd(a,"borderRight"),d=bd(a,"borderTop"),a=bd(a,"borderBottom");return new Kc(d,c,a,b)}b=Oc(a,"borderLeftWidth");c=Oc(a,"borderRightWidth");d=Oc(a,"borderTopWidth");a=Oc(a,"borderBottomWidth");return new Kc(parseFloat(d),parseFloat(c),parseFloat(a),parseFloat(b))};function dd(a){var b=a.offsetLeft,c=a.offsetParent;!c&&"fixed"==Qc(a)&&(c=M.u(a).documentElement);if(!c)return b;if(H)var d=cd(c),b=b+d.left;else tb(8)&&(d=cd(c),b-=d.left);return Zc(c)?c.clientWidth-(b+a.offsetWidth):b};function V(a,b,c,d,f){Hc.call(this,b,c,d,f);this.element=a}B(V,Hc);q=V.prototype;q.Q=ba;q.kg=function(){t(this.ka)||(this.ka=Zc(this.element));return this.ka};q.ta=function(){this.Q();V.d.ta.call(this)};q.Ga=function(){this.Q();V.d.Ga.call(this)};q.$=function(){this.Q();V.d.$.call(this)};function ed(a,b,c,d,f){(2!=b.length||2!=c.length)&&e(Error("Start and end points must be 2D"));V.apply(this,arguments)}B(ed,V);
ed.prototype.Q=function(){var a=this.Ka&&this.kg()?"right":"left";this.element.style[a]=Math.round(this.coords[0])+"px";this.element.style.top=Math.round(this.coords[1])+"px"};function fd(a,b,c,d){var f=[this.Ka?dd(a):a.offsetLeft,a.offsetTop];ed.call(this,a,f,b,c,d)}B(fd,ed);fd.prototype.$=function(){this.Bb=[this.Ka?dd(this.element):this.element.offsetLeft,this.element.offsetTop];fd.d.$.call(this)};
function gd(a,b,c,d,f){(2!=b.length||2!=c.length)&&e(Error("Start and end points must be 2D"));V.apply(this,arguments)}B(gd,V);gd.prototype.Q=function(){if(this.Ka){var a=this.element,b=Math.round(this.coords[0]),b=Math.max(b,0);a.scrollLeft=Zc(a)?H?-b:!G||!K("8")?a.scrollWidth-b-a.clientWidth:b:b}else this.element.scrollLeft=Math.round(this.coords[0]);this.element.scrollTop=Math.round(this.coords[1])};
function hd(a,b,c,d,f){"number"==typeof b&&(b=[b]);"number"==typeof c&&(c=[c]);V.call(this,a,b,c,d,f);(1!=b.length||1!=c.length)&&e(Error("Start and end points must be 1D"))}B(hd,V);hd.prototype.Q=function(){Yc(this.element,this.coords[0])};hd.prototype.show=function(){this.element.style.display=""};hd.prototype.de=function(){this.element.style.display="none"};function id(a,b,c){hd.call(this,a,1,0,b,c)}B(id,hd);function jd(a,b,c){hd.call(this,a,0,1,b,c)}B(jd,hd);
function kd(a,b,c){hd.call(this,a,1,0,b,c)}B(kd,hd);kd.prototype.$=function(){this.show();kd.d.$.call(this)};kd.prototype.Ga=function(){this.de();kd.d.Ga.call(this)};function ld(a,b,c){hd.call(this,a,0,1,b,c)}B(ld,hd);ld.prototype.$=function(){this.show();ld.d.$.call(this)};M.dataset={};M.dataset.bb="data-";M.dataset.set=function(a,b,c){a.dataset?a.dataset[b]=c:a.setAttribute(M.dataset.bb+Aa(b),c)};M.dataset.get=function(a,b){return a.dataset?a.dataset[b]:a.getAttribute(M.dataset.bb+Aa(b))};M.dataset.remove=function(a,b){a.dataset?delete a.dataset[b]:a.removeAttribute(M.dataset.bb+Aa(b))};M.dataset.ia=function(a,b){return a.dataset?b in a.dataset:a.hasAttribute?a.hasAttribute(M.dataset.bb+Aa(b)):!!a.getAttribute(M.dataset.bb+Aa(b))};
M.dataset.getAll=function(a){if(a.dataset)return a.dataset;for(var b={},a=a.attributes,c=0;c<a.length;++c){var d=a[c];if(0==d.name.lastIndexOf(M.dataset.bb,0)){var f=za(d.name.substr(5));b[f]=d.value}}return b};M.U={};M.U.ph='javascript:""';M.U.rh="border:0;vertical-align:bottom;";M.U.Id=function(a,b){return a.f("iframe",{frameborder:0,style:M.U.rh+(b||""),src:M.U.ph})};M.U.qj=function(a,b){var c=M.Dc(a);c.open();c.write(b);c.close()};M.U.ak=function(a,b,c,d,f){var h=M.e(a),j=[];f||j.push("<!DOCTYPE html>");j.push("<html><head>",b,"</head><body>",c,"</body></html>");b=M.U.Id(h,d);a.appendChild(b);M.U.qj(b,j.join(""));return b};function md(a,b,c,d,f){if(!G&&(!I||!K("525")))return i;if(Za&&f)return nd(a);if(f&&!d||!c&&(17==b||18==b)||G&&d&&b==a)return l;switch(a){case 13:return!(G&&tb(9));case 27:return!I}return nd(a)}function nd(a){if(48<=a&&57>=a||96<=a&&106>=a||65<=a&&90>=a||I&&0==a)return i;switch(a){case 32:case 63:case 107:case 109:case 110:case 111:case 186:case 59:case 189:case 187:case 61:case 188:case 190:case 191:case 192:case 222:case 219:case 220:case 221:return i;default:return l}}
function od(a){switch(a){case 61:return 187;case 59:return 186;case 224:return 91;case 0:return 224;default:return a}};function pd(a,b){O.call(this);a&&(this.Lc&&this.detach(),this.c=a,this.Kc=Q(this.c,"keypress",this,b),this.pe=Q(this.c,"keydown",this.bi,b,this),this.Lc=Q(this.c,"keyup",this.di,b,this))}B(pd,R);q=pd.prototype;q.c=k;q.Kc=k;q.pe=k;q.Lc=k;q.Fa=-1;q.Ea=-1;q.ud=l;
var qd={3:13,12:144,63232:38,63233:40,63234:37,63235:39,63236:112,63237:113,63238:114,63239:115,63240:116,63241:117,63242:118,63243:119,63244:120,63245:121,63246:122,63247:123,63248:44,63272:46,63273:36,63275:35,63276:33,63277:34,63289:144,63302:45},rd={Up:38,Down:40,Left:37,Right:39,Enter:13,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,"U+007F":46,Home:36,End:35,PageUp:33,PageDown:34,Insert:45},sd=G||I&&K("525"),td=Za&&H;q=pd.prototype;
q.bi=function(a){if(I&&(17==this.Fa&&!a.ctrlKey||18==this.Fa&&!a.altKey))this.Ea=this.Fa=-1;sd&&!md(a.keyCode,this.Fa,a.shiftKey,a.ctrlKey,a.altKey)?this.handleEvent(a):(this.Ea=H?od(a.keyCode):a.keyCode,td&&(this.ud=a.altKey))};q.di=function(a){this.Ea=this.Fa=-1;this.ud=a.altKey};
q.handleEvent=function(a){var b=a.S,c,d,f=b.altKey;G&&"keypress"==a.type?(c=this.Ea,d=13!=c&&27!=c?b.keyCode:0):I&&"keypress"==a.type?(c=this.Ea,d=0<=b.charCode&&63232>b.charCode&&nd(c)?b.charCode:0):fb?(c=this.Ea,d=nd(c)?b.keyCode:0):(c=b.keyCode||this.Ea,d=b.charCode||0,td&&(f=this.ud),Za&&(63==d&&224==c)&&(c=191));var h=c,j=b.keyIdentifier;c?63232<=c&&c in qd?h=qd[c]:25==c&&a.shiftKey&&(h=9):j&&j in rd&&(h=rd[j]);a=h==this.Fa;this.Fa=h;b=new ud(h,d,a,b);b.altKey=f;this.dispatchEvent(b)};q.b=n("c");
q.detach=function(){this.Kc&&(mc(this.Kc),mc(this.pe),mc(this.Lc),this.Lc=this.pe=this.Kc=k);this.c=k;this.Ea=this.Fa=-1};q.g=function(){pd.d.g.call(this);this.detach()};function ud(a,b,c,d){d&&this.q(d,g);this.type="key";this.keyCode=a;this.charCode=b;this.repeat=c}B(ud,ac);var vd={};function wd(a){return 1-Math.pow(1-a,3)}function xd(a){return 3*a*a-2*a*a*a};function yd(a){O.call(this);this.$b={};this.Zb={};this.qa=new uc(this);this.ua=a}B(yd,R);var zd=[G?"readystatechange":"load","abort","error"];yd.prototype.start=function(){var a=this.$b;E(La(a),function(b){var c=a[b];if(c&&(delete a[b],!this.Sb)){var d;d=this.ua?M.e(this.ua).f("img"):new Image;S(this.qa,d,zd,this.zg);this.Zb[b]=d;d.id=b;d.src=c}},this)};
yd.prototype.zg=function(a){var b=a.currentTarget;if(b){if("readystatechange"==a.type)if("complete"==b.readyState)a.type="load";else return;"undefined"==typeof b.naturalWidth&&("load"==a.type?(b.naturalWidth=b.width,b.naturalHeight=b.height):(b.naturalWidth=0,b.naturalHeight=0));this.dispatchEvent({type:a.type,target:b});if(!this.Sb&&(a=b.id,delete this.$b[a],b=this.Zb[a]))delete this.Zb[a],wc(this.qa,b,zd,this.zg),Ma(this.Zb)&&Ma(this.$b)&&this.dispatchEvent("complete")}};
yd.prototype.g=function(){delete this.$b;delete this.Zb;Vb(this.qa);yd.d.g.call(this)};M.z={};M.z.Je=function(a,b){a.setAttribute("role",b)};M.z.mk=function(a){return a.getAttribute("role")||""};M.z.jc=function(a,b,c){a.setAttribute("aria-"+b,c)};M.z.Wh=function(a){a=a.getAttribute("aria-activedescendant");return a===i||a===l?a?"true":"false":a?String(a):""};M.z.hk=function(a){var b=M.z.Wh(a);return M.u(a).getElementById(b)};M.z.vk=function(a,b){M.z.jc(a,"activedescendant",b?b.id:"")};function Ad(a,b,c){O.call(this);this.target=a;this.handle=b||a;this.Mc=c||new Lc(NaN,NaN,NaN,NaN);this.m=M.u(a);this.ca=new uc(this);Q(this.handle,["touchstart","mousedown"],this.Zg,l,this)}B(Ad,R);var Bd=G||H&&K("1.9.3");q=Ad.prototype;q.clientX=0;q.clientY=0;q.screenX=0;q.screenY=0;q.$g=0;q.ah=0;q.eb=0;q.fb=0;q.uf=i;q.Qa=l;q.cg=0;q.vi=0;q.ni=l;q.Ka=l;q.Ta=n("ca");
q.g=function(){Ad.d.g.call(this);kc(this.handle,["touchstart","mousedown"],this.Zg,l,this);xc(this.ca);Bd&&this.m.releaseCapture();this.ca=this.handle=this.target=k};function Cd(a){t(a.ka)||(a.ka=Zc(a.target));return a.ka}
q.Zg=function(a){var b="mousedown"==a.type;if(this.uf&&!this.Qa&&(!b||(Wb?0==a.S.button:"click"==a.type||a.S.button&bc[0])&&(!I||!Za||!a.ctrlKey))){Dd(a);if(0==this.cg)if(this.dispatchEvent(new Ed("start",this,a.clientX,a.clientY,a)))this.Qa=i,a.preventDefault();else return;else a.preventDefault();var b=this.m,c=b.documentElement,d=!Bd;S(this.ca,b,["touchmove","mousemove"],this.ei,d);S(this.ca,b,["touchend","mouseup"],this.Ac,d);Bd?(c.setCapture(l),S(this.ca,c,"losecapture",this.Ac)):S(this.ca,M.ha(b),
"blur",this.Ac);G&&this.ni&&S(this.ca,b,"dragstart",Zb);this.Pi&&S(this.ca,this.Pi,"scroll",this.Hi,d);this.clientX=this.$g=a.clientX;this.clientY=this.ah=a.clientY;this.screenX=a.screenX;this.screenY=a.screenY;this.eb=this.Ka?dd(this.target):this.target.offsetLeft;this.fb=this.target.offsetTop;this.Ae=M.e(this.m).ea();this.vi=na()}else this.dispatchEvent("earlycancel")};
q.Ac=function(a,b){xc(this.ca);Bd&&this.m.releaseCapture();if(this.Qa){Dd(a);this.Qa=l;var c=Fd(this,this.eb),d=Gd(this,this.fb);this.dispatchEvent(new Ed("end",this,a.clientX,a.clientY,a,c,d,b||"touchcancel"==a.type))}else this.dispatchEvent("earlycancel");("touchend"==a.type||"touchcancel"==a.type)&&a.preventDefault()};
function Dd(a){var b=a.type;"touchstart"==b||"touchmove"==b?a.q(a.S.targetTouches[0],a.currentTarget):("touchend"==b||"touchcancel"==b)&&a.q(a.S.changedTouches[0],a.currentTarget)}
q.ei=function(a){if(this.uf){Dd(a);var b=(this.Ka&&Cd(this)?-1:1)*(a.clientX-this.clientX),c=a.clientY-this.clientY;this.clientX=a.clientX;this.clientY=a.clientY;this.screenX=a.screenX;this.screenY=a.screenY;if(!this.Qa){var d=this.$g-this.clientX,f=this.ah-this.clientY;if(d*d+f*f>this.cg)if(this.dispatchEvent(new Ed("start",this,a.clientX,a.clientY,a)))this.Qa=i;else{this.Sb||this.Ac(a);return}}c=Hd(this,b,c);b=c.x;c=c.y;this.Qa&&this.dispatchEvent(new Ed("beforedrag",this,a.clientX,a.clientY,a,
b,c))&&(Id(this,a,b,c),a.preventDefault())}};function Hd(a,b,c){var d=M.e(a.m).ea(),b=b+(d.x-a.Ae.x),c=c+(d.y-a.Ae.y);a.Ae=d;a.eb+=b;a.fb+=c;b=Fd(a,a.eb);a=Gd(a,a.fb);return new F(b,a)}q.Hi=function(a){var b=Hd(this,0,0);a.clientX=this.clientX;a.clientY=this.clientY;Id(this,a,b.x,b.y)};function Id(a,b,c,d){a.Ka&&Cd(a)?a.target.style.right=c+"px":a.target.style.left=c+"px";a.target.style.top=d+"px";a.dispatchEvent(new Ed("drag",a,b.clientX,b.clientY,b,c,d))}
function Fd(a,b){var c=a.Mc,d=!isNaN(c.left)?c.left:k,c=!isNaN(c.width)?c.width:0;return Math.min(d!=k?d+c:Infinity,Math.max(d!=k?d:-Infinity,b))}function Gd(a,b){var c=a.Mc,d=!isNaN(c.top)?c.top:k,c=!isNaN(c.height)?c.height:0;return Math.min(d!=k?d+c:Infinity,Math.max(d!=k?d:-Infinity,b))}function Ed(a,b,c,d,f,h,j,m){P.call(this,a);this.clientX=c;this.clientY=d;this.Zj=f;this.left=t(h)?h:b.eb;this.top=t(j)?j:b.fb;this.ek=b;this.dk=!!m}B(Ed,P);function Jd(a){O.call(this);this.c=a;a=G?"focusout":"blur";this.si=Q(this.c,G?"focusin":"focus",this,!G);this.ti=Q(this.c,a,this,!G)}B(Jd,R);Jd.prototype.handleEvent=function(a){var b=new ac(a.S);b.type="focusin"==a.type||"focus"==a.type?"focusin":"focusout";this.dispatchEvent(b)};Jd.prototype.g=function(){Jd.d.g.call(this);mc(this.si);mc(this.ti);delete this.c};function Kd(){}Kd.Nf=function(){return Kd.gg?Kd.gg:Kd.gg=new Kd};Kd.prototype.Ai=0;Kd.Nf();function Ld(a){O.call(this);this.A=a||M.e();this.ka=Md}B(Ld,R);Ld.prototype.mi=Kd.Nf();var Md=k;q=Ld.prototype;q.ra=k;q.W=l;q.c=k;q.ka=k;q.ui=k;q.ua=k;q.ya=k;q.vc=k;q.kh=l;function Nd(a){return a.ra||(a.ra=":"+(a.mi.Ai++).toString(36))}q.b=n("c");q.k=function(a){return this.c?this.A.k(a,this.c):[]};q.fa=function(a){return this.c?this.A.fa(a,this.c):k};q.Ta=function(){return this.nb||(this.nb=new uc(this))};q.He=function(a){this.ua&&this.ua!=a&&e(Error("Method not supported"));Ld.d.He.call(this,a)};
q.e=n("A");q.f=function(){this.c=this.A.createElement("div")};q.va=function(a){this.W&&e(Error("Component already rendered"));this.c||this.f();a?a.insertBefore(this.c,k):this.A.r().body.appendChild(this.c);(!this.ua||this.ua.W)&&this.Ra()};q.oa=function(a){this.W&&e(Error("Component already rendered"));if(a&&this.ff(a)){this.kh=i;if(!this.A||this.A.r()!=M.u(a))this.A=M.e(a);this.Pb(a);this.Ra()}else e(Error("Invalid element to decorate"))};q.ff=function(){return i};q.Pb=aa("c");
q.Ra=function(){this.W=i;Od(this,function(a){!a.W&&a.b()&&a.Ra()})};q.Sa=function(){Od(this,function(a){a.W&&a.Sa()});this.nb&&xc(this.nb);this.W=l};q.g=function(){Ld.d.g.call(this);this.W&&this.Sa();this.nb&&(this.nb.Pa(),delete this.nb);Od(this,function(a){a.Pa()});!this.kh&&this.c&&M.removeNode(this.c);this.ua=this.ui=this.c=this.vc=this.ya=k};q.Ud=n("c");q.kg=function(){this.ka==k&&(this.ka=Zc(this.W?this.c:this.A.r().body));return this.ka};function Od(a,b){a.ya&&E(a.ya,b,g)}
q.removeChild=function(a,b){if(a){var c=u(a)?a:Nd(a),d;this.vc&&c?(d=this.vc,d=(c in d?d[c]:g)||k):d=k;a=d;c&&a&&(d=this.vc,c in d&&delete d[c],Da(this.ya,a),b&&(a.Sa(),a.c&&M.removeNode(a.c)),c=a,c==k&&e(Error("Unable to set parent component")),c.ua=k,Ld.d.He.call(c,k))}a||e(Error("Child is not in parent component"));return a};q.gc=function(a){for(var b=[];this.ya&&0!=this.ya.length;)b.push(this.removeChild(this.ya?this.ya[0]||k:k,a));return b};function Pd(a,b){Ld.call(this,b);this.oj=!!a}B(Pd,Ld);q=Pd.prototype;q.Rd=k;q.La=l;q.C=k;q.s=k;q.aa=k;q.Yb=function(){return"goog-modalpopup"};q.Bc=n("C");q.f=function(){Pd.d.f.call(this);var a=this.b();M.a.add(a,this.Yb());M.gd(a,i);U(a,l);Qd(this);Rd(this)};function Qd(a){a.oj&&!a.s&&(a.s=M.U.Id(a.e()),a.s.className=a.Yb()+"-bg",U(a.s,l),Yc(a.s,0));a.C||(a.C=a.e().f("div",a.Yb()+"-bg"),U(a.C,l))}
function Rd(a){a.aa||(a.aa=a.e().createElement("span"),U(a.aa,l),M.gd(a.aa,i),a.aa.style.position="absolute")}q.ff=function(a){return!!a&&"DIV"==a.tagName};q.Pb=function(a){Pd.d.Pb.call(this,a);M.a.add(this.b(),this.Yb());Qd(this);Rd(this);U(this.b(),l)};q.Ra=function(){this.s&&M.Ic(this.s,this.b());M.Ic(this.C,this.b());Pd.d.Ra.call(this);M.he(this.aa,this.b());this.Rd=new Jd(this.e().r());S(this.Ta(),this.Rd,"focusin",this.Di)};
q.Sa=function(){this.La&&this.P(l);Vb(this.Rd);Pd.d.Sa.call(this);M.removeNode(this.s);M.removeNode(this.C);M.removeNode(this.aa)};q.P=function(a){a!=this.La&&(this.xb&&this.xb.stop(),this.Ib&&this.Ib.stop(),this.wb&&this.wb.stop(),this.Hb&&this.Hb.stop(),a?this.lc():this.ki())};
q.lc=function(){this.dispatchEvent("beforeshow")&&(this.Ce(),this.Ha(),S(this.Ta(),this.e().ha(),"resize",this.Ce),Sd(this,i),this.focus(),this.La=i,this.xb&&this.Ib?(jc(this.xb,"end",this.Uc,l,this),this.Ib.play(),this.xb.play()):this.Uc())};q.ki=function(){this.dispatchEvent("beforehide")&&(wc(this.Ta(),this.e().ha(),"resize",this.Ce),this.La=l,this.wb&&this.Hb?(jc(this.wb,"end",this.Sc,l,this),this.Hb.play(),this.wb.play()):this.Sc())};
function Sd(a,b){a.s&&U(a.s,b);a.C&&U(a.C,b);U(a.b(),b);U(a.aa,b)}q.Uc=function(){this.dispatchEvent("show")};q.Sc=function(){Sd(this,l);this.dispatchEvent("hide")};q.focus=function(){this.Df()};
q.Ce=function(){this.s&&U(this.s,l);this.C&&U(this.C,l);var a=this.e().r(),b=M.ga(M.ha(a)||window),c=Math.max(b.width,Math.max(a.body.scrollWidth,a.documentElement.scrollWidth)),a=Math.max(b.height,Math.max(a.body.scrollHeight,a.documentElement.scrollHeight));this.s&&(U(this.s,i),Wc(this.s,c,a));this.C&&(U(this.C,i),Wc(this.C,c,a))};
q.Ha=function(){var a=this.e().r(),b=M.ha(a)||window;if("fixed"==Qc(this.b()))var c=a=0;else c=this.e().ea(),a=c.x,c=c.y;var d=T(this.b()),b=M.ga(b),a=Math.max(a+b.width/2-d.width/2,0),c=Math.max(c+b.height/2-d.height/2,0);Rc(this.b(),a,c);Rc(this.aa,a,c)};q.Di=function(a){a.target==this.aa&&tc(this.Df,0,this)};q.Df=function(){try{G&&this.e().r().body.focus(),this.b().focus()}catch(a){}};q.g=function(){Vb(this.xb);this.xb=k;Vb(this.wb);this.wb=k;Vb(this.Ib);this.Ib=k;Vb(this.Hb);this.Hb=k;Pd.d.g.call(this)};function W(a,b,c){Pd.call(this,b,c);this.t=a||"modal-dialog";this.l=X(X(new Td,Ud,i),Vd,l,i)}B(W,Pd);q=W.prototype;q.Pd=i;q.be=i;q.rg=i;q.Mh=i;q.sc=0.5;q.nc="";q.Mb="";q.Ba=k;q.Jh=l;q.p=k;q.na=k;q.od=k;q.ma=k;q.H=k;q.j=k;q.Eg="dialog";q.Yb=n("t");q.Yf=n("nc");q.Ud=function(){this.b()||this.va();return this.H};q.Bc=function(){this.b()||this.va();return W.d.Bc.call(this)};function Wd(a,b){a.sc=b;if(a.b()){var c=a.Bc();c&&Yc(c,a.sc)}}
function Xd(a,b){a.b()&&M.a.enable(a.p,a.t+"-title-draggable",b);b&&!a.Ba?(a.Ba=new Ad(a.b(),a.p),M.a.add(a.p,a.t+"-title-draggable"),Q(a.Ba,"start",a.Ri,l,a)):!b&&a.Ba&&(a.Ba.Pa(),a.Ba=k)}
q.f=function(){W.d.f.call(this);var a=this.b(),b=this.e();this.p=b.f("div",{className:this.t+"-title",id:Nd(this)},this.na=b.f("span",this.t+"-title-text",this.nc),this.ma=b.f("span",this.t+"-title-close"));M.append(a,this.p,this.H=b.f("div",this.t+"-content"),this.j=b.f("div",this.t+"-buttons"));this.od=this.p.id;M.z.Je(a,this.Eg);M.z.jc(a,"labelledby",this.od||"");this.Mb&&(this.H.innerHTML=this.Mb);U(this.ma,this.be);this.l&&(a=this.l,a.c=this.j,a.va());U(this.j,!!this.l);Wd(this,this.sc)};
q.Pb=function(a){W.d.Pb.call(this,a);a=this.t+"-content";(this.H=M.h(k,a,this.b())[0])?this.Mb=this.H.innerHTML:(this.H=this.e().f("div",a),this.Mb&&(this.H.innerHTML=this.Mb),this.b().appendChild(this.H));var a=this.t+"-title",b=this.t+"-title-text",c=this.t+"-title-close";(this.p=M.h(k,a,this.b())[0])?(this.na=M.h(k,b,this.p)[0],this.ma=M.h(k,c,this.p)[0],this.p.id||(this.p.id=Nd(this))):(this.p=this.e().f("div",{className:a,id:Nd(this)}),this.b().insertBefore(this.p,this.H));this.od=this.p.id;
this.na?this.nc=M.mb(this.na):(this.na=this.e().f("span",b,this.nc),this.p.appendChild(this.na));M.z.jc(this.b(),"labelledby",this.od||"");this.ma||(this.ma=this.e().f("span",c),this.p.appendChild(this.ma));U(this.ma,this.be);a=this.t+"-buttons";(this.j=M.h(k,a,this.b())[0])?(this.l=new Td(this.e()),this.l.oa(this.j)):(this.j=this.e().f("div",a),this.b().appendChild(this.j),this.l&&(a=this.l,a.c=this.j,a.va()),U(this.j,!!this.l));Wd(this,this.sc)};
q.Ra=function(){W.d.Ra.call(this);S(S(this.Ta(),this.b(),"keydown",this.yg),this.b(),"keypress",this.yg);S(this.Ta(),this.j,"click",this.Ci);Xd(this,this.Mh);S(this.Ta(),this.ma,"click",this.Ii);M.z.Je(this.b(),this.Eg);""!==this.na.id&&M.z.jc(this.b(),"labelledby",this.na.id);if(!this.rg&&(this.rg=l,this.W)){var a=this.e(),b=this.Bc();a.removeNode(this.s);a.removeNode(b)}};q.Sa=function(){this.La&&this.P(l);Xd(this,l);W.d.Sa.call(this)};
q.P=function(a){a!=this.La&&(this.W||this.va(),W.d.P.call(this,a))};q.Uc=function(){W.d.Uc.call(this);this.dispatchEvent(Yd)};q.Sc=function(){W.d.Sc.call(this);this.dispatchEvent(Zd);this.Jh&&this.Pa()};
q.focus=function(){W.d.focus.call(this);if(this.l){var a=this.l.yc;if(a)for(var b=this.e().r(),c=this.j.getElementsByTagName("button"),d=0,f;f=c[d];d++)if(f.name==a){try{if(I||fb){var h=b.createElement("input");h.style.cssText="position:fixed;width:0;height:0;left:0;top:0;";this.b().appendChild(h);h.focus();this.b().removeChild(h)}f.focus()}catch(j){}break}}};
q.Ri=function(){var a=this.e().r(),b=M.ga(M.ha(a)||window),c=Math.max(a.body.scrollWidth,b.width),a=Math.max(a.body.scrollHeight,b.height),d=T(this.b());"fixed"==Qc(this.b())?(b=new Lc(0,0,Math.max(0,b.width-d.width),Math.max(0,b.height-d.height)),this.Ba.Mc=b||new Lc(NaN,NaN,NaN,NaN)):this.Ba.Mc=new Lc(0,0,c-d.width,a-d.height)||new Lc(NaN,NaN,NaN,NaN)};q.Ii=function(){if(this.be){var a=this.l,b=a&&a.Cd;b?(a=a.get(b),this.dispatchEvent(new $d(b,a))&&this.P(l)):this.P(l)}};
q.g=function(){this.j=this.ma=k;W.d.g.call(this)};q.Ci=function(a){a:{for(a=a.target;a!=k&&a!=this.j;){if("BUTTON"==a.tagName)break a;a=a.parentNode}a=k}if(a&&!a.disabled){var a=a.name,b=this.l.get(a);this.dispatchEvent(new $d(a,b))&&this.P(l)}};
q.yg=function(a){var b=l,c=l,d=this.l,f=a.target;if("keydown"==a.type)if(this.Pd&&27==a.keyCode){var h=d&&d.Cd,f="SELECT"==f.tagName&&!f.disabled;h&&!f?(c=i,b=d.get(h),b=this.dispatchEvent(new $d(h,b))):f||(b=i)}else 9==a.keyCode&&(a.shiftKey&&f==this.b())&&(c=i);else if(13==a.keyCode){if("BUTTON"==f.tagName)h=f.name;else if(d){var j=d.yc,m;if(m=j)a:{m=d.c.getElementsByTagName("BUTTON");for(var p=0,s;s=m[p];p++)if(s.name==j||s.id==j){m=s;break a}m=k}f=("TEXTAREA"==f.tagName||"SELECT"==f.tagName)&&
!f.disabled;m&&(!m.disabled&&!f)&&(h=j)}h&&d&&(c=i,b=this.dispatchEvent(new $d(h,String(d.get(h)))))}if(b||c)a.stopPropagation(),a.preventDefault();b&&this.P(l)};function $d(a,b){this.type=ae;this.key=a;this.caption=b}B($d,P);var ae="dialogselect",Zd="afterhide",Yd="aftershow";function Td(a){this.A=a||M.e();Ra.call(this)}B(Td,Ra);q=Td.prototype;q.t="goog-buttonset";q.yc=k;q.c=k;q.Cd=k;q.set=function(a,b,c,d){Ra.prototype.set.call(this,a,b);c&&(this.yc=a);d&&(this.Cd=a);return this};
function X(a,b,c,d){return a.set(b.key,b.caption,c,d)}q.va=function(){if(this.c){this.c.innerHTML="";var a=M.e(this.c);Qa(this,function(b,c){var d=a.f("button",{name:c},b);c==this.yc&&(d.className=this.t+"-default");this.c.appendChild(d)},this)}};q.oa=function(a){if(a&&1==a.nodeType){this.c=a;for(var a=this.c.getElementsByTagName("button"),b=0,c,d,f;c=a[b];b++)if(d=c.name||c.id,f=M.mb(c)||c.value,d){var h=0==b;this.set(d,f,h,c.name==be);h&&M.a.add(c,this.t+"-default")}}};q.b=n("c");q.e=n("A");
var be="cancel",ce=oa("OK"),de=oa("Cancel"),ee=oa("Yes"),fe=oa("No"),ge=oa("Save"),he=oa("Continue"),Ud={key:"ok",caption:ce},Vd={key:be,caption:de},ie={key:"yes",caption:ee},je={key:"no",caption:fe},ke={key:"save",caption:ge},le={key:"continue",caption:he};"undefined"!=typeof document&&(X(new Td,Ud,i,i),X(X(new Td,Ud,i),Vd,l,i),X(X(new Td,ie,i),je,l,i),X(X(X(new Td,ie),je,i),Vd,l,i),X(X(X(new Td,le),ke),Vd,i,i));var me,ne,oe,pe,qe,re,se;se=re=qe=pe=oe=ne=me=l;var te=bb();te&&(-1!=te.indexOf("Firefox")?me=i:-1!=te.indexOf("Camino")?ne=i:-1!=te.indexOf("iPhone")||-1!=te.indexOf("iPod")?oe=i:-1!=te.indexOf("iPad")?pe=i:-1!=te.indexOf("Android")?qe=i:-1!=te.indexOf("Chrome")?re=i:-1!=te.indexOf("Safari")&&(se=i));var ue=me,ve=ne,we=oe,xe=pe,ye=qe,ze=re,Ae=se;function Be(a,b,c,d,f){function h(a){a&&(a.tabIndex=0,M.z.Je(a,"tab"),M.a.add(a,"goog-zippy-header"),a&&S(j.sg,a,"click",j.Ei),a&&S(j.mg,a,"keydown",j.Fi))}O.call(this);this.A=f||M.e();this.jb=this.A.b(a)||k;this.Nd=this.A.b(d||k);this.ib=(this.se=ga(b)?b:k)||!b?k:this.A.b(b);this.Wb=c==i;this.mg=new uc(this);this.sg=new uc(this);var j=this;h(this.jb);h(this.Nd);Ce(this,this.Wb)}B(Be,R);q=Be.prototype;q.g=function(){Be.d.g.call(this);Vb(this.mg);Vb(this.sg)};q.Ud=n("ib");
q.collapse=function(){Ce(this,l)};q.toggle=function(){Ce(this,!this.Wb)};function Ce(a,b){a.ib?U(a.ib,b):b&&a.se&&(a.ib=a.se());a.ib&&M.a.add(a.ib,"goog-zippy-content");a.Nd?(U(a.jb,!b),U(a.Nd,b)):a.jb&&(M.a.enable(a.jb,"goog-zippy-expanded",b),M.a.enable(a.jb,"goog-zippy-collapsed",!b),M.z.jc(a.jb,"expanded",b));a.Wb=b;a.dispatchEvent(new De("toggle",a,a.Wb))}q.Fi=function(a){if(13==a.keyCode||32==a.keyCode)this.toggle(),this.dispatchEvent(new P("action",this)),a.preventDefault(),a.stopPropagation()};
q.Ei=function(){this.toggle();this.dispatchEvent(new P("action",this))};function De(a,b,c){P.call(this,a,b);this.Ph=c}B(De,P);function Ee(a){return(a=a.exec(bb()))?a[1]:""}var Fe=function(){if(ue)return Ee(/Firefox\/([0-9.]+)/);if(G||fb)return kb;if(ze)return Ee(/Chrome\/([0-9.]+)/);if(Ae)return Ee(/Version\/([0-9.]+)/);if(we||xe){var a=/Version\/(\S+).*Mobile\/(\S+)/.exec(bb());if(a)return a[1]+"."+a[2]}else{if(ye)return(a=Ee(/Android\s+([0-9.]+)/))?a:Ee(/Version\/([0-9.]+)/);if(ve)return Ee(/Camino\/([0-9.]+)/)}return""}();function Ge(a,b,c,d,f){Hc.call(this,[c.left,c.top],[c.right,c.bottom],d,f);this.c=a;this.Ab=b}B(Ge,Hc);Ge.prototype.ta=function(){this.c.style.backgroundPosition=-Math.floor(this.coords[0]/this.Ab.width)*this.Ab.width+"px "+-Math.floor(this.coords[1]/this.Ab.height)*this.Ab.height+"px";Ge.d.ta.call(this)};Ge.prototype.ze=function(){this.play(i);Ge.d.ze.call(this)};Ge.prototype.g=function(){Ge.d.g.call(this);this.c=k};M.forms={};M.forms.ik=function(a){var b=new Ra;M.forms.Lf(a,b,M.forms.sh);return b};M.forms.jk=function(a){var b=[];M.forms.Lf(a,b,M.forms.th);return b.join("&")};
M.forms.Lf=function(a,b,c){for(var d=a.elements,f,h=0;f=d[h];h++)if(!(f.form!=a||f.disabled||"fieldset"==f.tagName.toLowerCase())){var j=f.name;switch(f.type.toLowerCase()){case "file":case "submit":case "reset":case "button":break;case "select-multiple":f=M.forms.Da(f);if(f!=k)for(var m,p=0;m=f[p];p++)c(b,j,m);break;default:m=M.forms.Da(f),m!=k&&c(b,j,m)}}d=a.getElementsByTagName("input");for(h=0;f=d[h];h++)f.form==a&&"image"==f.type.toLowerCase()&&(j=f.name,c(b,j,f.value),c(b,j+".x","0"),c(b,j+
".y","0"))};M.forms.sh=function(a,b,c){var d=a.get(b);d||(d=[],a.set(b,d));d.push(c)};M.forms.th=function(a,b,c){a.push(encodeURIComponent(b)+"="+encodeURIComponent(c))};M.forms.nk=function(a){for(var a=a.elements,b,c=0;b=a[c];c++)if(!b.disabled&&b.type&&"file"==b.type.toLowerCase())return i;return l};M.forms.Og=function(a,b){if("FORM"==a.tagName)for(var c=a.elements,d=0;a=c[d];d++)M.forms.Og(a,b);else b==i&&a.blur(),a.disabled=b};M.forms.fk=function(a){a.focus();a.select&&a.select()};
M.forms.ok=function(a){return!!M.forms.Da(a)};M.forms.pk=function(a,b){return!!M.forms.Zh(a,b)};M.forms.Da=function(a){var b=a.type;if(!t(b))return k;switch(b.toLowerCase()){case "checkbox":case "radio":return M.forms.Th(a);case "select-one":return M.forms.Vh(a);case "select-multiple":return M.forms.Uh(a);default:return t(a.value)?a.value:k}};M.sj=M.forms.Da;M.forms.Zh=function(a,b){var c=a.elements[b];if(c.type)return M.forms.Da(c);for(var d=0;d<c.length;d++){var f=M.forms.Da(c[d]);if(f)return f}return k};
M.forms.Th=function(a){return a.checked?a.value:k};M.forms.Vh=function(a){var b=a.selectedIndex;return 0<=b?a.options[b].value:k};M.forms.Uh=function(a){for(var b=[],c,d=0;c=a.options[d];d++)c.selected&&b.push(c.value);return b.length?b:k};M.forms.wk=function(a,b){var c=a.type;if(t(c))switch(c.toLowerCase()){case "checkbox":case "radio":M.forms.Si(a,b);break;case "select-one":M.forms.Wi(a,b);break;case "select-multiple":M.forms.Vi(a,b);break;default:a.value=b!=k?b:""}};
M.forms.Si=function(a,b){a.checked=b?"checked":k};M.forms.Wi=function(a,b){a.selectedIndex=-1;if(u(b))for(var c,d=0;c=a.options[d];d++)if(c.value==b){c.selected=i;break}};M.forms.Vi=function(a,b){u(b)&&(b=[b]);for(var c,d=0;c=a.options[d];d++)if(c.selected=l,b)for(var f,h=0;f=b[h];h++)c.value==f&&(c.selected=i)};/*
 Portions of this code are from the Dojo Toolkit, received by
 The Closure Library Authors under the BSD license. All other code is
 Copyright 2005-2009 The Closure Library Authors. All Rights Reserved.

The "New" BSD License:

Copyright (c) 2005-2009, The Dojo Foundation
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

 Redistributions of source code must retain the above copyright notice, this
    list of conditions and the following disclaimer.
 Redistributions in binary form must reproduce the above copyright notice,
    this list of conditions and the following disclaimer in the documentation
    and/or other materials provided with the distribution.
 Neither the name of the Dojo Foundation nor the names of its contributors
    may be used to endorse or promote products derived from this software
    without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
var He=M;function Ie(a,b){var c=b||[];a&&c.push(a);return c}var Je=I&&"BackCompat"==M.r().compatMode,Ke=M.r().firstChild.children?"children":"childNodes",Le=l;
function Me(a){function b(){0<=s&&(w.id=c(s,D).replace(/\\/g,""),s=-1);if(0<=J){var a=J==D?k:c(J,D);0>">~+".indexOf(a)?w.G=a:w.Vc=a;J=-1}0<=p&&(w.a.push(c(p+1,D).replace(/\\/g,"")),p=-1)}function c(b,c){return qa(a.slice(b,c))}for(var a=0<=">~+".indexOf(a.slice(-1))?a+" * ":a+" ",d=[],f=-1,h=-1,j=-1,m=-1,p=-1,s=-1,J=-1,y="",v="",ca,D=0,Kg=a.length,w=k,Z=k;y=v,v=a.charAt(D),D<Kg;D++)if("\\"!=y)if(w||(ca=D,w={B:k,Ya:[],rc:[],a:[],G:k,Vc:k,id:k,$d:function(){return Le?this.Mi:this.G}},J=D),0<=f)if("]"==
v){Z.xd?Z.ve=c(j||f+1,D):Z.xd=c(f+1,D);if((f=Z.ve)&&('"'==f.charAt(0)||"'"==f.charAt(0)))Z.ve=f.slice(1,-1);w.rc.push(Z);Z=k;f=j=-1}else"="==v&&(j=0<="|~^$*".indexOf(y)?y:"",Z.type=j+v,Z.xd=c(f+1,D-j.length),j=D+1);else 0<=h?")"==v&&(0<=m&&(Z.value=c(h+1,D)),m=h=-1):"#"==v?(b(),s=D+1):"."==v?(b(),p=D):":"==v?(b(),m=D):"["==v?(b(),f=D,Z={}):"("==v?(0<=m&&(Z={name:c(m+1,D),value:k},w.Ya.push(Z)),h=D):" "==v&&y!=v&&(b(),0<=m&&w.Ya.push({name:c(m+1,D)}),w.pg=w.Ya.length||w.rc.length||w.a.length,w.sk=
w.B=c(ca,D),w.Mi=w.G=w.Vc?k:w.G||"*",w.G&&(w.G=w.G.toUpperCase()),d.length&&d[d.length-1].Vc&&(w.dg=d.pop(),w.B=w.dg.B+" "+w.B),d.push(w),w=k);return d}function Ne(a,b){return!a?b:!b?a:function(){return a.apply(window,arguments)&&b.apply(window,arguments)}}function Oe(a){return 1==a.nodeType}function Pe(a,b){return!a?"":"class"==b?a.className||"":"for"==b?a.htmlFor||"":"style"==b?a.style.cssText||"":(Le?a.getAttribute(b):a.getAttribute(b,2))||""}
var Qe={"*=":function(a,b){return function(c){return 0<=Pe(c,a).indexOf(b)}},"^=":function(a,b){return function(c){return 0==Pe(c,a).indexOf(b)}},"$=":function(a,b){return function(c){c=" "+Pe(c,a);return c.lastIndexOf(b)==c.length-b.length}},"~=":function(a,b){var c=" "+b+" ";return function(b){return 0<=(" "+Pe(b,a)+" ").indexOf(c)}},"|=":function(a,b){b=" "+b;return function(c){c=" "+Pe(c,a);return c==b||0==c.indexOf(b+"-")}},"=":function(a,b){return function(c){return Pe(c,a)==b}}},Re="undefined"==
typeof M.r().firstChild.nextElementSibling,Se=!Re?"nextElementSibling":"nextSibling",Te=!Re?"previousElementSibling":"previousSibling",Ue=Re?Oe:Bc;function Ve(a){for(;a=a[Te];)if(Ue(a))return l;return i}function We(a){for(;a=a[Se];)if(Ue(a))return l;return i}function Xe(a){var b=a.parentNode,c=0,d=b[Ke],f=a._i||-1,h=b._l||-1;if(!d)return-1;d=d.length;if(h==d&&0<=f&&0<=h)return f;b._l=d;f=-1;for(b=b.firstElementChild||b.firstChild;b;b=b[Se])Ue(b)&&(b._i=++c,a===b&&(f=c));return f}
function Ye(a){return!(Xe(a)%2)}function Ze(a){return Xe(a)%2}
var af={checked:function(){return function(a){return a.checked||a.attributes.checked}},"first-child":function(){return Ve},"last-child":function(){return We},"only-child":function(){return function(a){return!Ve(a)||!We(a)?l:i}},empty:function(){return function(a){for(var b=a.childNodes,a=a.childNodes.length-1;0<=a;a--){var c=b[a].nodeType;if(1===c||3==c)return l}return i}},contains:function(a,b){var c=b.charAt(0);if('"'==c||"'"==c)b=b.slice(1,-1);return function(a){return 0<=a.innerHTML.indexOf(b)}},
not:function(a,b){var c=Me(b)[0],d={hb:1};"*"!=c.G&&(d.G=1);c.a.length||(d.a=1);var f=$e(c,d);return function(a){return!f(a)}},"nth-child":function(a,b){if("odd"==b)return Ze;if("even"==b)return Ye;if(-1!=b.indexOf("n")){var c=b.split("n",2),d=c[0]?"-"==c[0]?-1:parseInt(c[0],10):1,f=c[1]?parseInt(c[1],10):0,h=0,j=-1;0<d?0>f?f=f%d&&d+f%d:0<f&&(f>=d&&(h=f-f%d),f%=d):0>d&&(d*=-1,0<f&&(j=f,f%=d));if(0<d)return function(a){a=Xe(a);return a>=h&&(0>j||a<=j)&&a%d==f};b=f}var m=parseInt(b,10);return function(a){return Xe(a)==
m}}},bf=G?function(a){var b=a.toLowerCase();"class"==b&&(a="className");return function(c){return Le?c.getAttribute(a):c[a]||c[b]}}:function(a){return function(b){return b&&b.getAttribute&&b.hasAttribute(a)}};
function $e(a,b){if(!a)return Bc;var b=b||{},c=k;b.hb||(c=Ne(c,Oe));b.G||"*"!=a.G&&(c=Ne(c,function(b){return b&&b.tagName==a.$d()}));b.a||E(a.a,function(a,b){var h=RegExp("(?:^|\\s)"+a+"(?:\\s|$)");c=Ne(c,function(a){return h.test(a.className)});c.count=b});b.Ya||E(a.Ya,function(a){var b=a.name;af[b]&&(c=Ne(c,af[b](b,a.value)))});b.rc||E(a.rc,function(a){var b,h=a.xd;a.type&&Qe[a.type]?b=Qe[a.type](h,a.ve):h.length&&(b=bf(h));b&&(c=Ne(c,b))});b.id||a.id&&(c=Ne(c,function(b){return!!b&&b.id==a.id}));
c||"default"in b||(c=Bc);return c}var cf={};
function df(a){var b=cf[a.B];if(b)return b;var c=a.dg,c=c?c.Vc:"",d=$e(a,{hb:1}),f="*"==a.G,h=M.r().getElementsByClassName;if(c)if(h={hb:1},f&&(h.G=1),d=$e(a,h),"+"==c)var j=d,b=function(a,b,c){for(;a=a[Se];)if(!Re||Oe(a)){(!c||ef(a,c))&&j(a)&&b.push(a);break}return b};else if("~"==c)var m=d,b=function(a,b,c){for(a=a[Se];a;){if(Ue(a)){if(c&&!ef(a,c))break;m(a)&&b.push(a)}a=a[Se]}return b};else{if(">"==c)var p=d,p=p||Bc,b=function(a,b,c){for(var d=0,f=a[Ke];a=f[d++];)Ue(a)&&((!c||ef(a,c))&&p(a,d))&&
b.push(a);return b}}else if(a.id)d=!a.pg&&f?Bc:$e(a,{hb:1,id:1}),b=function(b,c){var f=M.e(b).b(a.id),h;if(h=f&&d(f))if(!(h=9==b.nodeType)){for(h=f.parentNode;h&&h!=b;)h=h.parentNode;h=!!h}if(h)return Ie(f,c)};else if(h&&/\{\s*\[native code\]\s*\}/.test(String(h))&&a.a.length&&!Je)var d=$e(a,{hb:1,a:1,id:1}),s=a.a.join(" "),b=function(a,b){for(var c=Ie(0,b),f,h=0,j=a.getElementsByClassName(s);f=j[h++];)d(f,a)&&c.push(f);return c};else!f&&!a.pg?b=function(b,c){for(var d=Ie(0,c),f,h=0,j=b.getElementsByTagName(a.$d());f=
j[h++];)d.push(f);return d}:(d=$e(a,{hb:1,G:1,id:1}),b=function(b,c){for(var f=Ie(0,c),h,j=0,m=b.getElementsByTagName(a.$d());h=m[j++];)d(h,b)&&f.push(h);return f});return cf[a.B]=b}var ff={},gf={};function hf(a){var b=Me(qa(a));if(1==b.length){var c=df(b[0]);return function(a){if(a=c(a,[]))a.Qc=i;return a}}return function(a){for(var a=Ie(a),c,h,j=b.length,m,p,s=0;s<j;s++){p=[];c=b[s];h=a.length-1;0<h&&(m={},p.Qc=i);h=df(c);for(var J=0;c=a[J];J++)h(c,p,m);if(!p.length)break;a=p}return p}}
var jf=!!M.r().querySelectorAll&&(!I||K("526"));
function kf(a,b){if(jf){var c=gf[a];if(c&&!b)return c}if(c=ff[a])return c;var c=a.charAt(0),d=-1==a.indexOf(" ");0<=a.indexOf("#")&&d&&(b=i);if(jf&&!b&&-1==">~+".indexOf(c)&&(!G||-1==a.indexOf(":"))&&!(Je&&0<=a.indexOf("."))&&-1==a.indexOf(":contains")&&-1==a.indexOf("|=")){var f=0<=">~+".indexOf(a.charAt(a.length-1))?a+" *":a;return gf[a]=function(b){try{9==b.nodeType||d||e("");var c=b.querySelectorAll(f);G?c.Ch=i:c.Qc=i;return c}catch(h){return kf(a,i)(b)}}}var h=a.split(/\s*,\s*/);return ff[a]=
2>h.length?hf(a):function(a){for(var b=0,c=[],d;d=h[b++];)c=c.concat(hf(d)(a));return c}}var lf=0,mf=G?function(a){return Le?a.getAttribute("_uid")||a.setAttribute("_uid",++lf)||lf:a.uniqueID}:function(a){return a._uid||(a._uid=++lf)};function ef(a,b){if(!b)return 1;var c=mf(a);return!b[c]?b[c]=1:0}
function nf(a){if(a&&a.Qc)return a;var b=[];if(!a||!a.length)return b;a[0]&&b.push(a[0]);if(2>a.length)return b;lf++;if(G&&Le){var c=lf+"";a[0].setAttribute("_zipIdx",c);for(var d=1,f;f=a[d];d++)a[d].getAttribute("_zipIdx")!=c&&b.push(f),f.setAttribute("_zipIdx",c)}else if(G&&a.Ch)try{for(d=1;f=a[d];d++)Oe(f)&&b.push(f)}catch(h){}else{a[0]&&(a[0]._zipIdx=lf);for(d=1;f=a[d];d++)a[d]._zipIdx!=lf&&b.push(f),f._zipIdx=lf}return b}
function of(a,b){if(!a)return[];if(a.constructor==Array)return a;if(!u(a))return[a];if(u(b)&&(b=M.b(b),!b))return[];var b=b||M.r(),c=b.ownerDocument||b.documentElement;Le=b.contentType&&"application/xml"==b.contentType||fb&&(b.doctype||"[object XMLDocument]"==c.toString())||!!c&&(G?c.xml:b.xmlVersion||c.xmlVersion);return(c=kf(a)(b))&&c.Qc?c:nf(c)}of.Ya=af;He.B=of;A("goog.dom.query",M.B);A("goog.dom.query.pseudos",M.B.Ya);var pf=/Mac OS X.+Silk\//,qf=/iPhone|iPod|iPad/.test(navigator.userAgent)||-1!=navigator.userAgent.indexOf("Android")||pf.test(navigator.userAgent),rf=window.navigator.msPointerEnabled,sf=qf?"touchstart":rf?"MSPointerDown":"mousedown";function tf(a,b){var c=a.N,d=new Bb(a.kb);return c.Ma(b)?c.T(b):d.T(b)}function uf(a,b,c){var d=a.N;d.Ma(b);c&&c.length&&(Mb(d,b,c),Ab(a,d))}
function vf(a){a=a||{};this.J=M.b(a.carouselId);this.vh="animInDuration"in a?a.animInDuration:wf;this.wh="animOutDuration"in a?a.animOutDuration:800;this.Ng=a.selectedTabClass||"tab-on";this.pb="isTimerSet"in a?a.isTimerSet:l;this.xi=a.navPreviousClass||"nav-previous";this.wi=a.navNextClass||"nav-next";this.dj=a.tabContainerClass||"tabs";this.hj="timerDuration"in a?a.timerDuration:5E3;this.wa=[];this.w=this.Aa=k;this.ab=0;this.ie=l;this.ej=M.h("",this.dj,this.J)[0];this.Db=M.h("li","",this.ej);this.ad=
M.h("",this.xi,this.J)[0];this.wg=M.h("",this.wi,this.J)[0];this.Vb=new uc(this);1<this.Db.length?(this.rf(),this.pb&&this.Ld(),xf(this),this.Ge(),this.wa[0].show()):1==this.Db.length&&(this.Db[0].parentNode.style.display="none",this.ad&&(this.ad.parentNode.style.display="none"),this.pb&&this.Ld(),xf(this),this.Ge())}A("gweb.ui.TimedCarousel",vf);var wf=800;q=vf.prototype;q.Ge=function(){this.pb&&(S(this.Vb,this.J,"mouseover",this.Tb),S(this.Vb,this.J,"mouseout",z(this.Kd,this.ab)))};
q.rf=function(){E(this.Db,function(a,b){var c=new yf(a,this,b);this.wa.push(c);c.md.style.display="none"},this)};q.Ld=function(){Vb(this.w);this.w=new qc(this.hj);this.w.start();S(this.Vb,this.w,sc,function(){this.wa[this.ab].show();this.ab==this.wa.length-1?this.ab=0:this.ab++})};q.Kd=function(a){this.ab=a;this.w.start()};q.Tb=function(){this.w&&this.w.stop()};
function xf(a){a.ad&&S(a.Vb,a.ad,"click",function(a){zf(this,0<this.Aa.index?this.Aa.index-1:this.wa.length-1);a.preventDefault()});a.wg&&S(a.Vb,a.wg,"click",function(a){this.next();a.preventDefault()})}q.next=function(){var a=this.Aa.index<this.wa.length-1?this.Aa.index+1:0;zf(this,a);return a};function zf(a,b){a.pb&&a.Tb();a.wa[b].show();a.pb&&a.Kd(b)}var Af=/tab-(.*)$/;
function yf(a,b,c){this.index=c;this.J=a;this.parent=b;a=this.J.id?this.J.id.match(Af)[1]:M.h("a","",this.J)[0].href.split("#")[1];this.md=M.b(a);Q(this.J,"click",function(a){zf(this.parent,this.index);a.preventDefault()},l,this)}
yf.prototype.show=function(){if(this.parent.ie)return k;if(this!=this.parent.Aa){this.parent.Aa&&this.parent.Aa.de();this.parent.pb&&this.parent.Kd(this.index);var a=new ld(this.md,this.parent.vh);Q(a,"begin",this.af,l,this);Q(a,"end",this.pc,l,this);a.play();M.a.add(this.J,this.parent.Ng);this.parent.Aa=this;return this}return k};yf.prototype.de=function(){var a=new kd(this.md,this.parent.wh);Q(a,"begin",this.af,l,this);Q(a,"end",this.pc,l,this);a.play();M.a.remove(this.J,this.parent.Ng);return this};
yf.prototype.af=function(){this.parent.ie=i};yf.prototype.pc=function(){this.parent.ie=l};function Y(a,b){W.call(this,Bf,i);this.kf=a||Cf;this.dc=Bf+"-"+this.kf;this.fe=this.dc+"-iframe";this.nc=b||"";this.R=[];this.ba=k;this.Bf=i;this.X=this.c;this.oe=this.I=this.tg=this.ug=this.D=this.da=this.F=this.V=k;this.ja=0;this.Xc=l;this.kc=i;this.wd=this.Kg=l;this.zi=Df;this.yi=Ef;this.Bh=Ff;this.ii=l;this.Wc=-1;this.ub=l;this.Nc=new yd;this.Rb=this.hd=l;this.yh=i}B(Y,W);A("gweb.ui.LightBox",Y);
var Bf="gweb-lightbox",Gf=qf?"touchstart":rf?"MSPointerDown":"click",Ff="\u00d7",Df="\u2039",Ef="\u203a",Hf=/\.(gif|jpg|jpeg|png|webp)$/i,If=/^#/,Jf=/\/\/(www\.)?youtube\.com/,Cf="lb";q=Y.prototype;q.Ti=aa("kc");q.Ui=aa("Kg");q.Qi=aa("wd");q.Hh=function(){this.kc=l;this.Rb=i};
q.q=function(){var a=M.k(this.kf);E(a,function(a){var c=new Kf(a),d=this.R;0<=Ba(d,c)||d.push(c);M.dataset.set(a,"lightboxIndex",this.R.length-1);Q(a,Gf,function(c){c.preventDefault();this.Ke(a)},l,this);-1==this.Wc&&c.href.match(Jf)&&(this.Wc=1)},this);Wd(this,0.8);this.Pd=i;this.l=k;this.j&&(this.l?(a=this.l,a.c=this.j,a.va()):this.j.innerHTML="",U(this.j,!!this.l));this.va();1==this.Wc&&M.a.add(this.X,"gweb-lightbox-outside-nav");this.ja=Math.ceil(2*cd(this.X).top);this.Rb||(a=new pd(document),
Q(a,"key",this.ci,l,this));Q(this,"imageloaded",z(this.Ed,this.F),l,this);Q(this,"iframeloaded",z(this.Ed,this.V),l,this);Q(this,"fragmentloaded",z(this.Ed,this.da),l,this);this.yh&&Q(this.C,Gf,z(this.P,l),l,this);Q(this,Zd,this.wc,l,this);Q(this,"navigateprev",z(this.Ke,this.ug),l,this);Q(this,"navigatenext",z(this.Ke,this.tg),l,this);Q(window,"resize",z(this.Ha,this.Fg),l,this);"opacity"in window.document.body.style&&(this.hd=i)};
q.f=function(){Y.d.f.call(this);M.appendChild(this.ma,M.createTextNode(this.Bh));this.c.setAttribute("id",this.dc);this.j&&(this.D=M.f("div","gweb-lightbox-caption gweb-lightbox-hide"),M.appendChild(this.j,this.D));this.kc&&1<this.R.length&&this.na?(this.oe=M.f("span"),M.appendChild(this.na,this.oe)):this.kc=l;this.X=this.c;this.Rb?U(this.j,i):(this.ug=Lf(this,"gweb-lightbox-prev"),this.tg=Lf(this,"gweb-lightbox-next"));E(this.R,function(a){!this.F&&"IMG"==a.type?(this.F=M.f("img",{id:this.dc+"-image",
src:"//www.google.com/images/cleardot.gif"}),Wc(this.F,200,200),M.appendChild(this.H,this.F)):!this.V&&"IFRAME"==a.type?(this.V=M.U.Id(M),this.V.id=this.fe,this.V.name=this.fe,M.append(this.H,this.V)):!this.da&&"A"==a.type&&(this.da=M.f("div",{id:this.dc+"-fragment","class":Bf+"-fragment"}),M.append(this.H,this.da))},this)};q.ci=function(a){if(this.La&&!this.Rb)switch(a.keyCode){case 37:(this.ub||0!=this.ba)&&this.dispatchEvent("navigateprev");break;case 39:(this.ub||this.ba!=this.R.length-1)&&this.dispatchEvent("navigatenext")}};
function Mf(a,b){b?(M.a.remove(a.D,"gweb-lightbox-hide"),a.D.innerHTML=b,a.Xc&&M.a.add(a.D,"gweb-lightbox-overlay")):(a.D.innerHTML="",M.a.add(a.D,"gweb-lightbox-hide"));U(a.D,l)}q.Qg=function(){U(this.D,i);this.wd&&(new jd(this.D,200)).play()};function Nf(a){a=M.dataset.get(a,"lightboxIndex");return parseInt(a,10)}
function Lf(a,b){var c=M.f("span","","gweb-lightbox-next"==b?a.yi:a.zi),d=M.f("img",{src:"//www.google.com/images/cleardot.gif",alt:""}),c=M.f("a",{"class":"gweb-lightbox-nav "+b,href:"#"},[c,d]);U(c,l);M.appendChild(a.j,c);U(a.j,i);Q(c,Gf,function(a){a.preventDefault();"gweb-lightbox-next"==b?this.dispatchEvent("navigatenext"):this.dispatchEvent("navigateprev")},l,a);return c}
function Of(a,b,c){b=M.Cc(b);b.style.visibility="visible";"gweb-lightbox-prev"==c?b.style.left="0":"gweb-lightbox-next"==c&&(b.style.right="0");tc(z(a.Qh,b),2E3,a)}q.Qh=function(a){a=new id(a,500);Q(a,"end",this.hi,l,this);a.play()};q.hi=function(a){a=a.target.element;a.style.visibility="hidden";a.style.opacity=1;a.style.filter=""};q.Ke=function(a){this.Rg(Nf(a))};
q.Rg=function(a){if(this.R&&a<=this.R.length-1){this.ba=a;var b=this.R[this.ba];Mf(this,"");this.La||(this.P(i),a=new jd(this.X,200),this.hd||Q(a,"end",z(Mc,this.X,"filter",""),l,this),a.play());this.kc&&(this.oe.innerHTML=this.ba+1+"/"+this.R.length);this.Fg=T(this.X);switch(b.type){case "A":this.wc("A");Pf(this,i,this.da);Wc(this.da,b.width,b.height);this.I=new N(b.width,b.height);a=b.href.split("#");1<a.length?(a=M.b(a[1]).cloneNode(i),M.append(this.da,a.childNodes),this.dispatchEvent("fragmentloaded")):
e(Error("Invalid url:"+b.href));break;case "IFRAME":this.wc("IFRAME");Pf(this,i,this.F);jc(this.V,"load",function(a){a.preventDefault();this.V.width=b.width;this.V.height=b.height;this.I=new N(b.width,b.height);this.dispatchEvent("iframeloaded")},l,this);Qf(this,b.href);break;case "IMG":var c=M.ga(window),a=this.dc+"-image";this.wc("IMG");if(this.Nc){var d=b.href;(d=u(d)?d:d.src)&&(this.Nc.$b[a]=d);this.Nc.start()}Pf(this,i,this.F);jc(this.Nc,"load",function(a){a=a.target;this.F.src=a.src;if(this.Kg){var b=
$c(this.p).height,d=T(this.D).height+this.ja,b=this.Xc?c.height-this.ja-b:c.height-this.ja-b-d,d=1==this.Wc?c.width-3*this.ja:c.width-this.ja;a.height>b||a.width>d?(d=Math.min(d/a.width-0.1,b/a.height-0.05),b=Math.floor(a.width*d),a=Math.floor(a.height*d),Wc(this.F,b,a),this.I=new N(b,a)):(Wc(this.F,a.width,a.height),this.I=new N(a.width,a.height))}else Wc(this.F,a.width,a.height),this.I=new N(a.width,a.height);this.dispatchEvent("imageloaded")},l,this)}}};
function Qf(a,b){try{var c=window.frames[a.fe];c&&c.location.replace(b)}catch(d){}}q.wc=function(a){this.V&&("IFRAME"!=a&&Qf(this,"//www.google.com/images/cleardot.gif"),U(this.V,!a||"IFRAME"==a));this.F&&("IMG"!=a&&(this.F.src="//www.google.com/images/cleardot.gif"),U(this.F,!a||"IMG"==a));this.da&&(M.gc(this.da),U(this.da,!a||"A"==a))};function Pf(a,b,c){M.a.enable(a.X,"gweb-lightbox-loading",b);a.hd&&c&&(b?Yc(c,0.5):(new jd(c,500)).play())}
q.Ed=function(a){var b=this.R[this.ba],c=200<this.I.width?this.I.width:200;this.X.style.width=Sc(c,i);this.D.style.width=Sc(c,i);Mf(this,b.title);this.Ha(this.Fg);if(!this.Rb){var d=this.R.length,b=M.fa("gweb-lightbox-prev",this.j),c=M.fa("gweb-lightbox-next",this.j),f=M.h("img",k,this.j);0==this.ba?this.ub?(U(b,i),M.dataset.set(b,"lightboxIndex",d-1)):U(b,l):(U(b,i),M.dataset.set(b,"lightboxIndex",this.ba-1));this.ba+1==d?this.ub?(U(c,i),M.dataset.set(c,"lightboxIndex",0)):U(c,l):(U(c,i),M.dataset.set(c,
"lightboxIndex",this.ba+1));this.ii&&(this.Bf&&this.hd)&&(Of(this,c,"gweb-lightbox-next"),Of(this,b,"gweb-lightbox-prev"));var d=T(this.D).height,h=T(this.p).height+"px";Mc(b,"top",h);Mc(c,"top",h);var j=this.Xc?this.I.height-d:this.I.height,m=0.35*this.I.width;E(f,function(a){Wc(a,m,j)},this);this.Bf=l}Pf(this,l,a)};
q.Ha=function(a){if(a){var b=M.ga(window),c=M.ea(),d=T(this.p),f=T(this.D),h=[],j=200<=this.I.width?this.I.width:200,d=this.I.height+d.height;this.Xc||(d+=f.height);f=Math.floor(c.x+b.width/2-j/2)-this.ja/2;b=Math.floor(c.y+b.height/2-d/2)-this.ja/2;this.wd?(h=[a.width-this.ja,a.height-this.ja,Vc(this.X).x,Vc(this.X).y],a=new Rf(this.X,h,[j,d,f,b],800,wd),Q(a,"end",this.Qg,l,this),a.play()):(Y.d.Ha.call(this),this.Qg())}else Y.d.Ha.call(this)};function Rf(a,b,c,d,f){V.apply(this,arguments)}B(Rf,V);
Rf.prototype.Q=function(){Wc(this.element,this.coords[0],this.coords[1]);Rc(this.element,this.coords[2],this.coords[3])};function Kf(a){this.type=this.Yh(a);this.href=a.href||"";this.title=this.Yf(a);this.width="IMG"==this.type?0:parseInt(M.dataset.get(a,Sf),10)||200;this.height="IMG"==this.type?0:parseInt(M.dataset.get(a,Tf),10)||200}var Tf="lightboxHeight",Sf="lightboxWidth";Kf.prototype.Yh=function(a){return a.href.match(Hf)?"IMG":a.getAttribute("href",2).match(If)?"A":"IFRAME"};
Kf.prototype.Yf=function(a){return M.dataset.get(a,"lightboxCaption")||a.getAttribute("title")||""};function Uf(a,b){this.ih=a;this.Fd=b;this.src=b.src;this.type=b.type;this.$j=b.cat}function Vf(a,b){switch(a){case "floodlight":var c=1E13*(Math.random()+""),d=ra(b.src),f=ra(b.type),h=ra(b.cat),c=M.f("iframe",{src:xa("//fls.doubleclick.net/activityi;","src=",d,";","type=",f,";","cat=",h,";","ord=",c,"?"),width:1,height:1,style:"display: none;"});document.body.appendChild(c)}}
function Wf(a,b,c){b=M.b(b);1==b.nodeType&&"A"==b.tagName&&c?Xf(b,a.hh,a):Xf(b,a.Te,a)}Uf.prototype.Te=function(){Vf(this.ih,this.Fd)};Uf.prototype.hh=function(a){Vf(this.ih,this.Fd);var a=a||window.event,b=a.currentTarget||a.srcElement;"A"!=b.tagName&&(b=M.Xb(b,"A"));a&&("click"==a.type&&b&&b.href)&&(a.preventDefault?a.preventDefault():a.returnValue=l,setTimeout(function(){window.top.location=b.href},1E3),this.fj=b.href)};
Uf.prototype.pd=function(a,b){var c=M.h(g,a);E(c,function(a){Wf(this,a,b)},this)};function Xf(a,b,c){c&&(b=x(b,c));a.addEventListener?a.addEventListener("click",b,l):a.attachEvent&&a.attachEvent("onclick",b)}function Yf(a,b){Uf.call(this,a,b);this.className=b.className;this.v=Zf;window._gaq&&window._gaq.push(x(function(){this.v=_gat._getTrackerByName()._getVisitorCustomVar(1);this.pd(this.className)},this))}B(Yf,Uf);
var Zf="crosB",$f={Pj:{id:"bkws",v:"crosC"},Qj:{id:"skws",xk:"crosD"},Bj:{id:"ctpt",v:"crosE"},Cj:{id:"ctpt",v:"crosE"},Ej:{id:"ctxt",v:"crosF"},Kj:{id:"ntp",v:"crosG"},yj:{id:"Chromebooks",v:"crosH"},zj:{id:"GDN",v:"crosI"},Xj:{id:"YTPT",v:"crosJ"},Wj:{id:"YTVI",v:"crosK"}};
Yf.prototype.hh=function(a){var b=this.Fd,c=a.target.parentNode,d=1E13*(Math.random()+""),f=escape(b.src),h=ra(b.type),b=ra(b.cat),j=this.v;c=c?M.dataset.get(c,"gPartner")||"NONE":g;c=M.f("iframe",{src:xa("//fls.doubleclick.net/activityi;","src=",f,";","type=",h,";","cat=",b,";","ord=",d,";","u1=",j,";","u2=",c,";","?"),width:1,height:1,style:"display: none;"});document.body.appendChild(c);var a=a||window.event,m=a.currentTarget||a.srcElement;"A"!=m.tagName&&(m=M.Xb(m,"A"));a&&("click"==a.type&&m&&
m.href)&&(a.preventDefault?a.preventDefault():a.returnValue=l,setTimeout(function(){window.top.location=m.href},1E3),this.fj=m.href)};
Yf.prototype.pd=function(a){a=M.k(a);this.v||(this.v=Zf);for(var b=0,c=a.length;b<c;b++){var d=a[b],f=-1<d.href.indexOf("#"),h=f?new L(d.href.replace("#","?")):new L(d.href),j=M.dataset.get(d,"gCustom"),m=-1<d.href.indexOf("amazon.co.uk")?this.v+"01-21":this.v;if("append"==j)d.href+=m;else if(j){var p=h;yb(p);p.N.set(j,m);d.href=f?h.toString().replace("?","#"):h.toString()}Wf(this,a[b],i)}};
function ag(a,b,c,d,f,h,j,m){this.sb=a;this.Pc=!!b;this.Gb=!!c;this.uc=!!d;this.Qb=!!f;this.Ua=h;this.Jb=j;this.Ih=m;this.qk=this.cf=k;this.Cb=l;a=tf(new L(location.href),bg);this.xe=a.length?a[0]:"prefers";a=tf(new L(location.href),cg);this.Rc=a.length?a:"";a=tf(new L(location.href),dg);this.xh=a.length?a:"";this.xc=eg();this.jf=this.Bg=l;this.ng=La(fg)[0];O.call(this);this.td();Q(window,"load",function(){location.href.match(".*eula.*")?window._GU_OnloadBody("eula"):location.href.match(".*thankyou.*")?
window._GU_OnloadBody("thankyou"):window._GU_OnloadBody("index")},l,this)}B(ag,R);
var fg={linux_ubuntu_i386:"/linux/direct/google-chrome-stable_current_i386.deb",linux_ubuntu_x86_64:"/linux/direct/google-chrome-stable_current_amd64.deb",linux_fedora_i386:"/linux/direct/google-chrome-stable_current_i386.rpm",linux_fedora_x86_64:"/linux/direct/google-chrome-stable_current_x86_64.rpm","linux_ubuntu_i386-b":"/linux/direct/google-chrome-beta_current_i386.deb","linux_ubuntu_x86_64-b":"/linux/direct/google-chrome-beta_current_amd64.deb","linux_fedora_i386-b":"/linux/direct/google-chrome-beta_current_i386.rpm",
"linux_fedora_x86_64-b":"/linux/direct/google-chrome-beta_current_x86_64.rpm","linux_ubuntu_i386-d":"/linux/direct/google-chrome-unstable_current_i386.deb","linux_ubuntu_x86_64-d":"/linux/direct/google-chrome-unstable_current_amd64.deb","linux_fedora_i386-d":"/dl/linux/direct/google-chrome-unstable_current_i386.rpm","linux_fedora_x86_64-d":"/dl/linux/direct/google-chrome-unstable_current_x86_64.rpm"},gg=[{Be:/^MACD$/,zd:"MACD"},{Be:RegExp("CHOA|CHOB|CHOC|CHOT|CHOU|CHOR|CHOQ|CHOP|CHON|CHOO|CHPD|CHPE|CHPF|CHPG|GGLS|GGLA|CHMA|CHMB|CHMF|CHMG|CHMQ|CHMV|CHNC|CHNB|CHNH|CHNI|CHFT|CHMI|CHNG|CHOS|CHFO|CHOX|CHOY|CHOZ|CHMH|CHME|CHHS|CHHM"),
zd:"GGRM"},{Be:/^[A-Z]{4}$/,zd:"CHFA"}],hg={Vj:"win",Hj:"linux",Ij:"mac"},bg="system",cg="gu_guexpt",dg="gu_expt",ig={Tj:"statcb",Nj:"platform",wj:"brand",Fj:"installdataindex",Jj:"msi",Sj:"standalone",Uj:bg,Mj:"oneclickinstalled",xj:"clickonceinstalled",Aj:"extra",Lj:cg,uj:dg};q=ag.prototype;q.td=function(){window._GU_OnloadHandlerAdd(x(this.Xi,this),0);window._GU_OnloadHandlerAdd(x(this.Ee,this))};function jg(){return $a&&window._GU_isOneClickAvailable()}
q.Xi=function(){if($a){window._GU_SetupOneClick();try{if(jg()){var a=window.google.update.oneclick.getInstalledVersion;a(kg(this),i)?this.xe="true":a(kg(this),l)&&(this.xe="false")}}catch(b){}}};function lg(a){if(!a.Pc&&!mg()){if(jg())return"oneclick";if($a&&window._GU_isClickOnceAvailable())return"clickonce"}return"download"}
q.Ee=function(a){var b=new Image,c=window.GU_buildGlobalExtra(this.sb,this.Cb,this.Rc),c=window.GU_BuildTag(ng(this),c);b.src=pa("//tools.google.com/service/update2/dlpageping?%s&stage=%s&installsource=%s",c,a,lg(this))};
function og(a){for(var b=Ka(ig),c=new L(location.href),d="",f=0,h=b.length;f<h;f++){var j=b[f],m=tf(c,j);m.length&&("extra"==j&&"betachannel"==m[0]?a.Gb=i:"extra"==j&&"devchannel"==m[0]?a.Qb=i:"installdataindex"==j?a.Ua=m[0]:"msi"==j?a.Pc=i:"brand"==j&&(a.Jb=m[0]))}a.Gb&&eg()&&(d+="&ap=1.1-beta");a.Qb&&eg()&&(d+="&ap=2.0-dev");a.Jb&&(d+="&brand="+a.Jb);j="installdataindex";a.Ua?(a=a.xc&&eg()&&"defaultbrowser"!=a.Ua?a.Ua+"-defaultbrowser":a.Ua,d+="&"+j+"="+a):a.xc&&eg()&&(d+="&"+j+"=defaultbrowser");
return d}function kg(a){return a.uc?"{4ea16ac7-fd5a-47c3-875b-dbf4a2008c20}":"{8A69D345-D564-463C-AFF1-A69D9E530F96}"}function ng(a){var b=a.uc?"Google Chrome Canary":"Google Chrome";a.cf=[window._GU_createAppInfo(kg(a),a.Ih||b,a.xe,og(a),a.xh)];return a.cf}q.Gi=function(){this.Bg=i;tc(this.Tc,7E3,this)};q.fg=function(){pg(this);tc(this.Tc,7E3,this)};q.Tc=function(){this.dispatchEvent("installed");var a=qg(this);location.href=a};
function pg(a,b,c){var d=$a?window._GU_buildDlPath:window._GU_buildDlPathNoTag,b=b||d,c=c||rg(a),c=b(ng(a),a.sb,a.Cb,sg(a),c,a.Rc);G&&7>=Fe||sessionStorage.setItem("directDownloadUri",a.Ec());b=lg(a);if(ze||Ae)a=qg(a),location.href=a;else if("clickonce"===b||ue){var f=c.toString(),b={target:"_blank",width:"1",height:"1",top:"0",left:"0",location:l,menubar:l,statusbar:l,toolbar:l,resizable:i,scrollbars:l},d=window,c="undefined"!=typeof f.href?f.href:String(f),f=b.target||f.target,h=[],j;for(j in b)switch(j){case "width":case "height":case "top":case "left":h.push(j+
"="+b[j]);break;case "target":case "noreferrer":break;default:h.push(j+"="+(b[j]?1:0))}j=h.join(",");if(b.noreferrer){if(j=d.open("",f,j))G&&-1!=c.indexOf(";")&&(c="'"+c.replace(/'/g,"%27")+"'"),j.opener=k,I?j.location.href=c:(c=ra(c),j.document.write('<META HTTP-EQUIV="refresh" content="0; url='+c+'">'),j.document.close())}else d.open(c,f,j);tc(a.Tc,7E3,a)}else location.href=c}
q.Ec=function(){var a=$a?window._GU_buildDlPath:window._GU_buildDlPathNoTag,b=rg(this);return a(ng(this),this.sb,this.Cb,sg(this),b,this.Rc)};function sg(a){return a.uc&&tg()?"https://storage.googleapis.com":"https://dl.google.com"}
function rg(a){if(a.Pc||location.href.match(".*msi=true.*"))a="/edgedl/chrome/install/GoogleChromeStandaloneEnterprise.msi";else if(mg())a="/update2/installers/ChromeStandaloneSetup.exe";else if(eg())a="/update2/installers/ChromeSetup.exe";else if(tg())if(a.Gb)a="/chrome/mac/beta/GoogleChrome.dmg";else if(a.Qb)a="/chrome/mac/dev/GoogleChrome.dmg";else if(a.uc)a="/chrome-canary/GoogleChromeCanary.dmg";else{var a="GGRO",b=new L(location.href),b=tf(b,"brand");if(b=b.length&&b[0])for(var c=0,d=gg.length;c<
d;c++){var f=gg[c],h=f.zd;if(f.Be.test(b)){a=h;break}}a=pa("/chrome/mac/stable/%s/googlechrome.dmg",a)}else a=ug()?fg[a.ng+(a.Gb?"-b":a.Qb?"-d":"")]:"/update2/installers/ChromeSetup.exe";return a}
function qg(a){for(var b=document.location.href.match("/intl/.*")?document.location.pathname.split("/")[2]:a.sb,b=new L("/intl/"+b+"/chrome/browser/thankyou.html"),c=new L(location.href),d=Ka(ig),f=0,h=d.length;f<h;f++){var j=d[f],m=tf(c,j);m.length&&m[0]&&uf(b,j,m)}if(!eg())return b.toString();a.Pc&&uf(b,"msi",["true"]);a.Cb&&uf(b,"statcb",["1"]);a.jf&&uf(b,"clickonceinstalled",["1"]);a.Bg&&uf(b,"oneclickinstalled",["1"]);a.Gb&&uf(b,"extra",["betachannel"]);a.Qb&&uf(b,"extra",["devchannel"]);a.Ua&&
uf(b,"installdataindex",[a.Ua]);a.Jb&&uf(b,"brand",[a.Jb]);a.xc&&(a=tf(b,"installdataindex"),uf(b,"installdataindex",[a.length?a[0]+"-defaultbrowser":"defaultbrowser"]));return b.toString()}
q.qi=function(){Q(window,"load",function(){for(var a=M.a.ia(document.documentElement,"ie7")?chrmnstaller.Ec():sessionStorage.getItem("directDownloadUri")||chrmnstaller.Ec(),b=M.k("retry-link"),c=tf(new L(location.href),"oneclickinstalled"),d=tf(new L(location.href),"clickonceinstalled"),f="retry"+(c.length?"_oneclick":d.length?"_clickonce":"_download"),c=b.length-1;0<=c;c--)b[c].href=a,Q(b[c],"click",function(){this.Ee(f)},l,this);if(!window.location.href.match(".*oneclickinstalled.*")&&(ze||Ae))window.location.href=
a},l,this)};function tg(){var a=vg();return a?"mac"==a:Za}function eg(){var a=vg();return a?"win"==a:$a}function ug(){var a=vg();return a?"linux"==a:ab}function vg(){var a=tf(new L(location.href),"platform"),b;if(b=a.length)a:{for(var c in hg)if(hg[c]==a[0]){b=i;break a}b=l}return b?a[0]:k}function mg(){var a=tf(new L(location.href),"standalone");return a.length&&1==a[0]}function wg(a){this.Va=a;this.Md=[];this.sd=this.Pe=k;this.te=[];this.Dd=this.tf=this.bh=k;W.call(this,k,i);this.Pd=i}B(wg,W);
q=wg.prototype;q.oa=function(a){a=M.b(a);wg.d.oa.call(this,a);tg()?M.a.add(a,"mac"):ug()?M.a.add(a,"linux"):M.a.add(a,"win");this.Md=M.k("eula-download-button");this.Pe=M.b("throbber");this.sd=M.b("eula-accept");this.te=M.k("linux-distro-options",a);this.bh=M.b("stats-cb");this.tf=M.b("default-cb");this.Dd=M.b("eula-close");this.td();"#eula"===location.hash&&this.Le()};
q.td=function(){for(var a=0,b=this.Md.length;a<b;a++)Q(this.Md[a],"click",this.Le,l,this);a=0;for(b=this.te.length;a<b;a++)Q(this.te[a],"click",this.lj,l,this);Q(this.bh,"click",this.mj,l,this);Q(this.tf,"click",this.kj,l,this);Q(this.Va,"installing",this.Zi,l,this);Q(this.Va,"installed",this.ji,l,this);Q(this.Va,"installed",this.ag,l,this);Q(window,"resize",this.Ha,l,this);this.Dd&&Q(this.Dd,"click",this.ag,l,this);this.addEventListener(ae,this.fi,l,this)};
q.Le=function(a){a&&a.preventDefault();this.b()||this.va();this.P(i)};q.ag=function(a){a&&a.preventDefault();this.P(l)};q.Zi=function(){this.sd.style.display="none";this.Pe.style.display="inline"};q.ji=function(){this.sd.style.display="inline";this.Pe.style.display="none"};
q.fi=function(a){if("accept"==a.key){var b=this.Va;b.dispatchEvent("installing");b.Ee("install");switch(lg(b)){case "oneclick":window.google.update.oneclick.install(ng(b),b.sb,b.Cb,x(b.Gi,b),x(b.fg,b),b.Rc);break;case "clickonce":b.jf=i;pg(b,window._GU_buildClickOncePath,pa("/update2/installers/clickonce/GoogleInstaller_%s.application",b.sb));tc(b.Tc,1E4,b);break;default:b.fg()}a.preventDefault()}};q.lj=function(a){this.Va.ng=a.currentTarget.value};q.mj=function(a){this.Va.Cb=a.currentTarget.checked};
q.kj=function(a){this.Va.xc=a.currentTarget.checked};q.Ha=function(){var a=this.e().r(),b=M.ha(a)||window;if("fixed"==Qc(this.b()))var c=a=0;else c=this.e().ea(),a=c.x,c=c.y;var d=T(this.b()),b=M.ga(b),a=Math.max(a+b.width/2-d.width/2,0),c=Math.max(c+b.height/3.75-d.height/3.75,0);Rc(this.b(),a,c);Rc(this.aa,a,c)};function xg(){this.zc=M.b("app-domain");this.Ef=M.b("buynow-online-form");this.q()}
xg.prototype.q=function(){var a=M.b("buynow-online");Q(a,"click",function(){this.Ef.style.display="inline-block";U(a,l);this.zc.focus()},l,this);Q(this.Ef,"submit",this.bj,l,this)};xg.prototype.bj=function(a){a.preventDefault();/^[a-z0-9\-\.]+\.[a-z]+/i.test(this.zc.value)&&(window.location.href="http://www.google.com/a/cpanel/x/BillingSetup?product_ids=GOOGLE.CHROMEBOOK_HARDWARE".replace("x",this.zc.value));this.zc.focus();return l};
function yg(a,b,c,d,f){(4!=b.length||4!=c.length)&&e(Error("Start and end points must be 4D"));var h=b[0]+b[2],j=c[0]+c[2],m=b[1]+b[3],p=c[1]+c[3],s=T(a),j=[s.width-p,s.height-j];Ga(b,[s.width-m,s.height-h]);Ga(c,j);V.call(this,a,b,c,d,f)}B(yg,V);yg.prototype.Q=function(){Wc(this.element,this.coords[4],this.coords[5]);this.element.style.borderWidth=pa("%spx %spx %spx %spx",this.coords[0],this.coords[1],this.coords[2],this.coords[3])};
function zg(a,b,c,d){O.call(this);c=M.b(c);this.ce=M.k(a,c);this.Nb=M.k(b,c);this.ce.length!=this.Nb.length&&e(Error("There must be an equal number of header and content elements"));this.Li=d;this.Ue=[]}B(zg,R);zg.prototype.q=function(){for(var a=0,b=this.ce.length;a<b;a++){var c=new Be(this.ce[a],this.Nb[a],a===this.Li);Q(c,"toggle",this.Ji,i,this);this.Ue[a]=c}};
zg.prototype.Ji=function(a){if(a.Ph){for(var b=0,c=this.Ue.length;b<c;b++){var d=this.Ue[b];d!=a.target&&d.Wb&&Ce(d,l)}this.dispatchEvent(new Ag("expand",this,a.target))}};function Ag(a,b,c){P.call(this,a,b);this.rj=c}B(Ag,P);Ag.prototype.$h=n("rj");function Bg(){this.Hd=k;this.ee=l;this.Eb=k;this.fc=l;O.call(this)}B(Bg,R);
Bg.prototype.oa=function(a){this.hg();this.Hd=M.b(a);this.Eb=M.fa("active",this.Hd);for(var a=M.Td(this.Hd),b=0,c=a.length;b<c;b++)(new Cg(this)).oa(a[b]);Q(window,"resize",this.hg,l,this)};Bg.prototype.hg=function(){var a;if(!(a=!G))if(a=G)a=0<=ya(Fe,9);a&&(this.fc=M.ga().width<=Dg)};function Cg(a){this.Y=a;this.nd=this.tc=this.df=this.Me=this.Od=this.ac=this.we=this.Z=this.Wa=k}B(Cg,R);var Dg=770;q=Cg.prototype;
q.oa=function(a){this.Wa=a;this.Z=M.h("UL",k,a)[0];this.we=M.h("A",k,a)[0];Eg(this);Q(this.Wa,"mouseover",this.Xg,l,this);Q(this.Wa,"mouseout",this.Vg,l,this);Q(this.tc,"finish",this.eh,l,this);Q(window,"resize",z(this.Eh,250),l,this);this.Z&&(Fg(this),qf?Q(this.Wa,sf,this.gi,l,this):(Q(this.Wa,"mouseover",this.Wg,l,this),Q(this.Wa,"mouseout",this.Yg,l,this)))};function Eg(a){a.df=new yg(a.we,[0,0,0,0],[0,0,4,0],200);a.tc=new yg(a.we,[0,0,4,0],[0,0,0,0],200)}
function Fg(a){var b=new F(a.Z.offsetLeft,a.Z.offsetTop),c=T(a.Z),d=T(a.Wa);a.ac=new F(b.x,d.height-c.height);a.Od=new F(b.x,d.height);a.Z.style.display="block";Rc(a.Z,a.ac);b=100*M.h("LI",k,a.Z).length;a.Me=new ed(a.Z,[a.ac.x,a.ac.y],[a.Od.x,a.Od.y],b,wd)}q.Oi=function(){this.Z&&Fg(this);Eg(this);Q(this.tc,"finish",this.eh,l,this);rc.clearTimeout(this.nd);this.nd=k};q.Eh=function(a){this.nd||(this.nd=tc(z(this.Oi),a,this))};
q.Wg=function(a){!this.Y.fc&&(!a.relatedTarget||!M.contains(a.currentTarget,a.relatedTarget))&&this.Me.play()};q.Yg=function(a){if(!this.Y.fc&&(!a.relatedTarget||!M.contains(a.currentTarget,a.relatedTarget)))this.Me.stop(),Rc(this.Z,this.ac)};q.Xg=function(a){if(!this.Y.fc&&(!a.relatedTarget||!M.contains(a.currentTarget,a.relatedTarget)))this.Y.ee=i,this.df.play(),this.Y.Eb&&M.a.remove(this.Y.Eb,"active")};
q.Vg=function(a){if(!this.Y.fc&&(!a.relatedTarget||!M.contains(a.currentTarget,a.relatedTarget)))this.Y.ee=l,this.tc.play()};q.eh=function(){this.Y.Eb&&M.a.enable(this.Y.Eb,"active",!this.Y.ee)};
q.gi=function(a){if(window.innerWidth>Dg&&(a.stopPropagation(),(!a.relatedTarget||!M.contains(a.currentTarget,a.relatedTarget))&&(!a.target.tagName||"A"!=a.target.tagName))){a.preventDefault();var b=M.h("UL",k,a.currentTarget)[0];b&&(0>(new F(b.offsetLeft,b.offsetTop)).y?(this.Wg(a),this.Xg(a)):(this.Yg(a),this.Vg(a)))}};function Gg(a){this.c=M.b(a);a=[T(this.c).width];Hc.call(this,[0],a,Hg,xd);Ig(this)}B(Gg,Hc);var Hg=1250;function Ig(a){jc(a.c,"mouseover",a.play,l,a)}
Gg.prototype.Q=function(){this.c.style.webkitMaskImage=pa("-webkit-gradient(radial, 17 17, %s, 17 17, %s,from(rgba(255,255,255, 1)),color-stop(0.5, rgba(255,255,255, 0.2)),to(rgba(255,255,255, 1)))",Math.floor(this.coords[0]),Math.floor(this.coords[0]+15))};Gg.prototype.ta=function(){this.Q();Gg.d.ta.call(this)};Gg.prototype.Ga=function(){this.Q();Gg.d.Ga.call(this);Ig(this)};Gg.prototype.$=function(){this.Q();Gg.d.$.call(this)};
function Jg(a,b,c,d){O.call(this);c=M.b(c);this.l=M.k(a,c);this.Nb=M.k(b,c);this.$e=M.b(d);this.l.length!=this.Nb.length&&e(Error("There must be an equal number of button and content elements"));this.Re=[];this.Oa=k}B(Jg,R);q=Jg.prototype;q.q=function(a){for(var b=0,c=this.l.length;b<c;b++){var d=new Lg(this.l[b],this.Nb[b]);d.q(a);Q(d,Mg,this.ij,l,this);"hover"===a&&(Q(d.cb,"mouseout",this.ye,l,this),Q(d.button,"mouseout",this.ye,l,this));this.Re[b]=d}Q(document,"click",this.ye,l,this)};
q.ye=function(a){var b=this.Oa;if(b&&(!this.$e||!M.contains(this.$e,a.target)))"click"===b.qd&&(a.target==b.button||M.contains(b.button,a.target))||(Ng(this.Oa),this.Oa=k)};q.ij=function(a){a=a.currentTarget;a!=this.Oa&&(this.Oa&&Ng(this.Oa),this.Oa=a)};q.Xh=n("Re");q.$i=function(a){(a=this.Re[a])&&a.Sg()};
function Lg(a,b){O.call(this);this.button=a;this.ef=$c(this.button);this.cb=b;this.of=T(this.cb);var c;a:{c=Ka(Og);for(var d=0,f=c.length;d<f;d++){var h=c[d];if(M.a.ia(this.button,h)){c=h;break a}}c=c[0]}this.Dg=c}B(Lg,R);var Og={tj:"tooltip-above",vj:"tooltip-below",Gj:"tooltip-left",Oj:"tooltip-right"},Mg="show",Pg={Rj:Mg,Dj:"hide"};
Lg.prototype.q=function(a){switch(a){case "click":this.qd="click";break;case "hover":this.qd="mouseover";break;default:this.qd="click"}var a=this.ef.height,b=this.ef.width,c=this.of.height,d=this.of.width,f=k;switch(this.Dg){case "tooltip-above":f=new F(b/2-d/2,-(c+10));break;case "tooltip-below":f=new F(b/2-d/2,a+10);break;case "tooltip-left":f=new F(-(d+10),a/2-c/2);break;case "tooltip-right":f=new F(b+10,a/2-c/2)}Rc(this.cb,f);this.cb.appendChild(M.f("SPAN",this.Dg));Q(this.button,this.qd,this.Sg,
l,this)};Lg.prototype.Sg=function(){this.cb.style.display="block";this.dispatchEvent(Mg)};function Ng(a){a.cb.style.display="none";a.dispatchEvent("hide")}function Qg(a){vf.call(this,a);this.ub=a.loop||l;this.ab=1}B(Qg,vf);Qg.prototype.rf=function(){for(var a=0,b=this.Db.length;a<b;a++){var c=new Rg(this.Db[a],this,a);this.wa[a]=c;c.md.style.display="none"}};Qg.prototype.Ge=ba;function Rg(a,b,c){yf.call(this,a,b,c);Q(this.J,"click",this.parent.Tb,l,this.parent)}B(Rg,yf);
Rg.prototype.pc=function(a){this.ub&&(a.uh instanceof kd&&this.parent.w.enabled&&this.index==this.parent.wa.length-1)&&this.parent.Tb();Rg.d.pc.call(this)};function Sg(a,b,c,d){this.Nh=b||Tg;this.Lg=M.b(c);this.Lh=M.Vd();this.links=M.h("A",a,M.b(d))}var Tg=1E3;Sg.prototype.q=function(){for(var a=this.links,b=0,c=a.length;b<c;b++){var d=a[b],f=Ib(new L(d.href));(f=M.b(f))&&Q(d,"click",x(this.scrollTo,this,f))}};
Sg.prototype.scrollTo=function(a){var b,c,d;this.Lg?(b=this.Lg,c=b.scrollLeft,d=b.scrollTop):(b=this.Lh,d=M.ea(),c=d.x,d=d.y);(new gd(b,[c,d],[a.offsetLeft-50,a.offsetTop-50],this.Nh,wd)).play()};function Ug(a,b,c){var a=M.b(a),d=M.ea(),b=b||50;(new gd(M.Vd(),[d.x,d.y],[a.offsetLeft-b,a.offsetTop-b],c||Tg,wd)).play()}
function Vg(a){this.fd="";this.Fb=k;this.animationName=a||location.hash||"";this.qc=[];this.gb=[];this.Ca=k;this.me=l;a=document.documentElement.style;this.dh=a?"backgroundSize"in a||"MozBackgroundSize"in a||"WebkitBackgroundSize"in a||"KhtmlBackgroundSize"in a:g;Q(window,"load",this.ge,l,this)}A("chrm.ui.DeviceAnimation",Vg);
Vg.prototype.ge=function(){this.Ca=new N(928,430);this.gb=M.k("device");this.qc=M.k("device-animation");Wg(this);for(var a=M.h("A","anim-link"),b=0,c=a.length;b<c;b++)Q(a[b],"click",function(a){Xg(this,a.currentTarget)},l,this);switch(location.hash){case "#device-samsung":Xg(this,M.b("home-to-samsung"));break;case "#device-acer":Xg(this,M.b("home-to-acer"))}this.animationName&&Xg(this,M.b(this.animationName))};
function Xg(a,b){a.animationName=M.dataset.get(b,"chrmAnimation");var c=a.animationName.split("-");a.fd=c[1];a.me=c[2]?i:l;a.me&&(a.animationName=c[0]+"-"+c[1]);var d=M.b(a.animationName),c=M.b("device-"+c[0]);Wg(a,a.animationName);var f=M.fa("keyframe",c);a.Ca=$c(f);Wc(d,a.Ca);a.dh||!a.dh&&430==a.Ca.height&&928==a.Ca.width?(a.Fb=new Yg(d,a.Ca,a.me?new Kc(24*a.Ca.height,0,0,0):new Kc(0,0,25*a.Ca.height,0),1500,k),Q(a.Fb,"finish",a.Bi,l,a),M.a.add(c,"hide"),a.Fb.play()):(Wg(a),(new id(c,500)).play(),
(new jd(M.b("device-"+a.fd),500)).play(),Zg(a,a.fd))}Vg.prototype.Bi=function(){Zg(this,this.fd);var a=this.Fb.c.style;a.backgroundPosition="";"undefined"!=typeof a.backgroundPositionX&&(a.backgroundPositionX="",a.backgroundPositionY="");this.Fb.stop(i);Wg(this)};function Zg(a,b){for(var c=0,d=a.gb.length;c<d;c++){var f="device-"+b;M.a.enable(a.gb[c],"hide",f!=a.gb[c].id);!a.yk&&f==a.gb[c].id&&Yc(a.gb[c],"")}}function Wg(a,b){for(var c=0,d=a.qc.length;c<d;c++)U(a.qc[c],b==a.qc[c].id)}
function Yg(a,b,c,d,f){Ge.call(this,a,b,c,d,f)}B(Yg,Ge);Yg.prototype.ta=function(){this.c.style.backgroundPosition="0px "+-(this.vf[1]-Math.floor(this.coords[1]/this.Ab.height)*this.Ab.height)+"px";Yg.d.ta.call(this)};function $g(){this.Ob=k;this.Kb=[];this.Jg=k;this.Ia=[];this.ec=[];this.Jd=this.ic=""}q=$g.prototype;
q.oi=function(){this.Kb=M.k("buynow");for(var a=0,b=this.Kb.length;a<b;a++)qf?Q(this.Kb[a],sf,this.Yi,l,this):(Q(this.Kb[a],"mouseover",z(this.Tg,i),l,this),Q(this.Kb[a],"mouseout",z(this.Tg,l),l,this))};q.Tg=function(a,b){if(!b.relatedTarget||!M.contains(b.currentTarget,b.relatedTarget)){var c=M.fa("locale-retailers",b.currentTarget),d=$c(c);c.style.height=Sc(a?d.height:"",i)}};
q.Yi=function(a){a=M.fa("locale-retailers",a.currentTarget);displayAttr=a.style.display;a.style.display=!displayAttr||"none"==displayAttr?"block":"none"};
q.pi=function(a){this.Jd=a||"";this.Ob=M.b("countrycode");this.Jg=M.b("retailer-list");this.Ia=M.h("div","retailer-list",this.Jg);this.ec=M.k("locale-content");this.Ob&&(this.ic=M.forms.Da(this.Ob),Q(this.Ob,"change",this.jj,l,this));if(this.Jd)for(var a=0,b=this.Ia.length;a<b;a++){for(var c=M.h("li",k,this.Ia[a]),d=0,f=c.length-1;0<=f;f--){var h=!M.a.ia(c[f],this.Jd),d=h?d+1:d;M.a.enable(c[f],"hide",h)}f=this.Ia[a].id;M.forms.Og(M.b("option-"+f.substr(f.indexOf("-")+1)),d==c.length)}};
q.jj=function(){if(this.ic=M.forms.Da(this.Ob)){if(this.Ia)for(var a=0,b=this.Ia.length;a<b;a++)M.a.enable(this.Ia[a],"hide",this.Ia[a].id!="retailers-"+this.ic);if(this.ec){a=0;for(b=this.ec.length;a<b;a++)M.a.enable(this.ec[a],"hide",!M.a.ia(this.ec[a],"locale-content-"+this.ic))}}};
function ah(a){this.uk=a;this.hc=M.k(a);this.nj=window.location.hash.substring(1);for(var b=this.hc.length-1;0<=b;b--){this.hc[b].id==this.nj&&this.gh(this.hc[b]);for(var c=M.k(a+"-link",this.hc[b]),d=c.length-1;0<=d;d--)Q(c[d],"click",x(this.gh,this,this.hc[b]))}}ah.prototype.gh=function(a){for(var b=M.k("expanded"),c=b.length-1;0<=c;c--)a!==b[c]&&M.a.Ne(b[c],"expanded","collapsed");M.a.ia(a,"collapsed")?M.a.Ne(a,"collapsed","expanded"):M.a.Ne(a,"expanded","collapsed");window.location.hash=a.id};
function bh(a,b,c){this.fh=M.b(a);this.Lb=M.b(b);this.pj=M.b(c);this.ed="";this.xf=new R;this.Gd=0;this.ge()}q=bh.prototype;q.ge=function(){Q(this.fh,"click",this.Qe,l,this);Q(this.xf,"videoclick",this.hf,l,this);Q(this.Lb,"click",z(this.ai),l,this);this.Gd=T(this.Lb).width;var a=Ib(new L(window.location));a?this.og(a):tc(this.Qe,3E3,this)};q.ai=function(a){for(a=a.target;a.tagName&&"LI"!=a.tagName.toUpperCase();)a=a.parentNode;(this.ed=M.dataset.get(a,"videoid"))&&this.xf.dispatchEvent("videoclick")};
q.Qe=function(){var a=!M.a.toggle(this.fh,"on"),b=M.Cc(this.Lb),b=a?new ed(b,[0,0],[this.Gd,0],200,vd.Oh):new ed(b,[this.Gd,0],[0,0],200,vd.Oh);a?Q(b,"end",function(){U(this.Lb,l)},l,this):U(this.Lb,i);b.play()};q.hf=function(){this.pj.src="http://www.youtube.com/embed/"+this.ed+"?wmode=transparent&showinfo=0&autoplay=1&autohide=1&rel=0&modestbranding=1";this.Qe()};q.og=function(a){if(a=M.b("clip-"+a))this.ed=M.dataset.get(a,"videoid"),this.hf()};var ch,dh=bb();
ye?ch="android":ze?ch="chrome":ue?ch="mozilla":fb?ch="opera":xe?ch="ipad":we?ch="iphone":Ae?ch="safari":G&&(ch=7>=Fe?"ie7":"ie");M.a.add(document.documentElement,ch);hb.match(".*CrOS.*/ig")&&M.a.add(document.documentElement,"cros");dh.match(".*NT 6.2.*")&&M.a.add(document.documentElement,"win8");
function $(a){this.$a=M.b(a.scrollerId);this.aj=M.b(a.slidesContainerId);this.xa=M.B("ul",this.$a)[0];this.Ki=a.oneAtATimeFlag;this.Ah=a.centerFlag;this.Hg=a.randomFlag;this.Mg=a.selectItemCallback;this.Se;this.Ja=M.B("ul li",this.$a)[0].scrollWidth;this.ld=Math.ceil(this.xa.parentNode.offsetWidth/this.Ja);this.xa.parentNode.style.overflow="hidden";this.Cg=this.Ja*this.ld;this.yb=M.B(".g-scroller-controls .g-scroller-previous",this.$a)[0];this.vb=M.B(".g-scroller-controls .g-scroller-next",this.$a)[0];
this.$f=this.bc=l;this.qb=[];this.De;this.Na;this.rb={};var b=this.$a.getElementsByTagName("a"),c=b.length;this.Se=this.Ja*(c-2);this.xa.style.width=this.Se+"px";for(var d=2,f=0;d<c;d++,f++){var h=b[d],j=this.Zd(h.href),m=M.b(j);this.rb[j]={};var p=this.rb[j];p.index=f;p.jd=m;p.cj=h;p.id=j;p.Ag=Math.ceil((f+1)/this.ld);this.qg=p.Ag;this.qb.push(p.id);p.jd&&(p.jd.id=j+"_scroller",M.a.add(m,"hidden"));Q(h,"click",x(this.dd,this,p))}this.cd=this.Ja*this.ld-this.Se;M.a.add(this.vb,"disabled-next");M.a.add(this.yb,
"disabled-prev");Q(this.vb,"click",function(a){this.scroll("right");a.preventDefault()},k,this);Q(this.yb,"click",function(a){this.scroll("left");a.preventDefault()},k,this);Q(this.$a,"keyup",function(a){switch(a.keyCode){case 37:var b=this.De.index-1;break;case 39:b=this.De.index+1}(a=this.rb[this.qb[b]])&&this.dd(a)},k,this);b=this.Zd(location.href);this.Hg&&!b&&(b=this.qb[Math.floor(Math.random()*this.qb.length)]);!a.defaultItem&&(!b&&!this.Hg)&&(b=this.qb[0]);this.dd(this.ne(b)?b:this.ne(a.defaultItem)?
a.defaultItem:this.rb[this.qb[0]])}q=$.prototype;
q.dd=function(a,b){"string"==typeof a&&(a=this.Yd(a));b&&b.preventDefault();for(var c=M.B(".g-scroller-viewport a.selected",this.$a),d=M.B(".g-scroller-slide",this.aj),f=0,h=c.length;f<h;f++)M.a.remove(c[f],"selected");f=0;for(h=d.length;f<h;f++)M.a.add(d[f],"hidden");M.a.add(a.cj,"selected");a.jd&&M.a.remove(a.jd,"hidden");this.Ah&&this.gf(a);this.De=a;this.Na=a.Ag;location.hash?this.$f&&window.location.replace(location.toString().replace(location.hash,"#"+a.id)):window.location.replace(location.toString()+
"#"+a.id);this.Mg&&this.Mg(a);this.$f=i};q.scroll=function(a){this.Ki?a="right"==a?this.xa.offsetLeft-this.Ja:this.xa.offsetLeft+this.Ja:"right"==a?(a=this.xa.offsetLeft-this.Cg,this.bc||(this.Na++,this.Na>this.qg&&(this.Na=this.qg))):(a=this.xa.offsetLeft+this.Cg,this.bc||(this.Na--,1>this.Na&&(this.Na=1)));this.vd(a)};q.Yd=function(a){return this.rb[a]};
q.vd=function(a){0<=a?(a=0,M.a.add(this.yb,"disabled-prev"),M.a.remove(this.vb,"disabled-next")):a<=this.cd||M.a.remove(this.yb,"disabled-prev");a<=this.cd?(a=this.cd,M.a.add(this.vb,"disabled-next"),M.a.remove(this.yb,"disabled-prev")):M.a.remove(this.vb,"disabled-next");0<=a&&a<=this.cd&&(M.a.add(this.vb,"disabled-next"),M.a.add(this.yb,"disabled-prev"));this.bc||(this.bc=i,this.ck=a,a=new fd(this.xa,[a,this.xa.offsetTop],400,wd),Q(a,"end",x(function(){this.bc=l},this)),a.play())};
q.gf=function(a){"string"==typeof a&&(a=this.Yd(a));this.vd(Math.floor(this.ld/2)*this.Ja-a.index*this.Ja)};q.Zd=function(a){return(a=/#([^&]*)/.exec(a))?a[1]:k};q.ne=function(a){return a in this.rb};function eh(){this.kd=fh();for(var a in this.kd)for(var b=this.kd[a],c=0,d=b.length;c<d;c++)Q(b[c].tab,"click",gh(b,c),l,this);hh(this)}A("gweb.ui.GTabs",eh);
function fh(){var a=M.h("div","g-tab-contents"),b=M.h("div","g-tabs"),c=b.length,d={};if(a.length!=c)return k;for(var f=0;f<c;f++){d["set-"+f]=[];var h=b[f],j=M.h("div","g-tab-content",a[f]),h=M.h("li","g-tab",h),m=h.length;if(j.length!=m)return k;for(var p=0;p<m;p++){var s={};s.tab=h[p];s.content=j[p];d["set-"+f].push(s)}}return d}function ih(a,b){var c=a.getElementsByTagName("a");return(c?c[0].hash:k)||"#tab"+b}
function gh(a,b){return function(c){c=c||k;this.lc(a,b);for(var d=M.h("li","g-tab"),f="",h=0,j;j=d[h];h++)M.a.ia(j,"g-tab-selected")&&(f+=ih(j,h));window.location.hash=f;c&&c.preventDefault()}}eh.prototype.lc=function(a,b){for(var c=0,d=a.length;c<d;c++)M.a.remove(a[c].tab,"g-tab-selected"),M.a.add(a[c].content,"g-tab-content-hidden");M.a.add(a[b].tab,"g-tab-selected");M.a.remove(a[b].content,"g-tab-content-hidden")};
function hh(a){var b=unescape(window.location.hash).replace(/#/ig,"|#").split("|"),c=0,d;for(d in a.kd){for(var f=l,h=a.kd[d],j=0,m=h.length;j<m;j++){var p=ih(h[j].tab,c++);0<=Ba(b,p)&&(f=i,a.lc(h,j))}f||a.lc(h,0)}}function jh(){eh.call(this);this.Oe=[];this.Oe=M.h("a","g-tab-link");for(var a=this.Oe.length-1;0<=a;a--)Q(this.Oe[a],"click",this.Ug,l,this)}B(jh,eh);
jh.prototype.Ug=function(a){M.ga().width>Dg&&(a.preventDefault(),a.target&&(a=Ib(new L(a.target.href)),window.location.hash=a,hh(this),Ug(a+"_content")))};!window.location.hash&&window.addEventListener&&window.addEventListener("load",function(){window.scrollY||window.scrollTo(0,1)},l);A("chrm.ui.Tabs",jh);jh.prototype.showTabByLink=jh.prototype.Ug;A("chrm.ui.MenuBar",Bg);Bg.prototype.decorate=Bg.prototype.oa;A("chrm.ui.Logo",Gg);A("chrm.download.Installer",ag);ag.prototype.getFullDownloadURI=ag.prototype.Ec;
ag.prototype.initDownloadChrome=ag.prototype.qi;A("chrm.download.EulaDialog",wg);wg.prototype.decorate=wg.prototype.oa;wg.prototype.showDialog=wg.prototype.Le;A("chrm.forms.BuyOnline",xg);A("chrm.ui.DeviceAnimation",Vg);A("chrm.ui.Tooltips",Jg);Jg.prototype.init=Jg.prototype.q;Jg.prototype.getTooltips=Jg.prototype.Xh;Jg.prototype.showTooltipByIndex=Jg.prototype.$i;Pg.SHOW=Mg;A("chrm.ui.Zippies",zg);zg.prototype.init=zg.prototype.q;zg.EXPAND_EVENT="expand";A("chrm.ui.ZippiesEvent",Ag);
Ag.prototype.getZippy=Ag.prototype.$h;A("goog.ui.Zippy",Be);Be.prototype.getContentElement=Be.prototype.Ud;A("chrm.ui.TimedCarousel",Qg);Qg.prototype.doTimerStart=Qg.prototype.Ld;Qg.prototype.doTimerStop=Qg.prototype.Tb;A("chrm.ui.SmoothScroll",Sg);Sg.prototype.init=Sg.prototype.q;A("chrm.ui.SmoothScroll.scrollWindowTo",Ug);A("goog.events.listen",Q);Y.prototype.init=Y.prototype.q;Y.prototype.setAnimate=Y.prototype.Qi;Y.prototype.setItemCount=Y.prototype.Ti;Y.prototype.showContentByIndex=Y.prototype.Rg;
Y.prototype.setScaleImages=Y.prototype.Ui;Y.prototype.disableNav=Y.prototype.Hh;A("gweb.ui.Scroller",$);$.prototype.selectItem=$.prototype.dd;$.prototype.scroll=$.prototype.scroll;$.prototype.getItemFromId=$.prototype.Yd;$.prototype.animateToPosition=$.prototype.vd;$.prototype.centerOnItem=$.prototype.gf;$.prototype.getStringAfterHash=$.prototype.Zd;$.prototype.isValidItem=$.prototype.ne;A("chrm.widget.BuyNow",$g);$g.prototype.initBuyNowButton=$g.prototype.oi;$g.prototype.initCountrySelect=$g.prototype.pi;
A("chrm.widget.Features",ah);A("chrm.widget.Playlist",bh);bh.prototype.loadVideoByName=bh.prototype.og;A("gweb.analytics.DoubleTrack",Uf);Uf.prototype.track=Uf.prototype.Te;Uf.prototype.trackClass=Uf.prototype.pd;A("chrm.analytics.FloodlightTracker",Yf);
A("chrm.analytics.FloodlightTracker.trackSource",function(){var a=new L(window.location.href.replace("#","?")),a=a.N.get("utm_source")||a.N.get("cmp")||k,b;a:{if(a)for(b in $f){if(-1<a.indexOf($f[b].id)){b=$f[b].v;break a}}else if(0==document.referrer.indexOf("www.google")){b="crosA";break a}b=k}window._gaq&&b&&window._gaq.push(["_setCustomVar",1,"source",b,1])});Yf.prototype.trackClass=Yf.prototype.pd;Yf.prototype.track=Yf.prototype.Te;A("goog.dom.getElementsByClass",M.k);
A("goog.dom.classes.has",M.a.ia);A("goog.userAgent.MOBILE",gb);
})()
/* jQuery v1.10.1 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
*/
(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.1",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=lt(),k=lt(),E=lt(),S=!1,A=function(){return 0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=bt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+xt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return At(e.replace(z,"$1"),t,n,i)}function st(e){return K.test(e+"")}function lt(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function ut(e){return e[b]=!0,e}function ct(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function pt(e,t,n){e=e.split("|");var r,i=e.length,a=n?null:t;while(i--)(r=o.attrHandle[e[i]])&&r!==t||(o.attrHandle[e[i]]=a)}function ft(e,t){var n=e.getAttributeNode(t);return n&&n.specified?n.value:e[t]===!0?t.toLowerCase():null}function dt(e,t){return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}function ht(e){return"input"===e.nodeName.toLowerCase()?e.defaultValue:t}function gt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function mt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function yt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function vt(e){return ut(function(t){return t=+t,ut(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.parentWindow;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.frameElement&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ct(function(e){return e.innerHTML="<a href='#'></a>",pt("type|href|height|width",dt,"#"===e.firstChild.getAttribute("href")),pt(B,ft,null==e.getAttribute("disabled")),e.className="i",!e.getAttribute("className")}),r.input=ct(function(e){return e.innerHTML="<input>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}),pt("value",ht,r.attributes&&r.input),r.getElementsByTagName=ct(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ct(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ct(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=st(n.querySelectorAll))&&(ct(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ct(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=st(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ct(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=st(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},r.sortDetached=ct(function(e){return 1&e.compareDocumentPosition(n.createElement("div"))}),A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return gt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?gt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:ut,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=bt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?ut(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ut(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?ut(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ut(function(e){return function(t){return at(e,t).length>0}}),contains:ut(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:ut(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:vt(function(){return[0]}),last:vt(function(e,t){return[t-1]}),eq:vt(function(e,t,n){return[0>n?n+t:n]}),even:vt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:vt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:vt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:vt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=mt(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=yt(n);function bt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function xt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function wt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function Tt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Ct(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function Nt(e,t,n,r,i,o){return r&&!r[b]&&(r=Nt(r)),i&&!i[b]&&(i=Nt(i,o)),ut(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||St(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:Ct(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=Ct(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=Ct(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function kt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=wt(function(e){return e===t},s,!0),p=wt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[wt(Tt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return Nt(l>1&&Tt(f),l>1&&xt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&kt(e.slice(l,r)),i>r&&kt(e=e.slice(r)),i>r&&xt(e))}f.push(n)}return Tt(f)}function Et(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=Ct(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?ut(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=bt(e)),n=t.length;while(n--)o=kt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Et(i,r))}return o};function St(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function At(e,t,n,i){var a,s,u,c,p,f=bt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&xt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}o.pseudos.nth=o.pseudos.eq;function jt(){}jt.prototype=o.filters=o.pseudos,o.setFilters=new jt,r.sortStable=b.split("").sort(A).join("")===b,p(),[0,0].sort(A),r.detectDuplicates=S,x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!l||i&&!u||(n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=x(this),l=t,u=e.match(T)||[];while(o=u[a++])l=r?l:!s.hasClass(o),s[l?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Ct=/^(?:checkbox|radio)$/i,Nt=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle);u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=un(e,t),Pt.detach()),Gt[e]=n),n}function un(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,n){x.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(x.css(e,"display"))?x.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x.support.opacity||(x.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=x.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===x.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,n){return n?x.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,n){x.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?x(e).position()[n]+"px":r):t}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!x.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||x.css(e,"display"))},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(x.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Ct.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),x.param=function(e,n){var r,i=[],o=function(e,t){t=x.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var mn,yn,vn=x.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=x.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=o.href}catch(Ln){yn=a.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(T)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(l){var u;return o[l]=!0,x.each(e[l]||[],function(e,l){var c=l(n,r,i);return"string"!=typeof c||a||o[c]?a?!(u=c):t:(n.dataTypes.unshift(c),s(c),!1)}),u}return s(n.dataTypes[0])||!o["*"]&&s("*")}function _n(e,n){var r,i,o=x.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),x.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&x.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?x("<div>").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:(e.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window);;var addComment={moveForm:function(a,b,c,d){var e,f=this,g=f.I(a),h=f.I(c),i=f.I("cancel-comment-reply-link"),j=f.I("comment_parent"),k=f.I("comment_post_ID");if(g&&h&&i&&j){f.respondId=c,d=d||!1,f.I("wp-temp-form-div")||(e=document.createElement("div"),e.id="wp-temp-form-div",e.style.display="none",h.parentNode.insertBefore(e,h)),g.parentNode.insertBefore(h,g.nextSibling),k&&d&&(k.value=d),j.value=b,i.style.display="",i.onclick=function(){var a=addComment,b=a.I("wp-temp-form-div"),c=a.I(a.respondId);if(b&&c)return a.I("comment_parent").value="0",b.parentNode.insertBefore(c,b),b.parentNode.removeChild(b),this.style.display="none",this.onclick=null,!1};try{f.I("comment").focus()}catch(l){}return!1}},I:function(a){return document.getElementById(a)}};;$(function(){var toggles=$('.toggle a'),codes=$('.code');toggles.on("click",function(event){event.preventDefault();var $this=$(this);if(!$this.hasClass("active")){toggles.removeClass("active");$this.addClass("active");codes.hide().filter(this.hash).show();}});toggles.first().click();});;$(function(){function numberWithCommas(x){return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",");}
var verifyLoadOfBackers=function(){setTimeout(function(){var numberOfBackers=+document.getElementsByClassName('backers-amount')[0].innerHTML;if(!numberOfBackers){backersInfo(verifyLoadOfBackers);}},600);};var backersInfo=function(callback){$.getJSON('/info',function(result){var backers=result['buyers'];var amount=result['amount'];$('.backers-amount').text(backers);var amountString=amount.toString();$('.money-amount').text(numberWithCommas(amount));var progress=document.getElementsByClassName('progress')[0];setTimeout(function(){progress.style.width=(100*amount/100000)+'%';},2000);progress.style.maxWidth='100%';});callback();};var preload=new Image();preload.onload=function(){setTimeout(function(){$('.sunset').addClass('show');},500);};var $document=$(document);var windowWidth=$(window).width();var videoPopup=$('.video-popup');var video=$('.goldee-video');var source='http://player.vimeo.com/video/77999940?title=0&amp;byline=0&amp;portrait=0&amp;color=ff9933;autoplay=1';if(windowWidth<840){var width=$('.intro')[0].scrollWidth;video.width(windowWidth);video.height(windowWidth/16*9);}
$('.fancybox-media').fancybox({openEffect:'none',closeEffect:'none',width:960,height:540,helpers:{media:{}}});$document.on('click','.controller-in-intro',function(e){e.preventDefault();videoPopup.css("visibility","visible");videoPopup.animate({opacity:1},"slow");video.attr('src',source);});$document.on('keydown',function(e){if(e.keyCode===27){videoPopup.animate({opacity:0},"slow",function(){videoPopup.css("visibility","hidden");});video.attr('src','');}});$document.on('click','.cross',function(){videoPopup.animate({opacity:0},"slow",function(){videoPopup.css("visibility","hidden");});video.attr('src','');});$document.on('click','.video-popup',function(){videoPopup.animate({opacity:0},"slow",function(){videoPopup.css("visibility","hidden");});video.attr('src','');});var preorderPopup=$('.preorder-popup');$document.on('click','a[data-preorderform]',function(e){e.preventDefault();preorderPopup.removeClass('hide');$('.payment-price').val($(this).data('package'));finalPrice(1);printPackageDetails($(this).data('element'));});$document.on('click','.cross',function(e){e.preventDefault();preorderPopup.addClass('hide');$('.success-popup').addClass('hide');});$document.on('click','.bg',function(e){e.preventDefault();preorderPopup.addClass('hide');});$document.on('keydown',function(e){if(e.keyCode===27){preorderPopup.addClass('hide');}});var legalPopup=$('.legal-popup');var stopScrolling=function(){document.body.style.overflow='hidden';document.body.style.width='100%';};var clearBodyStyle=function(){document.body.style.cssText='';};$document.on('click','.legal',function(e){e.preventDefault();legalPopup.removeClass('hide');stopScrolling();});$document.on('click','.cross',function(e){e.preventDefault();legalPopup.addClass('hide');$('.success-popup').addClass('hide');clearBodyStyle();});$document.on('click','.bg',function(e){e.preventDefault();legalPopup.addClass('hide');clearBodyStyle();});$document.on('keydown',function(e){if(e.keyCode===27){legalPopup.addClass('hide');clearBodyStyle();}});var thatIsCCV=$('.whats-ccv');$document.on('mouseover','.what-is',function(e){e.preventDefault();thatIsCCV.removeClass('hide');});$document.on('mouseleave','.what-is',function(e){e.preventDefault();thatIsCCV.addClass('hide');});$document.on('click','a[data-method]',function(e){e.preventDefault();$('a[data-method]').removeClass('selected');$('.'+$(this).data('method')).addClass('selected');$('[data-paymethod]').addClass('hide');$('.'+$(this).data('method')+'-method').removeClass('hide');$('.submit-payment-method').attr('value',$(this).data('method'));if($(this).data('method')==='paypal'){$('.card-number').removeClass('required');$('.security-code').removeClass('required');}
else if($(this).data('method')==='card'){$('.card-number').addClass('required');$('.security-code').addClass('required');}});$document.on('click','.question',function(e){e.preventDefault();var parentEl=this.parentElement;var $parentEl=$(parentEl);if($parentEl.hasClass('opened')){$parentEl.removeClass('opened');}else{$parentEl.addClass('opened');}});$document.on('click','a[data-content]',function(e){e.preventDefault();var $this=$(this);var pointer=$('.pointer');var pointerLine=$('.pointer-line');pointerLine.fadeIn();$('.faq-line').css('margin-top',133);$('.content-steps').removeClass('hide');$('a[data-pointer]').removeClass('selected');$this.addClass('selected');if($this.data('pointer')===1){$this.find('h3').addClass('active');}else{$('.step1').removeClass('active');}
pointer.removeClass('pos1 pos2 pos3');pointer.addClass('pos'+$this.data('pointer'));if($('.'+$this.data('content')).hasClass('hide')){$('.content-step').addClass('hide');setTimeout(function(){$('.'+$this.data('content')).removeClass('hide');},600);}});var visualizationBgContainer=$('.visualization-bgs');function setVisualizationBackground(bg){var prev=visualizationBgContainer.find('.bg');setTimeout(function(){prev.remove();},3000);var el=document.createElement('div');el.className+='bg group1 '+bg;visualizationBgContainer.append(el);setTimeout(function(){el.className+=' show';},30);}
$document.on('click','a[data-bgchange]',function(e){e.preventDefault();$('a[data-bgchange]').removeClass('selected');$(this).addClass('selected');var bg=$(this).attr('data-bgchange');setVisualizationBackground(bg);});$document.on('click','a[data-group]',function(e){e.preventDefault();var $this=$(this);var roles=$('.roles');var hover=$('.controller-hover');var outside=$('.room');var text=$('.visualizations h2');var group=$this.attr('data-group');$('a[data-group]').removeClass('active');$this.addClass('active');if(group!=='ambient'){roles.addClass('hide');}else{roles.removeClass('hide');}
if(group!=='night'){hover.addClass('hide');}else{hover.removeClass('hide');}
if(group!=='outside'){outside.addClass('hide');}else{outside.removeClass('hide');}
text.addClass('hide');setTimeout(function(){text.html($this.attr('data-text'));text.removeClass('hide');},300);setVisualizationBackground(group);});$document.on('mouseover','.controller-hover',function(){setVisualizationBackground('light');});$document.on('mouseleave','.controller-hover',function(){setVisualizationBackground('night');});$document.on('mouseover','.room-hover',function(){var roomName=$(this).data('room');lightRoom(roomName);});$document.on('mouseleave','.room-hover',function(){setVisualizationBackground('outside');delightRooms();});var footerBgContainer=$('.footer-bgs');function setFooterBackground(bgNumber){var prev=footerBgContainer.find('.bg');setTimeout(function(){prev.remove();},4100);var el=document.createElement('div');el.className+='bg bg'+bgNumber;footerBgContainer.append(el);setTimeout(function(){el.className+=' show';},20);}
function footerBgRotating(interval){var current=1;setInterval(function(){setFooterBackground((current%3)+1);current++;},interval);}
footerBgRotating(4000);$document.on('mouseenter','.dot-with-circle',function(){var $this=$(this);var descriptionNumber=$this.data('hover');$('.description'+descriptionNumber).addClass('current');});$document.on('mouseleave','.dot-with-circle',function(){setTimeout(function(){$('.description').removeClass('current');},200);});var done=false;var windowHeight=Math.round($(window).height());$('.timeline-bg').height(windowHeight);$('.mode').css('padding-top',windowHeight*0.42+300);$('.mode').css('padding-bottom',windowHeight*0.22+000);$('.mode').last().css('padding-bottom',windowHeight*0.43+200);$('.clocks').css('top',windowHeight*0.5-68);$('.vertical-line1').css('height',windowHeight*0.50-78);$('.vertical-line2').css('height',windowHeight*0.50-78);$('.vertical-line2').css('top',windowHeight*0.50+78);$('.timeline-controller').css('top',windowHeight*0.5-266);var timeline=$('.timeline');$(window).scroll(function(){var scrollTop=$(window).scrollTop();if(timeline.position().top+timeline.height()+$('.scroller ul').height()<scrollTop+window.innerHeight){$('.timeline').removeClass('fixed');$('.timeline').addClass('done');$('.vertical-line1').css('top','auto');$('.vertical-line1').css('bottom',windowHeight*0.5+78);$('.vertical-line2').css('top','auto');$('.vertical-line2').css('bottom',0);$('.clocks').css('top','auto');$('.clocks').css('bottom',windowHeight*0.5-68);$('.timeline-controller').css('top','auto');$('.timeline-controller').css('bottom',windowHeight*0.5-266);}else if(timeline.position().top+$(window).height()<scrollTop+$(window).height()){$('.timeline').addClass('fixed');$('.timeline').removeClass('done');$('.vertical-line1').css('top',0);$('.vertical-line1').css('bottom','auto');$('.vertical-line2').css('top',windowHeight*0.50+78);$('.vertical-line2').css('bottom','auto');$('.clocks').css('top',windowHeight*0.5-68);$('.clocks').css('bottom','auto');$('.timeline-controller').css('top',windowHeight*0.5-266);$('.timeline-controller').css('bottom','auto');}else{$('.timeline').removeClass('fixed');$('.timeline').removeClass('done');}});if($('.timeline').length){function formatAMPM(date){if(typeof date!=='undefined'){var hours=date.getHours();var minutes=date.getMinutes();}else{var hours=0;var minutes=0;}
var ampm=hours>=12?'':'';hours=hours%12;hours=hours?hours:0;minutes=minutes<10?'0'+minutes:minutes;var strTime="<div class='time'><span class='hours'>"+hours+"</span><span class='colon'></span><span class='minutes'>"+minutes+"</span></div><span class='forenoon'>"+ampm+"</span>";return strTime;}
var interpolateTime=function(start,finish,position){var diff=finish.getTime()-start.getTime();return new Date(start.getTime()+diff*position);};var initializeTimeline=function(){var dates=[new Date(2013,11,5,1,0,0),new Date(2013,11,5,2,0,0),new Date(2013,11,5,3,0,0),new Date(2013,11,5,4,0,0),new Date(2013, 11, 5, 5, 0, 0),new Date(2013, 11, 5, 6, 0, 0),new Date(2013, 11, 5, 7, 0, 0),new Date(2013, 11, 5, 8, 0, 0),new Date(2013, 11, 5, 9, 0, 0),new Date(2013, 11, 5, 10, 0, 0),];var timeline=$('.timeline');var timelineTop=timeline.offset().top;var timelineHeight=timeline[0].scrollHeight;var timelineBottom=timelineTop+timelineHeight;var timelineSections=$('.mode');var positions=timelineSections.map(function(){return $(this).position().top;});var $time=$('.clocks');var lastSection=timelineSections.last();var lastSectionPosition=lastSection.position().top;$(window).scroll(function(){var scrollTop=$(window).scrollTop();if(scrollTop>timelineTop-window.innerHeight&&scrollTop<timelineBottom){var a=positions.filter(function(i,item){return scrollTop-timelineTop>item;});var currentIndex=a.length-1;var nextIndex=currentIndex+1;var current=timelineSections.eq(currentIndex);var next=timelineSections.eq(nextIndex);var controllerContainer=$('.timeline-controller');if(!$('.timeline-bg').hasClass('timeline-bg'+current.data('bg'))&&scrollTop>timelineTop){var prevBg=timeline.find('.timeline-bg');var prevIcon=controllerContainer.find('.mode-icon');prevIcon.removeClass('show');setTimeout(function(){prevIcon.remove();},350);setTimeout(function(){prevBg.remove();},850);var bgEl=document.createElement('div');bgEl.className+='timeline-bg timeline-bg'+current.data('bg');timeline.append(bgEl);var iconEl=document.createElement('div');
				var images;
					if (window.images) {
				    images = window.images;
				iconEl.id += 'imgIconEl';
                var imgIconEl = new Image();
                imgIconEl.src = images[current.data('bg') - 1]; 
                imgIconEl.className = 'centreImgTime';
                imgIconEl.style.border = "1px solid black";
                iconEl.appendChild(imgIconEl);
				} else {
				}
				
	iconEl.className+='mode-icon mode-icon'+current.data('bg');controllerContainer.append(iconEl);setTimeout(function(){bgEl.className+=' show';},20);setTimeout(function(){iconEl.className+=' show';},300);}
if(currentIndex<0){$time.html(formatAMPM(dates[0]));return;}
if(scrollTop-50>lastSectionPosition+timelineTop){$time.html('0');$time.addClass('0');return;}
if(nextIndex>=timelineSections.length){var date=dates[dates.length];$time.removeClass('away');$time.html(formatAMPM(date));return;}
if(next.length&&a.length!==dates.length){var currentLocation=current.position().top+timelineTop;var nextLocation=next.position().top+timelineTop;var position=(scrollTop-currentLocation)/(nextLocation-currentLocation);var time=interpolateTime(dates[currentIndex],dates[nextIndex],position);$time.html(formatAMPM(time));}}});};initializeTimeline();}
$('.twitter-follow-button').on('click',function(){ga('send','event','Social','Twitter','follow');});$('.twitter-share-button').on('click',function(){ga('send','event','Social','Twitter','share');});$('.facebook-like').on('click',function(){ga('send','event','Social','Facebook','like');});$('.controller-in-intro').on('click',function(){ga('send','event','Video','Play click','goldee-controller');});$('.intro .preorder').on('click',function(){ga('send','event','Pledge','click','Pledge Top',1);});$('.intro .partnership').on('click',function(){ga('send','event','Partnership','click','Colaborate Top');});$('.controller-hover').on('mouseover',function(){ga('send','event','Night scene ','hover','Night light ON');});$('.visualizations .room-hover').on('mouseover',function(){ga('send','event','Outside scene','hover',$(this).data('room')+' room');});$('.visualizations .roles a').on('click',function(){ga('send','event','Ambient room','click',$(this).data('bgchange')+' gesture');});$('.visualizations .dots a').on('click',function(){ga('send','event','Visualizations','click',$(this).data('group')+' scene');});$('.dot-with-circle1').on('mouseover',function(){ga('send','event','Engineered goldee','hover','GorillaÂ® Glass');});$('.dot-with-circle2').on('mouseover',function(){ga('send','event','Engineered goldee','hover','Gesture Control Chip');});$('.dot-with-circle3').on('mouseover',function(){ga('send','event','Engineered goldee','hover','Ambient Sensor');});$('.dot-with-circle4').on('mouseover',function(){ga('send','event','Engineered goldee','hover','Amoled Display');});$('.dot-with-circle5').on('mouseover',function(){ga('send','event','Engineered goldee','hover','Proximity Sensor');});$('.dot-with-circle6').on('mouseover',function(){ga('send','event','Engineered goldee','hover','Polycarbonate body');});$('.dot-with-circle7').on('mouseover',function(){ga('send','event','Engineered goldee','hover','Back Panel');});$('.step1').on('click',function(){ga('send','event','How-it-works','click','1.Replace');});$('.step2').on('click',function(){ga('send','event','How-it-works','click','2.Update');});$('.step3').on('click',function(){ga('send','event','How-it-works','click','3.Enjoy');});$('footer .links a').on('click',function(){ga('send','event','footer-nav','click',$(this).html());});$('footer .preorder').on('click',function(){ga('send','event','Pledge','click','Pledge Botton',1);});$('footer .partnership').on('click',function(){ga('send','event','Partnership','click','Collaborate Botton');});$('.questions ul a').on('click',function(){ga('send','event','FAQ','click',$(this).html());});$('.ask').on('click',function(){ga('send','event','FAQ','click','Ask a question');});$('.submit').on('click',function(){ga('send','event','Transaction','submit','Submit transaction');});$('.choices a').on('click',function(){ga('send','event','Transaction','click',$(this).html(),1);});});var howManyDaysRemains=function(){var oneDay=24*60*60*1000;var firstDate=new Date(2013,11,26);var preToday=new Date();var today=new Date(preToday.getFullYear(),preToday.getMonth()+1,preToday.getDate());var diffDays=26-Math.round((today.getTime()-firstDate.getTime())/(oneDay));console.log(diffDays);var daysAmount=document.getElementsByClassName('days-amount')[0];if(diffDays>26){daysAmount.innerHTML='25';}else if(diffDays>0){daysAmount.innerHTML=diffDays;}else{daysAmount.innerHTML='0';}};if($('.visualizations').length){var getPositions=function(){var getGoldeePosition=function(){var controller=document.getElementsByClassName('controller-hover')[0];var visualizationBgWidth=document.getElementsByClassName('visualizations')[0].scrollWidth;controller.style.cssText='';if(window.innerWidth<1368){controller.style.left='50%';controller.style.top='318px';controller.style.marginLeft='106px';}else{controller.style.left=(visualizationBgWidth/(3840/2510.5))-102+'px';controller.style.top='50%';controller.style.marginTop=(visualizationBgWidth/(3840/79))-95+'px';}};getGoldeePosition();var getRoomsLocations=function(){var roomYellow=document.getElementsByClassName('room-hover1')[0];var roomRed=document.getElementsByClassName('room-hover2')[0];var visualizationBgWidth=document.getElementsByClassName('visualizations')[0].scrollWidth;roomYellow.style.cssText='';roomRed.style.cssText='';if(window.innerWidth<1368){roomYellow.style.bottom='150px';roomYellow.style.right='50%';roomYellow.style.marginRight='20px';roomRed.style.bottom='110px';roomRed.style.left='50%';roomRed.style.marginLeft='12px';}
else{roomYellow.style.width=(visualizationBgWidth/(3840/1016))+'px';roomYellow.style.height=(visualizationBgWidth/(3840/340))+'px';roomYellow.style.bottom=((visualizationBgWidth/16*9)/(2160/420))+'px';roomYellow.style.right='50%';roomYellow.style.marginRight=(visualizationBgWidth/(3840/62))+'px';roomRed.style.width=(visualizationBgWidth/(3840/1290))+'px';roomRed.style.height=(visualizationBgWidth/(3840/547))+'px';roomRed.style.bottom=((visualizationBgWidth/16*9)/(2160/336))+'px';roomRed.style.left='50%';roomRed.style.marginLeft=(visualizationBgWidth/(3840/30))+'px';}};getRoomsLocations();var setRoomSizes=function(){var roomYellow=document.getElementById('left-room-lighten');var roomRed=document.getElementById('right-room-lighten');var visualizationBgWidth=document.getElementsByClassName('visualizations')[0].scrollWidth;roomYellow.style.width=(visualizationBgWidth/2)+'px';roomRed.style.width=((visualizationBgWidth/2)-20)+'px';if(window.innerWidth>1367){roomYellow.style.height=((visualizationBgWidth/2)/(1280/720))+'px';roomRed.style.height=((visualizationBgWidth/2)/(1280/720))+'px';}};setRoomSizes();};var lightRoom=function(roomName){var room=document.getElementById(roomName+'-room-lighten');room.className='room lighten-room visible';};var delightRooms=function(){var roomYellow=document.getElementById('left-room-lighten');var roomRed=document.getElementById('right-room-lighten');roomYellow.className='room lighten-room';roomRed.className='room lighten-room';};getPositions();window.onresize=getPositions;};$(window).scroll(function(e){var scroller_anchor=$(".scroller_anchor").offset().top;var scroller=$('.scroller');if($(this).scrollTop()>=scroller_anchor&&$('.scroller').css('position')!='fixed')
{$('.scroller').addClass('fixedTop');$('.fixed-top .ellipse').css("height","70px");if($('li a.ellipse').hasClass('hidden')){$('li a.ellipse').removeClass('hidden');$('li a.ellipse').addClass('displayed');$('li a.ellipse').fadeTo("fast",1);}}
else if($(this).scrollTop()<scroller_anchor&&$('.scroller').css('position')!='relative')
{$('.scroller').removeClass('fixedTop');$('.fixed-top .ellipse').css("height","96px");$('li a.ellipse').removeClass('show');if($('li a.ellipse').hasClass('displayed')){$('li a.ellipse').removeClass('displayed');$('li a.ellipse').addClass('hidden');$('li a.ellipse').fadeTo("fast",0);}
turn_black(0);}
var scrollBottom=$(window).scrollTop()+$(window).height()-34;var scroll_advice=$('.intro .scroll');if(scrollBottom>=scroller_anchor&&scroll_advice.css('position')!='absolute'){scroll_advice.css("position","absolute").css("bottom","0");}
else if(scrollBottom<scroller_anchor&&scroll_advice.css('position')!='fixed'){scroll_advice.css("position","fixed").css("bottom","35px");}
var experience=$("#caracteristiques").offset().top;var galerie=$("#gallery").offset().top;if($(this).scrollTop()>=scroller_anchor&&$(this).scrollTop()<experience-100){turn_black(1);}
else if($(this).scrollTop()>=experience-100&&$(this).scrollTop()<galerie){turn_black(3);}
else if($(this).scrollTop()>=galerie){turn_black(4);}});jQuery(document).ready(function(){jQuery('.fancybox').fancybox();});jQuery(function(){jQuery("#lightbox").organicTabs({"speed":200});jQuery("#lighbox-faq").organicTabs({"speed":200});});jQuery(function($){var slide=false;var height=$('#footer_content').height();$('footer').click(function(e){var docHeight=$(document).height();var windowHeight=$(window).height();var scrollPos=docHeight-windowHeight+height;$('#footer_content').animate({height:"toggle"},1000);});});jQuery(function(){SyntaxHighlighter.all();});jQuery(window).load(function(){jQuery('.flexslider').flexslider({animation:"slide",start:function(slider){jQuery('body').removeClass('loading');}});jQuery('.flex-slider').flexslider({animation:"slide",animationLoop:true,itemWidth:210,itemMargin:5,minItems:2,maxItems:5});jQuery('.flex-slider').show();});;function turn_black(element){var counter=0;var list=$(".scroller .menu li")
list.each(function(index){if(index==element){$(this).find("a").css("color","#2993d9");}
else{$(this).find("a").css("color","#404040");}
counter++;});}
function open_description(point){var descr_width=point.parent().width()-17;if(!point.hasClass("show")){point.next().animate({width:descr_width},350,function(){point.parent().find("p").fadeIn();});point.addClass("show");point.toggleClass("pulsate");}
else{point.parent().find("p").fadeOut(400,function(){point.next().animate({width:"0px"},350);});point.removeClass("show");point.toggleClass("pulsate");}}
jQuery(document).ready(function(){$('.point').on("click",function(){open_description($(this));});$('.icon').on("click",function(){if($(this).find('.icon-move-1').length!=0){open_description($(".descript-1 .point"));}
else if($(this).find('.icon-move-2').length!=0){open_description($(".descript-2 .point"));}
else if($(this).find('.icon-move-3').length!=0){open_description($(".descript-3 .point"));}});$('.fancybox').on("click",function(){$("body").addClass("noscroll");});});(function(){var container,button,menu;container=document.getElementById('site-navigation');if(!container)
return;button=container.getElementsByTagName('h1')[0];if('undefined'===typeof button)
return;menu=container.getElementsByTagName('ul')[0];if('undefined'===typeof menu){button.style.display='none';return;}
if(-1===menu.className.indexOf('nav-menu'))
menu.className+=' nav-menu';button.onclick=function(){if(-1!==container.className.indexOf('toggled'))
container.className=container.className.replace(' toggled','');else
container.className+=' toggled';};})();;(function(){var is_webkit=navigator.userAgent.toLowerCase().indexOf('webkit')>-1,is_opera=navigator.userAgent.toLowerCase().indexOf('opera')>-1,is_ie=navigator.userAgent.toLowerCase().indexOf('msie')>-1;if((is_webkit||is_opera||is_ie)&&'undefined'!==typeof(document.getElementById)){var eventMethod=(window.addEventListener)?'addEventListener':'attachEvent';window[eventMethod]('hashchange',function(){var element=document.getElementById(location.hash.substring(1));if(element){if(!/^(?:a|select|input|button|textarea)$/i.test(element.tagName))
element.tabIndex=-1;element.focus();}},false);}})();;
/* Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
 * Licensed under the MIT License (LICENSE.txt).
 *
 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
 * Thanks to: Seamus Leahy for adding deltaX and deltaY
 *
 * Version: 3.0.6
 * 
 * Requires: 1.2.2+
 */
(function(d){function e(a){var b=a||window.event,c=[].slice.call(arguments,1),f=0,e=0,g=0,a=d.event.fix(b);a.type="mousewheel";b.wheelDelta&&(f=b.wheelDelta/120);b.detail&&(f=-b.detail/3);g=f;b.axis!==void 0&&b.axis===b.HORIZONTAL_AXIS&&(g=0,e=-1*f);b.wheelDeltaY!==void 0&&(g=b.wheelDeltaY/120);b.wheelDeltaX!==void 0&&(e=-1*b.wheelDeltaX/120);c.unshift(a,f,e,g);return(d.event.dispatch||d.event.handle).apply(this,c)}var c=["DOMMouseScroll","mousewheel"];if(d.event.fixHooks)for(var h=c.length;h;)d.event.fixHooks[c[--h]]=d.event.mouseHooks;d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=c.length;a;)this.addEventListener(c[--a],e,false);else this.onmousewheel=e},teardown:function(){if(this.removeEventListener)for(var a=c.length;a;)this.removeEventListener(c[--a],e,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery);;
/*
 * fancyBox - jQuery Plugin
 * version: 2.1.5 (Fri, 14 Jun 2013)
 * @requires jQuery v1.6 or later
 *
 * Examples at http://fancyapps.com/fancybox/
 * License: www.fancyapps.com/fancybox/#license
 *
 * Copyright 2012 Janis Skarnelis - janis@fancyapps.com
 *
 */
(function(window,document,$,undefined){"use strict";var H=$("html"),W=$(window),D=$(document),F=$.fancybox=function(){F.open.apply(this,arguments);},IE=navigator.userAgent.match(/msie/i),didUpdate=null,isTouch=document.createTouch!==undefined,isQuery=function(obj){return obj&&obj.hasOwnProperty&&obj instanceof $;},isString=function(str){return str&&$.type(str)==="string";},isPercentage=function(str){return isString(str)&&str.indexOf('%')>0;},isScrollable=function(el){return(el&&!(el.style.overflow&&el.style.overflow==='hidden')&&((el.clientWidth&&el.scrollWidth>el.clientWidth)||(el.clientHeight&&el.scrollHeight>el.clientHeight)));},getScalar=function(orig,dim){var value=parseInt(orig,10)||0;if(dim&&isPercentage(orig)){value=F.getViewport()[dim]/100*value;}
return Math.ceil(value);},getValue=function(value,dim){return getScalar(value,dim)+'px';};$.extend(F,{version:'2.1.5',defaults:{padding:15,margin:20,width:800,height:600,minWidth:100,minHeight:100,maxWidth:9999,maxHeight:9999,pixelRatio:1,autoSize:true,autoHeight:false,autoWidth:false,autoResize:true,autoCenter:!isTouch,fitToView:true,aspectRatio:false,topRatio:0.5,leftRatio:0.5,scrolling:'auto',wrapCSS:'',arrows:true,closeBtn:true,closeClick:false,nextClick:false,mouseWheel:true,autoPlay:false,playSpeed:3000,preload:3,modal:false,loop:true,ajax:{dataType:'html',headers:{'X-fancyBox':true}},iframe:{scrolling:'auto',preload:true},swf:{wmode:'transparent',allowfullscreen:'true',allowscriptaccess:'always'},keys:{next:{13:'left',34:'up',39:'left',40:'up'},prev:{8:'right',33:'down',37:'right',38:'down'},close:[27],play:[32],toggle:[70]},direction:{next:'left',prev:'right'},scrollOutside:true,index:0,type:null,href:null,content:null,title:null,tpl:{wrap:'<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen'+(IE?' allowtransparency="true"':'')+'></iframe>',error:'<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',next:'<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',prev:'<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'},openEffect:'fade',openSpeed:250,openEasing:'swing',openOpacity:true,openMethod:'zoomIn',closeEffect:'fade',closeSpeed:250,closeEasing:'swing',closeOpacity:true,closeMethod:'zoomOut',nextEffect:'elastic',nextSpeed:250,nextEasing:'swing',nextMethod:'changeIn',prevEffect:'elastic',prevSpeed:250,prevEasing:'swing',prevMethod:'changeOut',helpers:{overlay:true,title:true},onCancel:$.noop,beforeLoad:$.noop,afterLoad:$.noop,beforeShow:$.noop,afterShow:$.noop,beforeChange:$.noop,beforeClose:$.noop,afterClose:$.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:false,isOpen:false,isOpened:false,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:false},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(group,opts){if(!group){return;}
if(!$.isPlainObject(opts)){opts={};}
if(false===F.close(true)){return;}
if(!$.isArray(group)){group=isQuery(group)?$(group).get():[group];}
$.each(group,function(i,element){var obj={},href,title,content,type,rez,hrefParts,selector;if($.type(element)==="object"){if(element.nodeType){element=$(element);}
if(isQuery(element)){obj={href:element.data('fancybox-href')||element.attr('href'),title:element.data('fancybox-title')||element.attr('title'),isDom:true,element:element};if($.metadata){$.extend(true,obj,element.metadata());}}else{obj=element;}}
href=opts.href||obj.href||(isString(element)?element:null);title=opts.title!==undefined?opts.title:obj.title||'';content=opts.content||obj.content;type=content?'html':(opts.type||obj.type);if(!type&&obj.isDom){type=element.data('fancybox-type');if(!type){rez=element.prop('class').match(/fancybox\.(\w+)/);type=rez?rez[1]:null;}}
if(isString(href)){if(!type){if(F.isImage(href)){type='image';}else if(F.isSWF(href)){type='swf';}else if(href.charAt(0)==='#'){type='inline';}else if(isString(element)){type='html';content=element;}}
if(type==='ajax'){hrefParts=href.split(/\s+/,2);href=hrefParts.shift();selector=hrefParts.shift();}}
if(!content){if(type==='inline'){if(href){content=$(isString(href)?href.replace(/.*(?=#[^\s]+$)/,''):href);}else if(obj.isDom){content=element;}}else if(type==='html'){content=href;}else if(!type&&!href&&obj.isDom){type='inline';content=element;}}
$.extend(obj,{href:href,type:type,content:content,title:title,selector:selector});group[i]=obj;});F.opts=$.extend(true,{},F.defaults,opts);if(opts.keys!==undefined){F.opts.keys=opts.keys?$.extend({},F.defaults.keys,opts.keys):false;}
F.group=group;return F._start(F.opts.index);},cancel:function(){var coming=F.coming;if(!coming||false===F.trigger('onCancel')){return;}
F.hideLoading();if(F.ajaxLoad){F.ajaxLoad.abort();}
F.ajaxLoad=null;if(F.imgPreload){F.imgPreload.onload=F.imgPreload.onerror=null;}
if(coming.wrap){coming.wrap.stop(true,true).trigger('onReset').remove();}
F.coming=null;if(!F.current){F._afterZoomOut(coming);}},close:function(event){F.cancel();if(false===F.trigger('beforeClose')){return;}
F.unbindEvents();if(!F.isActive){return;}
if(!F.isOpen||event===true){$('.fancybox-wrap').stop(true).trigger('onReset').remove();F._afterZoomOut();}else{F.isOpen=F.isOpened=false;F.isClosing=true;$('.fancybox-item, .fancybox-nav').remove();F.wrap.stop(true,true).removeClass('fancybox-opened');F.transitions[F.current.closeMethod]();}},play:function(action){var clear=function(){clearTimeout(F.player.timer);},set=function(){clear();if(F.current&&F.player.isActive){F.player.timer=setTimeout(F.next,F.current.playSpeed);}},stop=function(){clear();D.unbind('.player');F.player.isActive=false;F.trigger('onPlayEnd');},start=function(){if(F.current&&(F.current.loop||F.current.index<F.group.length-1)){F.player.isActive=true;D.bind({'onCancel.player beforeClose.player':stop,'onUpdate.player':set,'beforeLoad.player':clear});set();F.trigger('onPlayStart');}};if(action===true||(!F.player.isActive&&action!==false)){start();}else{stop();}},next:function(direction){var current=F.current;if(current){if(!isString(direction)){direction=current.direction.next;}
F.jumpto(current.index+1,direction,'next');}},prev:function(direction){var current=F.current;if(current){if(!isString(direction)){direction=current.direction.prev;}
F.jumpto(current.index-1,direction,'prev');}},jumpto:function(index,direction,router){var current=F.current;if(!current){return;}
index=getScalar(index);F.direction=direction||current.direction[(index>=current.index?'next':'prev')];F.router=router||'jumpto';if(current.loop){if(index<0){index=current.group.length+(index%current.group.length);}
index=index%current.group.length;}
if(current.group[index]!==undefined){F.cancel();F._start(index);}},reposition:function(e,onlyAbsolute){var current=F.current,wrap=current?current.wrap:null,pos;if(wrap){pos=F._getPosition(onlyAbsolute);if(e&&e.type==='scroll'){delete pos.position;wrap.stop(true,true).animate(pos,200);}else{wrap.css(pos);current.pos=$.extend({},current.dim,pos);}}},update:function(e){var type=(e&&e.type),anyway=!type||type==='orientationchange';if(anyway){clearTimeout(didUpdate);didUpdate=null;}
if(!F.isOpen||didUpdate){return;}
didUpdate=setTimeout(function(){var current=F.current;if(!current||F.isClosing){return;}
F.wrap.removeClass('fancybox-tmp');if(anyway||type==='load'||(type==='resize'&&current.autoResize)){F._setDimension();}
if(!(type==='scroll'&&current.canShrink)){F.reposition(e);}
F.trigger('onUpdate');didUpdate=null;},(anyway&&!isTouch?0:300));},toggle:function(action){if(F.isOpen){F.current.fitToView=$.type(action)==="boolean"?action:!F.current.fitToView;if(isTouch){F.wrap.removeAttr('style').addClass('fancybox-tmp');F.trigger('onUpdate');}
F.update();}},hideLoading:function(){D.unbind('.loading');$('#fancybox-loading').remove();},showLoading:function(){var el,viewport;F.hideLoading();el=$('<div id="fancybox-loading"><div></div></div>').click(F.cancel).appendTo('body');D.bind('keydown.loading',function(e){if((e.which||e.keyCode)===27){e.preventDefault();F.cancel();}});if(!F.defaults.fixed){viewport=F.getViewport();el.css({position:'absolute',top:(viewport.h*0.5)+viewport.y,left:(viewport.w*0.5)+viewport.x});}},getViewport:function(){var locked=(F.current&&F.current.locked)||false,rez={x:W.scrollLeft(),y:W.scrollTop()};if(locked){rez.w=locked[0].clientWidth;rez.h=locked[0].clientHeight;}else{rez.w=isTouch&&window.innerWidth?window.innerWidth:W.width();rez.h=isTouch&&window.innerHeight?window.innerHeight:W.height();}
return rez;},unbindEvents:function(){if(F.wrap&&isQuery(F.wrap)){F.wrap.unbind('.fb');}
D.unbind('.fb');W.unbind('.fb');},bindEvents:function(){var current=F.current,keys;if(!current){return;}
W.bind('orientationchange.fb'+(isTouch?'':' resize.fb')+(current.autoCenter&&!current.locked?' scroll.fb':''),F.update);keys=current.keys;if(keys){D.bind('keydown.fb',function(e){var code=e.which||e.keyCode,target=e.target||e.srcElement;if(code===27&&F.coming){return false;}
if(!e.ctrlKey&&!e.altKey&&!e.shiftKey&&!e.metaKey&&!(target&&(target.type||$(target).is('[contenteditable]')))){$.each(keys,function(i,val){if(current.group.length>1&&val[code]!==undefined){F[i](val[code]);e.preventDefault();return false;}
if($.inArray(code,val)>-1){F[i]();e.preventDefault();return false;}});}});}
if($.fn.mousewheel&&current.mouseWheel){F.wrap.bind('mousewheel.fb',function(e,delta,deltaX,deltaY){var target=e.target||null,parent=$(target),canScroll=false;while(parent.length){if(canScroll||parent.is('.fancybox-skin')||parent.is('.fancybox-wrap')){break;}
canScroll=isScrollable(parent[0]);parent=$(parent).parent();}
if(delta!==0&&!canScroll){if(F.group.length>1&&!current.canShrink){if(deltaY>0||deltaX>0){F.prev(deltaY>0?'down':'left');}else if(deltaY<0||deltaX<0){F.next(deltaY<0?'up':'right');}
e.preventDefault();}}});}},trigger:function(event,o){var ret,obj=o||F.coming||F.current;if(!obj){return;}
if($.isFunction(obj[event])){ret=obj[event].apply(obj,Array.prototype.slice.call(arguments,1));}
if(ret===false){return false;}
if(obj.helpers){$.each(obj.helpers,function(helper,opts){if(opts&&F.helpers[helper]&&$.isFunction(F.helpers[helper][event])){F.helpers[helper][event]($.extend(true,{},F.helpers[helper].defaults,opts),obj);}});}
D.trigger(event);},isImage:function(str){return isString(str)&&str.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i);},isSWF:function(str){return isString(str)&&str.match(/\.(swf)((\?|#).*)?$/i);},_start:function(index){var coming={},obj,href,type,margin,padding;index=getScalar(index);obj=F.group[index]||null;if(!obj){return false;}
coming=$.extend(true,{},F.opts,obj);margin=coming.margin;padding=coming.padding;if($.type(margin)==='number'){coming.margin=[margin,margin,margin,margin];}
if($.type(padding)==='number'){coming.padding=[padding,padding,padding,padding];}
if(coming.modal){$.extend(true,coming,{closeBtn:false,closeClick:false,nextClick:false,arrows:false,mouseWheel:false,keys:null,helpers:{overlay:{closeClick:false}}});}
if(coming.autoSize){coming.autoWidth=coming.autoHeight=true;}
if(coming.width==='auto'){coming.autoWidth=true;}
if(coming.height==='auto'){coming.autoHeight=true;}
coming.group=F.group;coming.index=index;F.coming=coming;if(false===F.trigger('beforeLoad')){F.coming=null;return;}
type=coming.type;href=coming.href;if(!type){F.coming=null;if(F.current&&F.router&&F.router!=='jumpto'){F.current.index=index;return F[F.router](F.direction);}
return false;}
F.isActive=true;if(type==='image'||type==='swf'){coming.autoHeight=coming.autoWidth=false;coming.scrolling='visible';}
if(type==='image'){coming.aspectRatio=true;}
if(type==='iframe'&&isTouch){coming.scrolling='scroll';}
coming.wrap=$(coming.tpl.wrap).addClass('fancybox-'+(isTouch?'mobile':'desktop')+' fancybox-type-'+type+' fancybox-tmp '+coming.wrapCSS).appendTo(coming.parent||'body');$.extend(coming,{skin:$('.fancybox-skin',coming.wrap),outer:$('.fancybox-outer',coming.wrap),inner:$('.fancybox-inner',coming.wrap)});$.each(["Top","Right","Bottom","Left"],function(i,v){coming.skin.css('padding'+v,getValue(coming.padding[i]));});F.trigger('onReady');if(type==='inline'||type==='html'){if(!coming.content||!coming.content.length){return F._error('content');}}else if(!href){return F._error('href');}
if(type==='image'){F._loadImage();}else if(type==='ajax'){F._loadAjax();}else if(type==='iframe'){F._loadIframe();}else{F._afterLoad();}},_error:function(type){$.extend(F.coming,{type:'html',autoWidth:true,autoHeight:true,minWidth:0,minHeight:0,scrolling:'no',hasError:type,content:F.coming.tpl.error});F._afterLoad();},_loadImage:function(){var img=F.imgPreload=new Image();img.onload=function(){this.onload=this.onerror=null;F.coming.width=this.width/F.opts.pixelRatio;F.coming.height=this.height/F.opts.pixelRatio;F._afterLoad();};img.onerror=function(){this.onload=this.onerror=null;F._error('image');};img.src=F.coming.href;if(img.complete!==true){F.showLoading();}},_loadAjax:function(){var coming=F.coming;F.showLoading();F.ajaxLoad=$.ajax($.extend({},coming.ajax,{url:coming.href,error:function(jqXHR,textStatus){if(F.coming&&textStatus!=='abort'){F._error('ajax',jqXHR);}else{F.hideLoading();}},success:function(data,textStatus){if(textStatus==='success'){coming.content=data;F._afterLoad();}}}));},_loadIframe:function(){var coming=F.coming,iframe=$(coming.tpl.iframe.replace(/\{rnd\}/g,new Date().getTime())).attr('scrolling',isTouch?'auto':coming.iframe.scrolling).attr('src',coming.href);$(coming.wrap).bind('onReset',function(){try{$(this).find('iframe').hide().attr('src','//about:blank').end().empty();}catch(e){}});if(coming.iframe.preload){F.showLoading();iframe.one('load',function(){$(this).data('ready',1);if(!isTouch){$(this).bind('load.fb',F.update);}
$(this).parents('.fancybox-wrap').width('100%').removeClass('fancybox-tmp').show();F._afterLoad();});}
coming.content=iframe.appendTo(coming.inner);if(!coming.iframe.preload){F._afterLoad();}},_preloadImages:function(){var group=F.group,current=F.current,len=group.length,cnt=current.preload?Math.min(current.preload,len-1):0,item,i;for(i=1;i<=cnt;i+=1){item=group[(current.index+i)%len];if(item.type==='image'&&item.href){new Image().src=item.href;}}},_afterLoad:function(){var coming=F.coming,previous=F.current,placeholder='fancybox-placeholder',current,content,type,scrolling,href,embed;F.hideLoading();if(!coming||F.isActive===false){return;}
if(false===F.trigger('afterLoad',coming,previous)){coming.wrap.stop(true).trigger('onReset').remove();F.coming=null;return;}
if(previous){F.trigger('beforeChange',previous);previous.wrap.stop(true).removeClass('fancybox-opened').find('.fancybox-item, .fancybox-nav').remove();}
F.unbindEvents();current=coming;content=coming.content;type=coming.type;scrolling=coming.scrolling;$.extend(F,{wrap:current.wrap,skin:current.skin,outer:current.outer,inner:current.inner,current:current,previous:previous});href=current.href;switch(type){case'inline':case'ajax':case'html':if(current.selector){content=$('<div>').html(content).find(current.selector);}else if(isQuery(content)){if(!content.data(placeholder)){content.data(placeholder,$('<div class="'+placeholder+'"></div>').insertAfter(content).hide());}
content=content.show().detach();current.wrap.bind('onReset',function(){if($(this).find(content).length){content.hide().replaceAll(content.data(placeholder)).data(placeholder,false);}});}
break;case'image':content=current.tpl.image.replace('{href}',href);break;case'swf':content='<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+href+'"></param>';embed='';$.each(current.swf,function(name,val){content+='<param name="'+name+'" value="'+val+'"></param>';embed+=' '+name+'="'+val+'"';});content+='<embed src="'+href+'" type="application/x-shockwave-flash" width="100%" height="100%"'+embed+'></embed></object>';break;}
if(!(isQuery(content)&&content.parent().is(current.inner))){current.inner.append(content);}
F.trigger('beforeShow');current.inner.css('overflow',scrolling==='yes'?'scroll':(scrolling==='no'?'hidden':scrolling));F._setDimension();F.reposition();F.isOpen=false;F.coming=null;F.bindEvents();if(!F.isOpened){$('.fancybox-wrap').not(current.wrap).stop(true).trigger('onReset').remove();}else if(previous.prevMethod){F.transitions[previous.prevMethod]();}
F.transitions[F.isOpened?current.nextMethod:current.openMethod]();F._preloadImages();},_setDimension:function(){var viewport=F.getViewport(),steps=0,canShrink=false,canExpand=false,wrap=F.wrap,skin=F.skin,inner=F.inner,current=F.current,width=current.width,height=current.height,minWidth=current.minWidth,minHeight=current.minHeight,maxWidth=current.maxWidth,maxHeight=current.maxHeight,scrolling=current.scrolling,scrollOut=current.scrollOutside?current.scrollbarWidth:0,margin=current.margin,wMargin=getScalar(margin[1]+margin[3]),hMargin=getScalar(margin[0]+margin[2]),wPadding,hPadding,wSpace,hSpace,origWidth,origHeight,origMaxWidth,origMaxHeight,ratio,width_,height_,maxWidth_,maxHeight_,iframe,body;wrap.add(skin).add(inner).width('auto').height('auto').removeClass('fancybox-tmp');wPadding=getScalar(skin.outerWidth(true)-skin.width());hPadding=getScalar(skin.outerHeight(true)-skin.height());wSpace=wMargin+wPadding;hSpace=hMargin+hPadding;origWidth=isPercentage(width)?(viewport.w-wSpace)*getScalar(width)/100:width;origHeight=isPercentage(height)?(viewport.h-hSpace)*getScalar(height)/100:height;if(current.type==='iframe'){iframe=current.content;if(current.autoHeight&&iframe.data('ready')===1){try{if(iframe[0].contentWindow.document.location){inner.width(origWidth).height(9999);body=iframe.contents().find('body');if(scrollOut){body.css('overflow-x','hidden');}
origHeight=body.outerHeight(true);}}catch(e){}}}else if(current.autoWidth||current.autoHeight){inner.addClass('fancybox-tmp');if(!current.autoWidth){inner.width(origWidth);}
if(!current.autoHeight){inner.height(origHeight);}
if(current.autoWidth){origWidth=inner.width();}
if(current.autoHeight){origHeight=inner.height();}
inner.removeClass('fancybox-tmp');}
width=getScalar(origWidth);height=getScalar(origHeight);ratio=origWidth/origHeight;minWidth=getScalar(isPercentage(minWidth)?getScalar(minWidth,'w')-wSpace:minWidth);maxWidth=getScalar(isPercentage(maxWidth)?getScalar(maxWidth,'w')-wSpace:maxWidth);minHeight=getScalar(isPercentage(minHeight)?getScalar(minHeight,'h')-hSpace:minHeight);maxHeight=getScalar(isPercentage(maxHeight)?getScalar(maxHeight,'h')-hSpace:maxHeight);origMaxWidth=maxWidth;origMaxHeight=maxHeight;if(current.fitToView){maxWidth=Math.min(viewport.w-wSpace,maxWidth);maxHeight=Math.min(viewport.h-hSpace,maxHeight);}
maxWidth_=viewport.w-wMargin;maxHeight_=viewport.h-hMargin;if(current.aspectRatio){if(width>maxWidth){width=maxWidth;height=getScalar(width/ratio);}
if(height>maxHeight){height=maxHeight;width=getScalar(height*ratio);}
if(width<minWidth){width=minWidth;height=getScalar(width/ratio);}
if(height<minHeight){height=minHeight;width=getScalar(height*ratio);}}else{width=Math.max(minWidth,Math.min(width,maxWidth));if(current.autoHeight&&current.type!=='iframe'){inner.width(width);height=inner.height();}
height=Math.max(minHeight,Math.min(height,maxHeight));}
if(current.fitToView){inner.width(width).height(height);wrap.width(width+wPadding);width_=wrap.width();height_=wrap.height();if(current.aspectRatio){while((width_>maxWidth_||height_>maxHeight_)&&width>minWidth&&height>minHeight){if(steps++>19){break;}
height=Math.max(minHeight,Math.min(maxHeight,height-10));width=getScalar(height*ratio);if(width<minWidth){width=minWidth;height=getScalar(width/ratio);}
if(width>maxWidth){width=maxWidth;height=getScalar(width/ratio);}
inner.width(width).height(height);wrap.width(width+wPadding);width_=wrap.width();height_=wrap.height();}}else{width=Math.max(minWidth,Math.min(width,width-(width_-maxWidth_)));height=Math.max(minHeight,Math.min(height,height-(height_-maxHeight_)));}}
if(scrollOut&&scrolling==='auto'&&height<origHeight&&(width+wPadding+scrollOut)<maxWidth_){width+=scrollOut;}
inner.width(width).height(height);wrap.width(width+wPadding);width_=wrap.width();height_=wrap.height();canShrink=(width_>maxWidth_||height_>maxHeight_)&&width>minWidth&&height>minHeight;canExpand=current.aspectRatio?(width<origMaxWidth&&height<origMaxHeight&&width<origWidth&&height<origHeight):((width<origMaxWidth||height<origMaxHeight)&&(width<origWidth||height<origHeight));$.extend(current,{dim:{width:getValue(width_),height:getValue(height_)},origWidth:origWidth,origHeight:origHeight,canShrink:canShrink,canExpand:canExpand,wPadding:wPadding,hPadding:hPadding,wrapSpace:height_-skin.outerHeight(true),skinSpace:skin.height()-height});if(!iframe&&current.autoHeight&&height>minHeight&&height<maxHeight&&!canExpand){inner.height('auto');}},_getPosition:function(onlyAbsolute){var current=F.current,viewport=F.getViewport(),margin=current.margin,width=F.wrap.width()+margin[1]+margin[3],height=F.wrap.height()+margin[0]+margin[2],rez={position:'absolute',top:margin[0],left:margin[3]};if(current.autoCenter&&current.fixed&&!onlyAbsolute&&height<=viewport.h&&width<=viewport.w){rez.position='fixed';}else if(!current.locked){rez.top+=viewport.y;rez.left+=viewport.x;}
rez.top=getValue(Math.max(rez.top,rez.top+((viewport.h-height)*current.topRatio)));rez.left=getValue(Math.max(rez.left,rez.left+((viewport.w-width)*current.leftRatio)));return rez;},_afterZoomIn:function(){var current=F.current;if(!current){return;}
F.isOpen=F.isOpened=true;F.wrap.css('overflow','visible').addClass('fancybox-opened');F.update();if(current.closeClick||(current.nextClick&&F.group.length>1)){F.inner.css('cursor','pointer').bind('click.fb',function(e){if(!$(e.target).is('a')&&!$(e.target).parent().is('a')){e.preventDefault();F[current.closeClick?'close':'next']();}});}
if(current.closeBtn){$(current.tpl.closeBtn).appendTo(F.skin).bind('click.fb',function(e){e.preventDefault();F.close();});}
if(current.arrows&&F.group.length>1){if(current.loop||current.index>0){$(current.tpl.prev).appendTo(F.outer).bind('click.fb',F.prev);}
if(current.loop||current.index<F.group.length-1){$(current.tpl.next).appendTo(F.outer).bind('click.fb',F.next);}}
F.trigger('afterShow');if(!current.loop&&current.index===current.group.length-1){F.play(false);}else if(F.opts.autoPlay&&!F.player.isActive){F.opts.autoPlay=false;F.play();}},_afterZoomOut:function(obj){obj=obj||F.current;$('.fancybox-wrap').trigger('onReset').remove();$.extend(F,{group:{},opts:{},router:false,current:null,isActive:false,isOpened:false,isOpen:false,isClosing:false,wrap:null,skin:null,outer:null,inner:null});F.trigger('afterClose',obj);}});F.transitions={getOrigPosition:function(){var current=F.current,element=current.element,orig=current.orig,pos={},width=50,height=50,hPadding=current.hPadding,wPadding=current.wPadding,viewport=F.getViewport();if(!orig&&current.isDom&&element.is(':visible')){orig=element.find('img:first');if(!orig.length){orig=element;}}
if(isQuery(orig)){pos=orig.offset();if(orig.is('img')){width=orig.outerWidth();height=orig.outerHeight();}}else{pos.top=viewport.y+(viewport.h-height)*current.topRatio;pos.left=viewport.x+(viewport.w-width)*current.leftRatio;}
if(F.wrap.css('position')==='fixed'||current.locked){pos.top-=viewport.y;pos.left-=viewport.x;}
pos={top:getValue(pos.top-hPadding*current.topRatio),left:getValue(pos.left-wPadding*current.leftRatio),width:getValue(width+wPadding),height:getValue(height+hPadding)};return pos;},step:function(now,fx){var ratio,padding,value,prop=fx.prop,current=F.current,wrapSpace=current.wrapSpace,skinSpace=current.skinSpace;if(prop==='width'||prop==='height'){ratio=fx.end===fx.start?1:(now-fx.start)/(fx.end-fx.start);if(F.isClosing){ratio=1-ratio;}
padding=prop==='width'?current.wPadding:current.hPadding;value=now-padding;F.skin[prop](getScalar(prop==='width'?value:value-(wrapSpace*ratio)));F.inner[prop](getScalar(prop==='width'?value:value-(wrapSpace*ratio)-(skinSpace*ratio)));}},zoomIn:function(){var current=F.current,startPos=current.pos,effect=current.openEffect,elastic=effect==='elastic',endPos=$.extend({opacity:1},startPos);delete endPos.position;if(elastic){startPos=this.getOrigPosition();if(current.openOpacity){startPos.opacity=0.1;}}else if(effect==='fade'){startPos.opacity=0.1;}
F.wrap.css(startPos).animate(endPos,{duration:effect==='none'?0:current.openSpeed,easing:current.openEasing,step:elastic?this.step:null,complete:F._afterZoomIn});},zoomOut:function(){var current=F.current,effect=current.closeEffect,elastic=effect==='elastic',endPos={opacity:0.1};if(elastic){endPos=this.getOrigPosition();if(current.closeOpacity){endPos.opacity=0.1;}}
F.wrap.animate(endPos,{duration:effect==='none'?0:current.closeSpeed,easing:current.closeEasing,step:elastic?this.step:null,complete:F._afterZoomOut});},changeIn:function(){var current=F.current,effect=current.nextEffect,startPos=current.pos,endPos={opacity:1},direction=F.direction,distance=200,field;startPos.opacity=0.1;if(effect==='elastic'){field=direction==='down'||direction==='up'?'top':'left';if(direction==='down'||direction==='right'){startPos[field]=getValue(getScalar(startPos[field])-distance);endPos[field]='+='+distance+'px';}else{startPos[field]=getValue(getScalar(startPos[field])+distance);endPos[field]='-='+distance+'px';}}
if(effect==='none'){F._afterZoomIn();}else{F.wrap.css(startPos).animate(endPos,{duration:current.nextSpeed,easing:current.nextEasing,complete:F._afterZoomIn});}},changeOut:function(){var previous=F.previous,effect=previous.prevEffect,endPos={opacity:0.1},direction=F.direction,distance=200;if(effect==='elastic'){endPos[direction==='down'||direction==='up'?'top':'left']=(direction==='up'||direction==='left'?'-':'+')+'='+distance+'px';}
previous.wrap.animate(endPos,{duration:effect==='none'?0:previous.prevSpeed,easing:previous.prevEasing,complete:function(){$(this).trigger('onReset').remove();}});}};F.helpers.overlay={defaults:{closeClick:true,speedOut:200,showEarly:true,css:{},locked:!isTouch,fixed:true},overlay:null,fixed:false,el:$('html'),create:function(opts){opts=$.extend({},this.defaults,opts);if(this.overlay){this.close();}
this.overlay=$('<div class="fancybox-overlay"></div>').appendTo(F.coming?F.coming.parent:opts.parent);this.fixed=false;if(opts.fixed&&F.defaults.fixed){this.overlay.addClass('fancybox-overlay-fixed');this.fixed=true;}},open:function(opts){var that=this;opts=$.extend({},this.defaults,opts);if(this.overlay){this.overlay.unbind('.overlay').width('auto').height('auto');}else{this.create(opts);}
if(!this.fixed){W.bind('resize.overlay',$.proxy(this.update,this));this.update();}
if(opts.closeClick){this.overlay.bind('click.overlay',function(e){if($(e.target).hasClass('fancybox-overlay')){if(F.isActive){F.close();}else{that.close();}
return false;}});}
this.overlay.css(opts.css).show();},close:function(){var scrollV,scrollH;W.unbind('resize.overlay');if(this.el.hasClass('fancybox-lock')){$('.fancybox-margin').removeClass('fancybox-margin');scrollV=W.scrollTop();scrollH=W.scrollLeft();this.el.removeClass('fancybox-lock');W.scrollTop(scrollV).scrollLeft(scrollH);}
$('.fancybox-overlay').remove().hide();$('body').removeClass("noscroll");$.extend(this,{overlay:null,fixed:false});},update:function(){var width='100%',offsetWidth;this.overlay.width(width).height('100%');if(IE){offsetWidth=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);if(D.width()>offsetWidth){width=D.width();}}else if(D.width()>W.width()){width=D.width();}
this.overlay.width(width).height(D.height());},onReady:function(opts,obj){var overlay=this.overlay;$('.fancybox-overlay').stop(true,true);if(!overlay){this.create(opts);}
if(opts.locked&&this.fixed&&obj.fixed){if(!overlay){this.margin=D.height()>W.height()?$('html').css('margin-right').replace("px",""):false;}
obj.locked=this.overlay.append(obj.wrap);obj.fixed=false;}
if(opts.showEarly===true){this.beforeShow.apply(this,arguments);}},beforeShow:function(opts,obj){var scrollV,scrollH;if(obj.locked){if(this.margin!==false){$('*').filter(function(){return($(this).css('position')==='fixed'&&!$(this).hasClass("fancybox-overlay")&&!$(this).hasClass("fancybox-wrap"));}).addClass('fancybox-margin');this.el.addClass('fancybox-margin');}
scrollV=W.scrollTop();scrollH=W.scrollLeft();this.el.addClass('fancybox-lock');W.scrollTop(scrollV).scrollLeft(scrollH);}
this.open(opts);},onUpdate:function(){if(!this.fixed){this.update();}},afterClose:function(opts){if(this.overlay&&!F.coming){this.overlay.fadeOut(opts.speedOut,$.proxy(this.close,this));}}};F.helpers.title={defaults:{type:'float',position:'bottom'},beforeShow:function(opts){var current=F.current,text=current.title,type=opts.type,title,target;if($.isFunction(text)){text=text.call(current.element,current);}
if(!isString(text)||$.trim(text)===''){return;}
title=$('<div class="fancybox-title fancybox-title-'+type+'-wrap">'+text+'</div>');switch(type){case'inside':target=F.skin;break;case'outside':target=F.wrap;break;case'over':target=F.inner;break;default:target=F.skin;title.appendTo('body');if(IE){title.width(title.width());}
title.wrapInner('<span class="child"></span>');F.current.margin[2]+=Math.abs(getScalar(title.css('margin-bottom')));break;}
title[(opts.position==='top'?'prependTo':'appendTo')](target);}};$.fn.fancybox=function(options){var index,that=$(this),selector=this.selector||'',run=function(e){var what=$(this).blur(),idx=index,relType,relVal;if(!(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&!what.is('.fancybox-wrap')){relType=options.groupAttr||'data-fancybox-group';relVal=what.attr(relType);if(!relVal){relType='rel';relVal=what.get(0)[relType];}
if(relVal&&relVal!==''&&relVal!=='nofollow'){what=selector.length?$(selector):that;what=what.filter('['+relType+'="'+relVal+'"]');idx=what.index(this);}
options.index=idx;if(F.open(what,options)!==false){e.preventDefault();}}};options=options||{};index=options.index||0;if(!selector||options.live===false){that.unbind('click.fb-start').bind('click.fb-start',run);}else{D.undelegate(selector,'click.fb-start').delegate(selector+":not('.fancybox-item, .fancybox-nav')",'click.fb-start',run);}
this.filter('[data-fancybox-start=1]').trigger('click');return this;};D.ready(function(){var w1,w2;if($.scrollbarWidth===undefined){$.scrollbarWidth=function(){var parent=$('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo('body'),child=parent.children(),width=child.innerWidth()-child.height(99).innerWidth();parent.remove();return width;};}
if($.support.fixedPosition===undefined){$.support.fixedPosition=(function(){var elem=$('<div style="position:fixed;top:20px;"></div>').appendTo('body'),fixed=(elem[0].offsetTop===20||elem[0].offsetTop===15);elem.remove();return fixed;}());}
$.extend(F.defaults,{scrollbarWidth:$.scrollbarWidth(),fixed:$.support.fixedPosition,parent:$('body')});w1=$(window).width();H.addClass('fancybox-lock-test');w2=$(window).width();H.removeClass('fancybox-lock-test');$("<style type='text/css'>.fancybox-margin{margin-right:"+(w2-w1)+"px;}</style>").appendTo("head");});}(window,document,jQuery));;
/*
 * Buttons helper for fancyBox
 * version: 1.0.5 (Mon, 15 Oct 2012)
 * @requires fancyBox v2.0 or later
 *
 * Usage:
 *     $(".fancybox").fancybox({
 *         helpers : {
 *             buttons: {
 *                 position : 'top'
 *             }
 *         }
 *     });
 *
 */
(function($){var F=$.fancybox;F.helpers.buttons={defaults:{skipSingle:false,position:'top',tpl:'<div id="fancybox-buttons"><ul><li><a class="btnPrev" title="Previous" href="javascript:;"></a></li><li><a class="btnPlay" title="Start slideshow" href="javascript:;"></a></li><li><a class="btnNext" title="Next" href="javascript:;"></a></li><li><a class="btnToggle" title="Toggle size" href="javascript:;"></a></li><li><a class="btnClose" title="Close" href="javascript:;"></a></li></ul></div>'},list:null,buttons:null,beforeLoad:function(opts,obj){if(opts.skipSingle&&obj.group.length<2){obj.helpers.buttons=false;obj.closeBtn=true;return;}
obj.margin[opts.position==='bottom'?2:0]+=30;},onPlayStart:function(){if(this.buttons){this.buttons.play.attr('title','Pause slideshow').addClass('btnPlayOn');}},onPlayEnd:function(){if(this.buttons){this.buttons.play.attr('title','Start slideshow').removeClass('btnPlayOn');}},afterShow:function(opts,obj){var buttons=this.buttons;if(!buttons){this.list=$(opts.tpl).addClass(opts.position).appendTo('body');buttons={prev:this.list.find('.btnPrev').click(F.prev),next:this.list.find('.btnNext').click(F.next),play:this.list.find('.btnPlay').click(F.play),toggle:this.list.find('.btnToggle').click(F.toggle),close:this.list.find('.btnClose').click(F.close)}}
if(obj.index>0||obj.loop){buttons.prev.removeClass('btnDisabled');}else{buttons.prev.addClass('btnDisabled');}
if(obj.loop||obj.index<obj.group.length-1){buttons.next.removeClass('btnDisabled');buttons.play.removeClass('btnDisabled');}else{buttons.next.addClass('btnDisabled');buttons.play.addClass('btnDisabled');}
this.buttons=buttons;this.onUpdate(opts,obj);},onUpdate:function(opts,obj){var toggle;if(!this.buttons){return;}
toggle=this.buttons.toggle.removeClass('btnDisabled btnToggleOn');if(obj.canShrink){toggle.addClass('btnToggleOn');}else if(!obj.canExpand){toggle.addClass('btnDisabled');}},beforeClose:function(){if(this.list){this.list.remove();}
this.list=null;this.buttons=null;}};}(jQuery));
/*!
 * Bootstrap v3.1.1 (http://getbootstrap.com)
 * Copyright 2011-2014 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.isLoading=!1};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",f.resetText||d.data("resetText",d[e]()),d[e](f[b]||this.options[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},b.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});return this.$element.trigger(j),j.isDefaultPrevented()?void 0:(this.sliding=!0,f&&this.pause(),this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")),f&&this.cycle(),this)};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("collapse in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);!e&&f.toggle&&"show"==c&&(c=!c),e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(b){a(d).remove(),a(e).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown",h),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=" li:not(.divider):visible a",i=f.find("[role=menu]"+h+", [role=listbox]"+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j<i.length-1&&j++,~j||(j=0),i.eq(j).focus()}}}};var g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.dropdown.Constructor=f,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu], [role=listbox]",f.prototype.keydown)}(jQuery),+function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show().scrollTop(0),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="modal-backdrop '+c+'" />').appendTo(document.body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());c.is("a")&&b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this,d=this.tip();this.setContent(),this.options.animation&&d.addClass("fade");var e="function"==typeof this.options.placement?this.options.placement.call(this,d[0],this.$element[0]):this.options.placement,f=/\s?auto?\s?/i,g=f.test(e);g&&(e=e.replace(f,"")||"top"),d.detach().css({top:0,left:0,display:"block"}).addClass(e),this.options.container?d.appendTo(this.options.container):d.insertAfter(this.$element);var h=this.getPosition(),i=d[0].offsetWidth,j=d[0].offsetHeight;if(g){var k=this.$element.parent(),l=e,m=document.documentElement.scrollTop||document.body.scrollTop,n="body"==this.options.container?window.innerWidth:k.outerWidth(),o="body"==this.options.container?window.innerHeight:k.outerHeight(),p="body"==this.options.container?0:k.offset().left;e="bottom"==e&&h.top+h.height+j-m>o?"top":"top"==e&&h.top-m-j<0?"bottom":"right"==e&&h.right+i>n?"left":"left"==e&&h.left-i<p?"right":e,d.removeClass(l).addClass(e)}var q=this.getCalculatedOffset(e,h,i,j);this.applyPlacement(q,e),this.hoverState=null;var r=function(){c.$element.trigger("shown.bs."+c.type)};a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,r).emulateTransitionEnd(150):r()}},b.prototype.applyPlacement=function(b,c){var d,e=this.tip(),f=e[0].offsetWidth,g=e[0].offsetHeight,h=parseInt(e.css("margin-top"),10),i=parseInt(e.css("margin-left"),10);isNaN(h)&&(h=0),isNaN(i)&&(i=0),b.top=b.top+h,b.left=b.left+i,a.offset.setOffset(e[0],a.extend({using:function(a){e.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),e.addClass("in");var j=e[0].offsetWidth,k=e[0].offsetHeight;if("top"==c&&k!=g&&(d=!0,b.top=b.top+g-k),/bottom|top/.test(c)){var l=0;b.left<0&&(l=-2*b.left,b.left=0,e.offset(b),j=e[0].offsetWidth,k=e[0].offsetHeight),this.replaceArrow(l-f+j,j,"left")}else this.replaceArrow(k-g,k,"top");d&&e.offset(b)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.bs."+c.type)}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),this.hoverState=null,this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;(e||"destroy"!=c)&&(e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]())})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this}}(jQuery),+function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;(e||"destroy"!=c)&&(e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]())})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(a(c).is("body")?window:c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);{var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})}},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(b.RESET).addClass("affix");var a=this.$window.scrollTop(),c=this.$element.offset();return this.pinnedOffset=c.top-a},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"top"==this.affixed&&(e.top+=d),"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(b.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:c-h-this.$element.height()}))}}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery);
/*!
 * classie - class helper functions
 * from bonzo https://github.com/ded/bonzo
 * 
 * classie.has( elem, 'my-class' ) -> true/false
 * classie.add( elem, 'my-new-class' )
 * classie.remove( elem, 'my-unwanted-class' )
 * classie.toggle( elem, 'my-class' )
 */

/*jshint browser: true, strict: true, undef: true */
/*global define: false */

( function( window ) {

'use strict';

// class helper functions from bonzo https://github.com/ded/bonzo

function classReg( className ) {
  return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
}

// classList support for class management
// altho to be fair, the api sucks because it won't accept multiple classes at once
var hasClass, addClass, removeClass;

if ( 'classList' in document.documentElement ) {
  hasClass = function( elem, c ) {
    return elem.classList.contains( c );
  };
  addClass = function( elem, c ) {
    elem.classList.add( c );
  };
  removeClass = function( elem, c ) {
    elem.classList.remove( c );
  };
}
else {
  hasClass = function( elem, c ) {
    return classReg( c ).test( elem.className );
  };
  addClass = function( elem, c ) {
    if ( !hasClass( elem, c ) ) {
      elem.className = elem.className + ' ' + c;
    }
  };
  removeClass = function( elem, c ) {
    elem.className = elem.className.replace( classReg( c ), ' ' );
  };
}

function toggleClass( elem, c ) {
  var fn = hasClass( elem, c ) ? removeClass : addClass;
  fn( elem, c );
}

var classie = {
  // full names
  hasClass: hasClass,
  addClass: addClass,
  removeClass: removeClass,
  toggleClass: toggleClass,
  // short names
  has: hasClass,
  add: addClass,
  remove: removeClass,
  toggle: toggleClass
};

// transport
if ( typeof define === 'function' && define.amd ) {
  // AMD
  define( classie );
} else {
  // browser global
  window.classie = classie;
}

})( window );
function compte_a_rebours()
{
    var compte_a_rebours = document.getElementById("compte_a_rebours");
    var date_actuelle = new Date();
    var date_evenement = new Date("Oct 31 13:00:00 2015");
    var total_secondes = (date_evenement - date_actuelle) / 1000;
    var prefixe ="Pierre et BenoÃ®t sont arrivÃ©s Ã  Fressin. ";

    if (total_secondes < 0)
    {
        prefixe = "Pierre et BenoÃ®t sont arrivÃ©s Ã  Fressin. <br/> ArrivÃ©e il y a : "; // On modifie le prÃ©fixe si la diffÃ©rence est nÃ©gatif
        total_secondes = Math.abs(total_secondes); // On ne garde que la valeur absolue
        
    }
    if (total_secondes > 0)
    {
        var jours = Math.floor(total_secondes / (60 * 60 * 24));
        var heures = Math.floor((total_secondes - (jours * 60 * 60 * 24)) / (60 * 60));
        minutes = Math.floor((total_secondes - ((jours * 60 * 60 * 24 + heures * 60 * 60))) / 60);
        secondes = Math.floor(total_secondes - ((jours * 60 * 60 * 24 + heures * 60 * 60 + minutes * 60)));

        var et = "et";
        var mot_jour = "jours,";
        var mot_heure = "heures,";
        var mot_minute = "minutes,";
        var mot_seconde = "secondes";

        if (jours == 0)
        {
            jours = '';
            mot_jour = '';
        }
        else if (jours == 1)
        {
            mot_jour = "jour,";
        }

        if (heures == 0)
        {
            heures = '';
            mot_heure = '';
        }
        else if (heures == 1)
        {
            mot_heure = "heure,";
        }

        if (minutes == 0)
        {
            minutes = '';
            mot_minute = '';
        }
        else if (minutes == 1)
        {
            mot_minute = "minute,";
        }

        if (secondes == 0)
        {
            secondes = '';
            mot_seconde = '';
            et = '';
        }
        else if (secondes == 1)
        {
            mot_seconde = "seconde";
        }

        if (minutes == 0 && heures == 0 && jours == 0)
        {
            et = "";
        }

        compte_a_rebours.innerHTML = prefixe + jours + ' ' + mot_jour + ' ' + heures + ' ' + mot_heure + ' ' + minutes + ' ' + mot_minute + ' ' + et + ' ' + secondes + ' ' + mot_seconde;
    }
    else
    {
        compte_a_rebours.innerHTML = 'Compte Ã  rebours terminÃ©.';
    }
    var actualisation = setTimeout("compte_a_rebours();", 1000);
}
function compte_a_rebours()
{
    var compte_a_rebours = document.getElementById("compte_a_rebours");
    var date_actuelle = new Date();
    var date_evenement = new Date("Oct 31 13:00:00 2015");
    var total_secondes = (date_evenement - date_actuelle) / 1000;
    var prefixe = "Pierre and BenoÃ®t are arrived in Fressin, France. <br/> Expected arrival in: ";
    if (total_secondes < 0)
    {
        prefixe = "Arrived in Fressin <br/> since: "  ;//On modifie le prÃ©fixe si la diffÃ©rence est nÃ©gatif
        total_secondes = Math.abs(total_secondes); // On ne garde que la valeur absolue
    }
    if (total_secondes > 0)
    {
        var jours = Math.floor(total_secondes / (60 * 60 * 24));
        var heures = Math.floor((total_secondes - (jours * 60 * 60 * 24)) / (60 * 60));
        minutes = Math.floor((total_secondes - ((jours * 60 * 60 * 24 + heures * 60 * 60))) / 60);
        secondes = Math.floor(total_secondes - ((jours * 60 * 60 * 24 + heures * 60 * 60 + minutes * 60)));

        var et = "and";
        var mot_jour = "days,";
        var mot_heure = "hours,";
        var mot_minute = "minutes,";
        var mot_seconde = "seconds";

        if (jours == 0)
        {
            jours = '';
            mot_jour = '';
        }
        else if (jours == 1)
        {
            mot_jour = "day,";
        }

        if (heures == 0)
        {
            heures = '';
            mot_heure = '';
        }
        else if (heures == 1)
        {
            mot_heure = "hour,";
        }

        if (minutes == 0)
        {
            minutes = '';
            mot_minute = '';
        }
        else if (minutes == 1)
        {
            mot_minute = "minute,";
        }

        if (secondes == 0)
        {
            secondes = '';
            mot_seconde = '';
            et = '';
        }
        else if (secondes == 1)
        {
            mot_seconde = "second";
        }

        if (minutes == 0 && heures == 0 && jours == 0)
        {
            et = "";
        }

        compte_a_rebours.innerHTML = prefixe + jours + ' ' + mot_jour + ' ' + heures + ' ' + mot_heure + ' ' + minutes + ' ' + mot_minute + ' ' + et + ' ' + secondes + ' ' + mot_seconde;
    }
    else
    {
        compte_a_rebours.innerHTML = 'Time counter finished.';
    }
    var actualisation = setTimeout("compte_a_rebours();", 1000);
}
/*!
 * jQuery JavaScript Library v1.8.2
 * http://jquery.com/
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 *
 * Copyright 2012 jQuery Foundation and other contributors
 * Released under the MIT license
 * http://jquery.org/license
 *
 * Date: Thu Sep 20 2012 21:13:05 GMT-0400 (Eastern Daylight Time)
 */
(function( window, undefined ) {
var
	// A central reference to the root jQuery(document)
	rootjQuery,

	// The deferred used on DOM ready
	readyList,

	// Use the correct document accordingly with window argument (sandbox)
	document = window.document,
	location = window.location,
	navigator = window.navigator,

	// Map over jQuery in case of overwrite
	_jQuery = window.jQuery,

	// Map over the $ in case of overwrite
	_$ = window.$,

	// Save a reference to some core methods
	core_push = Array.prototype.push,
	core_slice = Array.prototype.slice,
	core_indexOf = Array.prototype.indexOf,
	core_toString = Object.prototype.toString,
	core_hasOwn = Object.prototype.hasOwnProperty,
	core_trim = String.prototype.trim,

	// Define a local copy of jQuery
	jQuery = function( selector, context ) {
		// The jQuery object is actually just the init constructor 'enhanced'
		return new jQuery.fn.init( selector, context, rootjQuery );
	},

	// Used for matching numbers
	core_pnum = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,

	// Used for detecting and trimming whitespace
	core_rnotwhite = /\S/,
	core_rspace = /\s+/,

	// Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE)
	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,

	// A simple way to check for HTML strings
	// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
	rquickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,

	// Match a standalone tag
	rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,

	// JSON RegExp
	rvalidchars = /^[\],:{}\s]*$/,
	rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
	rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
	rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,

	// Matches dashed string for camelizing
	rmsPrefix = /^-ms-/,
	rdashAlpha = /-([\da-z])/gi,

	// Used by jQuery.camelCase as callback to replace()
	fcamelCase = function( all, letter ) {
		return ( letter + "" ).toUpperCase();
	},

	// The ready event handler and self cleanup method
	DOMContentLoaded = function() {
		if ( document.addEventListener ) {
			document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
			jQuery.ready();
		} else if ( document.readyState === "complete" ) {
			// we're here because readyState === "complete" in oldIE
			// which is good enough for us to call the dom ready!
			document.detachEvent( "onreadystatechange", DOMContentLoaded );
			jQuery.ready();
		}
	},

	// [[Class]] -> type pairs
	class2type = {};

jQuery.fn = jQuery.prototype = {
	constructor: jQuery,
	init: function( selector, context, rootjQuery ) {
		var match, elem, ret, doc;

		// Handle $(""), $(null), $(undefined), $(false)
		if ( !selector ) {
			return this;
		}

		// Handle $(DOMElement)
		if ( selector.nodeType ) {
			this.context = this[0] = selector;
			this.length = 1;
			return this;
		}

		// Handle HTML strings
		if ( typeof selector === "string" ) {
			if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
				// Assume that strings that start and end with <> are HTML and skip the regex check
				match = [ null, selector, null ];

			} else {
				match = rquickExpr.exec( selector );
			}

			// Match html or make sure no context is specified for #id
			if ( match && (match[1] || !context) ) {

				// HANDLE: $(html) -> $(array)
				if ( match[1] ) {
					context = context instanceof jQuery ? context[0] : context;
					doc = ( context && context.nodeType ? context.ownerDocument || context : document );

					// scripts is true for back-compat
					selector = jQuery.parseHTML( match[1], doc, true );
					if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
						this.attr.call( selector, context, true );
					}

					return jQuery.merge( this, selector );

				// HANDLE: $(#id)
				} else {
					elem = document.getElementById( match[2] );

					// Check parentNode to catch when Blackberry 4.6 returns
					// nodes that are no longer in the document #6963
					if ( elem && elem.parentNode ) {
						// Handle the case where IE and Opera return items
						// by name instead of ID
						if ( elem.id !== match[2] ) {
							return rootjQuery.find( selector );
						}

						// Otherwise, we inject the element directly into the jQuery object
						this.length = 1;
						this[0] = elem;
					}

					this.context = document;
					this.selector = selector;
					return this;
				}

			// HANDLE: $(expr, $(...))
			} else if ( !context || context.jquery ) {
				return ( context || rootjQuery ).find( selector );

			// HANDLE: $(expr, context)
			// (which is just equivalent to: $(context).find(expr)
			} else {
				return this.constructor( context ).find( selector );
			}

		// HANDLE: $(function)
		// Shortcut for document ready
		} else if ( jQuery.isFunction( selector ) ) {
			return rootjQuery.ready( selector );
		}

		if ( selector.selector !== undefined ) {
			this.selector = selector.selector;
			this.context = selector.context;
		}

		return jQuery.makeArray( selector, this );
	},

	// Start with an empty selector
	selector: "",

	// The current version of jQuery being used
	jquery: "1.8.2",

	// The default length of a jQuery object is 0
	length: 0,

	// The number of elements contained in the matched element set
	size: function() {
		return this.length;
	},

	toArray: function() {
		return core_slice.call( this );
	},

	// Get the Nth element in the matched element set OR
	// Get the whole matched element set as a clean array
	get: function( num ) {
		return num == null ?

			// Return a 'clean' array
			this.toArray() :

			// Return just the object
			( num < 0 ? this[ this.length + num ] : this[ num ] );
	},

	// Take an array of elements and push it onto the stack
	// (returning the new matched element set)
	pushStack: function( elems, name, selector ) {

		// Build a new jQuery matched element set
		var ret = jQuery.merge( this.constructor(), elems );

		// Add the old object onto the stack (as a reference)
		ret.prevObject = this;

		ret.context = this.context;

		if ( name === "find" ) {
			ret.selector = this.selector + ( this.selector ? " " : "" ) + selector;
		} else if ( name ) {
			ret.selector = this.selector + "." + name + "(" + selector + ")";
		}

		// Return the newly-formed element set
		return ret;
	},

	// Execute a callback for every element in the matched set.
	// (You can seed the arguments with an array of args, but this is
	// only used internally.)
	each: function( callback, args ) {
		return jQuery.each( this, callback, args );
	},

	ready: function( fn ) {
		// Add the callback
		jQuery.ready.promise().done( fn );

		return this;
	},

	eq: function( i ) {
		i = +i;
		return i === -1 ?
			this.slice( i ) :
			this.slice( i, i + 1 );
	},

	first: function() {
		return this.eq( 0 );
	},

	last: function() {
		return this.eq( -1 );
	},

	slice: function() {
		return this.pushStack( core_slice.apply( this, arguments ),
			"slice", core_slice.call(arguments).join(",") );
	},

	map: function( callback ) {
		return this.pushStack( jQuery.map(this, function( elem, i ) {
			return callback.call( elem, i, elem );
		}));
	},

	end: function() {
		return this.prevObject || this.constructor(null);
	},

	// For internal use only.
	// Behaves like an Array's method, not like a jQuery method.
	push: core_push,
	sort: [].sort,
	splice: [].splice
};

// Give the init function the jQuery prototype for later instantiation
jQuery.fn.init.prototype = jQuery.fn;

jQuery.extend = jQuery.fn.extend = function() {
	var options, name, src, copy, copyIsArray, clone,
		target = arguments[0] || {},
		i = 1,
		length = arguments.length,
		deep = false;

	// Handle a deep copy situation
	if ( typeof target === "boolean" ) {
		deep = target;
		target = arguments[1] || {};
		// skip the boolean and the target
		i = 2;
	}

	// Handle case when target is a string or something (possible in deep copy)
	if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
		target = {};
	}

	// extend jQuery itself if only one argument is passed
	if ( length === i ) {
		target = this;
		--i;
	}

	for ( ; i < length; i++ ) {
		// Only deal with non-null/undefined values
		if ( (options = arguments[ i ]) != null ) {
			// Extend the base object
			for ( name in options ) {
				src = target[ name ];
				copy = options[ name ];

				// Prevent never-ending loop
				if ( target === copy ) {
					continue;
				}

				// Recurse if we're merging plain objects or arrays
				if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
					if ( copyIsArray ) {
						copyIsArray = false;
						clone = src && jQuery.isArray(src) ? src : [];

					} else {
						clone = src && jQuery.isPlainObject(src) ? src : {};
					}

					// Never move original objects, clone them
					target[ name ] = jQuery.extend( deep, clone, copy );

				// Don't bring in undefined values
				} else if ( copy !== undefined ) {
					target[ name ] = copy;
				}
			}
		}
	}

	// Return the modified object
	return target;
};

jQuery.extend({
	noConflict: function( deep ) {
		if ( window.$ === jQuery ) {
			window.$ = _$;
		}

		if ( deep && window.jQuery === jQuery ) {
			window.jQuery = _jQuery;
		}

		return jQuery;
	},

	// Is the DOM ready to be used? Set to true once it occurs.
	isReady: false,

	// A counter to track how many items to wait for before
	// the ready event fires. See #6781
	readyWait: 1,

	// Hold (or release) the ready event
	holdReady: function( hold ) {
		if ( hold ) {
			jQuery.readyWait++;
		} else {
			jQuery.ready( true );
		}
	},

	// Handle when the DOM is ready
	ready: function( wait ) {

		// Abort if there are pending holds or we're already ready
		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
			return;
		}

		// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
		if ( !document.body ) {
			return setTimeout( jQuery.ready, 1 );
		}

		// Remember that the DOM is ready
		jQuery.isReady = true;

		// If a normal DOM Ready event fired, decrement, and wait if need be
		if ( wait !== true && --jQuery.readyWait > 0 ) {
			return;
		}

		// If there are functions bound, to execute
		readyList.resolveWith( document, [ jQuery ] );

		// Trigger any bound ready events
		if ( jQuery.fn.trigger ) {
			jQuery( document ).trigger("ready").off("ready");
		}
	},

	// See test/unit/core.js for details concerning isFunction.
	// Since version 1.3, DOM methods and functions like alert
	// aren't supported. They return false on IE (#2968).
	isFunction: function( obj ) {
		return jQuery.type(obj) === "function";
	},

	isArray: Array.isArray || function( obj ) {
		return jQuery.type(obj) === "array";
	},

	isWindow: function( obj ) {
		return obj != null && obj == obj.window;
	},

	isNumeric: function( obj ) {
		return !isNaN( parseFloat(obj) ) && isFinite( obj );
	},

	type: function( obj ) {
		return obj == null ?
			String( obj ) :
			class2type[ core_toString.call(obj) ] || "object";
	},

	isPlainObject: function( obj ) {
		// Must be an Object.
		// Because of IE, we also have to check the presence of the constructor property.
		// Make sure that DOM nodes and window objects don't pass through, as well
		if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
			return false;
		}

		try {
			// Not own constructor property must be Object
			if ( obj.constructor &&
				!core_hasOwn.call(obj, "constructor") &&
				!core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
				return false;
			}
		} catch ( e ) {
			// IE8,9 Will throw exceptions on certain host objects #9897
			return false;
		}

		// Own properties are enumerated firstly, so to speed up,
		// if last one is own, then all properties are own.

		var key;
		for ( key in obj ) {}

		return key === undefined || core_hasOwn.call( obj, key );
	},

	isEmptyObject: function( obj ) {
		var name;
		for ( name in obj ) {
			return false;
		}
		return true;
	},

	error: function( msg ) {
		throw new Error( msg );
	},

	// data: string of html
	// context (optional): If specified, the fragment will be created in this context, defaults to document
	// scripts (optional): If true, will include scripts passed in the html string
	parseHTML: function( data, context, scripts ) {
		var parsed;
		if ( !data || typeof data !== "string" ) {
			return null;
		}
		if ( typeof context === "boolean" ) {
			scripts = context;
			context = 0;
		}
		context = context || document;

		// Single tag
		if ( (parsed = rsingleTag.exec( data )) ) {
			return [ context.createElement( parsed[1] ) ];
		}

		parsed = jQuery.buildFragment( [ data ], context, scripts ? null : [] );
		return jQuery.merge( [],
			(parsed.cacheable ? jQuery.clone( parsed.fragment ) : parsed.fragment).childNodes );
	},

	parseJSON: function( data ) {
		if ( !data || typeof data !== "string") {
			return null;
		}

		// Make sure leading/trailing whitespace is removed (IE can't handle it)
		data = jQuery.trim( data );

		// Attempt to parse using the native JSON parser first
		if ( window.JSON && window.JSON.parse ) {
			return window.JSON.parse( data );
		}

		// Make sure the incoming data is actual JSON
		// Logic borrowed from http://json.org/json2.js
		if ( rvalidchars.test( data.replace( rvalidescape, "@" )
			.replace( rvalidtokens, "]" )
			.replace( rvalidbraces, "")) ) {

			return ( new Function( "return " + data ) )();

		}
		jQuery.error( "Invalid JSON: " + data );
	},

	// Cross-browser xml parsing
	parseXML: function( data ) {
		var xml, tmp;
		if ( !data || typeof data !== "string" ) {
			return null;
		}
		try {
			if ( window.DOMParser ) { // Standard
				tmp = new DOMParser();
				xml = tmp.parseFromString( data , "text/xml" );
			} else { // IE
				xml = new ActiveXObject( "Microsoft.XMLDOM" );
				xml.async = "false";
				xml.loadXML( data );
			}
		} catch( e ) {
			xml = undefined;
		}
		if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
			jQuery.error( "Invalid XML: " + data );
		}
		return xml;
	},

	noop: function() {},

	// Evaluates a script in a global context
	// Workarounds based on findings by Jim Driscoll
	// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
	globalEval: function( data ) {
		if ( data && core_rnotwhite.test( data ) ) {
			// We use execScript on Internet Explorer
			// We use an anonymous function so that context is window
			// rather than jQuery in Firefox
			( window.execScript || function( data ) {
				window[ "eval" ].call( window, data );
			} )( data );
		}
	},

	// Convert dashed to camelCase; used by the css and data modules
	// Microsoft forgot to hump their vendor prefix (#9572)
	camelCase: function( string ) {
		return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
	},

	nodeName: function( elem, name ) {
		return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
	},

	// args is for internal usage only
	each: function( obj, callback, args ) {
		var name,
			i = 0,
			length = obj.length,
			isObj = length === undefined || jQuery.isFunction( obj );

		if ( args ) {
			if ( isObj ) {
				for ( name in obj ) {
					if ( callback.apply( obj[ name ], args ) === false ) {
						break;
					}
				}
			} else {
				for ( ; i < length; ) {
					if ( callback.apply( obj[ i++ ], args ) === false ) {
						break;
					}
				}
			}

		// A special, fast, case for the most common use of each
		} else {
			if ( isObj ) {
				for ( name in obj ) {
					if ( callback.call( obj[ name ], name, obj[ name ] ) === false ) {
						break;
					}
				}
			} else {
				for ( ; i < length; ) {
					if ( callback.call( obj[ i ], i, obj[ i++ ] ) === false ) {
						break;
					}
				}
			}
		}

		return obj;
	},

	// Use native String.trim function wherever possible
	trim: core_trim && !core_trim.call("\uFEFF\xA0") ?
		function( text ) {
			return text == null ?
				"" :
				core_trim.call( text );
		} :

		// Otherwise use our own trimming functionality
		function( text ) {
			return text == null ?
				"" :
				( text + "" ).replace( rtrim, "" );
		},

	// results is for internal usage only
	makeArray: function( arr, results ) {
		var type,
			ret = results || [];

		if ( arr != null ) {
			// The window, strings (and functions) also have 'length'
			// Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930
			type = jQuery.type( arr );

			if ( arr.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( arr ) ) {
				core_push.call( ret, arr );
			} else {
				jQuery.merge( ret, arr );
			}
		}

		return ret;
	},

	inArray: function( elem, arr, i ) {
		var len;

		if ( arr ) {
			if ( core_indexOf ) {
				return core_indexOf.call( arr, elem, i );
			}

			len = arr.length;
			i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;

			for ( ; i < len; i++ ) {
				// Skip accessing in sparse arrays
				if ( i in arr && arr[ i ] === elem ) {
					return i;
				}
			}
		}

		return -1;
	},

	merge: function( first, second ) {
		var l = second.length,
			i = first.length,
			j = 0;

		if ( typeof l === "number" ) {
			for ( ; j < l; j++ ) {
				first[ i++ ] = second[ j ];
			}

		} else {
			while ( second[j] !== undefined ) {
				first[ i++ ] = second[ j++ ];
			}
		}

		first.length = i;

		return first;
	},

	grep: function( elems, callback, inv ) {
		var retVal,
			ret = [],
			i = 0,
			length = elems.length;
		inv = !!inv;

		// Go through the array, only saving the items
		// that pass the validator function
		for ( ; i < length; i++ ) {
			retVal = !!callback( elems[ i ], i );
			if ( inv !== retVal ) {
				ret.push( elems[ i ] );
			}
		}

		return ret;
	},

	// arg is for internal usage only
	map: function( elems, callback, arg ) {
		var value, key,
			ret = [],
			i = 0,
			length = elems.length,
			// jquery objects are treated as arrays
			isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ;

		// Go through the array, translating each of the items to their
		if ( isArray ) {
			for ( ; i < length; i++ ) {
				value = callback( elems[ i ], i, arg );

				if ( value != null ) {
					ret[ ret.length ] = value;
				}
			}

		// Go through every key on the object,
		} else {
			for ( key in elems ) {
				value = callback( elems[ key ], key, arg );

				if ( value != null ) {
					ret[ ret.length ] = value;
				}
			}
		}

		// Flatten any nested arrays
		return ret.concat.apply( [], ret );
	},

	// A global GUID counter for objects
	guid: 1,

	// Bind a function to a context, optionally partially applying any
	// arguments.
	proxy: function( fn, context ) {
		var tmp, args, proxy;

		if ( typeof context === "string" ) {
			tmp = fn[ context ];
			context = fn;
			fn = tmp;
		}

		// Quick check to determine if target is callable, in the spec
		// this throws a TypeError, but we will just return undefined.
		if ( !jQuery.isFunction( fn ) ) {
			return undefined;
		}

		// Simulated bind
		args = core_slice.call( arguments, 2 );
		proxy = function() {
			return fn.apply( context, args.concat( core_slice.call( arguments ) ) );
		};

		// Set the guid of unique handler to the same of original handler, so it can be removed
		proxy.guid = fn.guid = fn.guid || jQuery.guid++;

		return proxy;
	},

	// Multifunctional method to get and set values of a collection
	// The value/s can optionally be executed if it's a function
	access: function( elems, fn, key, value, chainable, emptyGet, pass ) {
		var exec,
			bulk = key == null,
			i = 0,
			length = elems.length;

		// Sets many values
		if ( key && typeof key === "object" ) {
			for ( i in key ) {
				jQuery.access( elems, fn, i, key[i], 1, emptyGet, value );
			}
			chainable = 1;

		// Sets one value
		} else if ( value !== undefined ) {
			// Optionally, function values get executed if exec is true
			exec = pass === undefined && jQuery.isFunction( value );

			if ( bulk ) {
				// Bulk operations only iterate when executing function values
				if ( exec ) {
					exec = fn;
					fn = function( elem, key, value ) {
						return exec.call( jQuery( elem ), value );
					};

				// Otherwise they run against the entire set
				} else {
					fn.call( elems, value );
					fn = null;
				}
			}

			if ( fn ) {
				for (; i < length; i++ ) {
					fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
				}
			}

			chainable = 1;
		}

		return chainable ?
			elems :

			// Gets
			bulk ?
				fn.call( elems ) :
				length ? fn( elems[0], key ) : emptyGet;
	},

	now: function() {
		return ( new Date() ).getTime();
	}
});

jQuery.ready.promise = function( obj ) {
	if ( !readyList ) {

		readyList = jQuery.Deferred();

		// Catch cases where $(document).ready() is called after the browser event has already occurred.
		// we once tried to use readyState "interactive" here, but it caused issues like the one
		// discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
		if ( document.readyState === "complete" ) {
			// Handle it asynchronously to allow scripts the opportunity to delay ready
			setTimeout( jQuery.ready, 1 );

		// Standards-based browsers support DOMContentLoaded
		} else if ( document.addEventListener ) {
			// Use the handy event callback
			document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );

			// A fallback to window.onload, that will always work
			window.addEventListener( "load", jQuery.ready, false );

		// If IE event model is used
		} else {
			// Ensure firing before onload, maybe late but safe also for iframes
			document.attachEvent( "onreadystatechange", DOMContentLoaded );

			// A fallback to window.onload, that will always work
			window.attachEvent( "onload", jQuery.ready );

			// If IE and not a frame
			// continually check to see if the document is ready
			var top = false;

			try {
				top = window.frameElement == null && document.documentElement;
			} catch(e) {}

			if ( top && top.doScroll ) {
				(function doScrollCheck() {
					if ( !jQuery.isReady ) {

						try {
							// Use the trick by Diego Perini
							// http://javascript.nwbox.com/IEContentLoaded/
							top.doScroll("left");
						} catch(e) {
							return setTimeout( doScrollCheck, 50 );
						}

						// and execute any waiting functions
						jQuery.ready();
					}
				})();
			}
		}
	}
	return readyList.promise( obj );
};

// Populate the class2type map
jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
	class2type[ "[object " + name + "]" ] = name.toLowerCase();
});

// All jQuery objects should point back to these
rootjQuery = jQuery(document);
// String to Object options format cache
var optionsCache = {};

// Convert String-formatted options into Object-formatted ones and store in cache
function createOptions( options ) {
	var object = optionsCache[ options ] = {};
	jQuery.each( options.split( core_rspace ), function( _, flag ) {
		object[ flag ] = true;
	});
	return object;
}

/*
 * Create a callback list using the following parameters:
 *
 *	options: an optional list of space-separated options that will change how
 *			the callback list behaves or a more traditional option object
 *
 * By default a callback list will act like an event callback list and can be
 * "fired" multiple times.
 *
 * Possible options:
 *
 *	once:			will ensure the callback list can only be fired once (like a Deferred)
 *
 *	memory:			will keep track of previous values and will call any callback added
 *					after the list has been fired right away with the latest "memorized"
 *					values (like a Deferred)
 *
 *	unique:			will ensure a callback can only be added once (no duplicate in the list)
 *
 *	stopOnFalse:	interrupt callings when a callback returns false
 *
 */
jQuery.Callbacks = function( options ) {

	// Convert options from String-formatted to Object-formatted if needed
	// (we check in cache first)
	options = typeof options === "string" ?
		( optionsCache[ options ] || createOptions( options ) ) :
		jQuery.extend( {}, options );

	var // Last fire value (for non-forgettable lists)
		memory,
		// Flag to know if list was already fired
		fired,
		// Flag to know if list is currently firing
		firing,
		// First callback to fire (used internally by add and fireWith)
		firingStart,
		// End of the loop when firing
		firingLength,
		// Index of currently firing callback (modified by remove if needed)
		firingIndex,
		// Actual callback list
		list = [],
		// Stack of fire calls for repeatable lists
		stack = !options.once && [],
		// Fire callbacks
		fire = function( data ) {
			memory = options.memory && data;
			fired = true;
			firingIndex = firingStart || 0;
			firingStart = 0;
			firingLength = list.length;
			firing = true;
			for ( ; list && firingIndex < firingLength; firingIndex++ ) {
				if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {
					memory = false; // To prevent further calls using add
					break;
				}
			}
			firing = false;
			if ( list ) {
				if ( stack ) {
					if ( stack.length ) {
						fire( stack.shift() );
					}
				} else if ( memory ) {
					list = [];
				} else {
					self.disable();
				}
			}
		},
		// Actual Callbacks object
		self = {
			// Add a callback or a collection of callbacks to the list
			add: function() {
				if ( list ) {
					// First, we save the current length
					var start = list.length;
					(function add( args ) {
						jQuery.each( args, function( _, arg ) {
							var type = jQuery.type( arg );
							if ( type === "function" && ( !options.unique || !self.has( arg ) ) ) {
								list.push( arg );
							} else if ( arg && arg.length && type !== "string" ) {
								// Inspect recursively
								add( arg );
							}
						});
					})( arguments );
					// Do we need to add the callbacks to the
					// current firing batch?
					if ( firing ) {
						firingLength = list.length;
					// With memory, if we're not firing then
					// we should call right away
					} else if ( memory ) {
						firingStart = start;
						fire( memory );
					}
				}
				return this;
			},
			// Remove a callback from the list
			remove: function() {
				if ( list ) {
					jQuery.each( arguments, function( _, arg ) {
						var index;
						while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
							list.splice( index, 1 );
							// Handle firing indexes
							if ( firing ) {
								if ( index <= firingLength ) {
									firingLength--;
								}
								if ( index <= firingIndex ) {
									firingIndex--;
								}
							}
						}
					});
				}
				return this;
			},
			// Control if a given callback is in the list
			has: function( fn ) {
				return jQuery.inArray( fn, list ) > -1;
			},
			// Remove all callbacks from the list
			empty: function() {
				list = [];
				return this;
			},
			// Have the list do nothing anymore
			disable: function() {
				list = stack = memory = undefined;
				return this;
			},
			// Is it disabled?
			disabled: function() {
				return !list;
			},
			// Lock the list in its current state
			lock: function() {
				stack = undefined;
				if ( !memory ) {
					self.disable();
				}
				return this;
			},
			// Is it locked?
			locked: function() {
				return !stack;
			},
			// Call all callbacks with the given context and arguments
			fireWith: function( context, args ) {
				args = args || [];
				args = [ context, args.slice ? args.slice() : args ];
				if ( list && ( !fired || stack ) ) {
					if ( firing ) {
						stack.push( args );
					} else {
						fire( args );
					}
				}
				return this;
			},
			// Call all the callbacks with the given arguments
			fire: function() {
				self.fireWith( this, arguments );
				return this;
			},
			// To know if the callbacks have already been called at least once
			fired: function() {
				return !!fired;
			}
		};

	return self;
};
jQuery.extend({

	Deferred: function( func ) {
		var tuples = [
				// action, add listener, listener list, final state
				[ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ],
				[ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ],
				[ "notify", "progress", jQuery.Callbacks("memory") ]
			],
			state = "pending",
			promise = {
				state: function() {
					return state;
				},
				always: function() {
					deferred.done( arguments ).fail( arguments );
					return this;
				},
				then: function( /* fnDone, fnFail, fnProgress */ ) {
					var fns = arguments;
					return jQuery.Deferred(function( newDefer ) {
						jQuery.each( tuples, function( i, tuple ) {
							var action = tuple[ 0 ],
								fn = fns[ i ];
							// deferred[ done | fail | progress ] for forwarding actions to newDefer
							deferred[ tuple[1] ]( jQuery.isFunction( fn ) ?
								function() {
									var returned = fn.apply( this, arguments );
									if ( returned && jQuery.isFunction( returned.promise ) ) {
										returned.promise()
											.done( newDefer.resolve )
											.fail( newDefer.reject )
											.progress( newDefer.notify );
									} else {
										newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] );
									}
								} :
								newDefer[ action ]
							);
						});
						fns = null;
					}).promise();
				},
				// Get a promise for this deferred
				// If obj is provided, the promise aspect is added to the object
				promise: function( obj ) {
					return obj != null ? jQuery.extend( obj, promise ) : promise;
				}
			},
			deferred = {};

		// Keep pipe for back-compat
		promise.pipe = promise.then;

		// Add list-specific methods
		jQuery.each( tuples, function( i, tuple ) {
			var list = tuple[ 2 ],
				stateString = tuple[ 3 ];

			// promise[ done | fail | progress ] = list.add
			promise[ tuple[1] ] = list.add;

			// Handle state
			if ( stateString ) {
				list.add(function() {
					// state = [ resolved | rejected ]
					state = stateString;

				// [ reject_list | resolve_list ].disable; progress_list.lock
				}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
			}

			// deferred[ resolve | reject | notify ] = list.fire
			deferred[ tuple[0] ] = list.fire;
			deferred[ tuple[0] + "With" ] = list.fireWith;
		});

		// Make the deferred a promise
		promise.promise( deferred );

		// Call given func if any
		if ( func ) {
			func.call( deferred, deferred );
		}

		// All done!
		return deferred;
	},

	// Deferred helper
	when: function( subordinate /* , ..., subordinateN */ ) {
		var i = 0,
			resolveValues = core_slice.call( arguments ),
			length = resolveValues.length,

			// the count of uncompleted subordinates
			remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,

			// the master Deferred. If resolveValues consist of only a single Deferred, just use that.
			deferred = remaining === 1 ? subordinate : jQuery.Deferred(),

			// Update function for both resolve and progress values
			updateFunc = function( i, contexts, values ) {
				return function( value ) {
					contexts[ i ] = this;
					values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value;
					if( values === progressValues ) {
						deferred.notifyWith( contexts, values );
					} else if ( !( --remaining ) ) {
						deferred.resolveWith( contexts, values );
					}
				};
			},

			progressValues, progressContexts, resolveContexts;

		// add listeners to Deferred subordinates; treat others as resolved
		if ( length > 1 ) {
			progressValues = new Array( length );
			progressContexts = new Array( length );
			resolveContexts = new Array( length );
			for ( ; i < length; i++ ) {
				if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
					resolveValues[ i ].promise()
						.done( updateFunc( i, resolveContexts, resolveValues ) )
						.fail( deferred.reject )
						.progress( updateFunc( i, progressContexts, progressValues ) );
				} else {
					--remaining;
				}
			}
		}

		// if we're not waiting on anything, resolve the master
		if ( !remaining ) {
			deferred.resolveWith( resolveContexts, resolveValues );
		}

		return deferred.promise();
	}
});
jQuery.support = (function() {

	var support,
		all,
		a,
		select,
		opt,
		input,
		fragment,
		eventName,
		i,
		isSupported,
		clickFn,
		div = document.createElement("div");

	// Preliminary tests
	div.setAttribute( "className", "t" );
	div.innerHTML = "  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";

	all = div.getElementsByTagName("*");
	a = div.getElementsByTagName("a")[ 0 ];
	a.style.cssText = "top:1px;float:left;opacity:.5";

	// Can't get basic test support
	if ( !all || !all.length ) {
		return {};
	}

	// First batch of supports tests
	select = document.createElement("select");
	opt = select.appendChild( document.createElement("option") );
	input = div.getElementsByTagName("input")[ 0 ];

	support = {
		// IE strips leading whitespace when .innerHTML is used
		leadingWhitespace: ( div.firstChild.nodeType === 3 ),

		// Make sure that tbody elements aren't automatically inserted
		// IE will insert them into empty tables
		tbody: !div.getElementsByTagName("tbody").length,

		// Make sure that link elements get serialized correctly by innerHTML
		// This requires a wrapper element in IE
		htmlSerialize: !!div.getElementsByTagName("link").length,

		// Get the style information from getAttribute
		// (IE uses .cssText instead)
		style: /top/.test( a.getAttribute("style") ),

		// Make sure that URLs aren't manipulated
		// (IE normalizes it by default)
		hrefNormalized: ( a.getAttribute("href") === "/a" ),

		// Make sure that element opacity exists
		// (IE uses filter instead)
		// Use a regex to work around a WebKit issue. See #5145
		opacity: /^0.5/.test( a.style.opacity ),

		// Verify style float existence
		// (IE uses styleFloat instead of cssFloat)
		cssFloat: !!a.style.cssFloat,

		// Make sure that if no value is specified for a checkbox
		// that it defaults to "on".
		// (WebKit defaults to "" instead)
		checkOn: ( input.value === "on" ),

		// Make sure that a selected-by-default option has a working selected property.
		// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
		optSelected: opt.selected,

		// Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)
		getSetAttribute: div.className !== "t",

		// Tests for enctype support on a form(#6743)
		enctype: !!document.createElement("form").enctype,

		// Makes sure cloning an html5 element does not cause problems
		// Where outerHTML is undefined, this still works
		html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav></:nav>",

		// jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode
		boxModel: ( document.compatMode === "CSS1Compat" ),

		// Will be defined later
		submitBubbles: true,
		changeBubbles: true,
		focusinBubbles: false,
		deleteExpando: true,
		noCloneEvent: true,
		inlineBlockNeedsLayout: false,
		shrinkWrapBlocks: false,
		reliableMarginRight: true,
		boxSizingReliable: true,
		pixelPosition: false
	};

	// Make sure checked status is properly cloned
	input.checked = true;
	support.noCloneChecked = input.cloneNode( true ).checked;

	// Make sure that the options inside disabled selects aren't marked as disabled
	// (WebKit marks them as disabled)
	select.disabled = true;
	support.optDisabled = !opt.disabled;

	// Test to see if it's possible to delete an expando from an element
	// Fails in Internet Explorer
	try {
		delete div.test;
	} catch( e ) {
		support.deleteExpando = false;
	}

	if ( !div.addEventListener && div.attachEvent && div.fireEvent ) {
		div.attachEvent( "onclick", clickFn = function() {
			// Cloning a node shouldn't copy over any
			// bound event handlers (IE does this)
			support.noCloneEvent = false;
		});
		div.cloneNode( true ).fireEvent("onclick");
		div.detachEvent( "onclick", clickFn );
	}

	// Check if a radio maintains its value
	// after being appended to the DOM
	input = document.createElement("input");
	input.value = "t";
	input.setAttribute( "type", "radio" );
	support.radioValue = input.value === "t";

	input.setAttribute( "checked", "checked" );

	// #11217 - WebKit loses check when the name is after the checked attribute
	input.setAttribute( "name", "t" );

	div.appendChild( input );
	fragment = document.createDocumentFragment();
	fragment.appendChild( div.lastChild );

	// WebKit doesn't clone checked state correctly in fragments
	support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;

	// Check if a disconnected checkbox will retain its checked
	// value of true after appended to the DOM (IE6/7)
	support.appendChecked = input.checked;

	fragment.removeChild( input );
	fragment.appendChild( div );

	// Technique from Juriy Zaytsev
	// http://perfectionkills.com/detecting-event-support-without-browser-sniffing/
	// We only care about the case where non-standard event systems
	// are used, namely in IE. Short-circuiting here helps us to
	// avoid an eval call (in setAttribute) which can cause CSP
	// to go haywire. See: https://developer.mozilla.org/en/Security/CSP
	if ( div.attachEvent ) {
		for ( i in {
			submit: true,
			change: true,
			focusin: true
		}) {
			eventName = "on" + i;
			isSupported = ( eventName in div );
			if ( !isSupported ) {
				div.setAttribute( eventName, "return;" );
				isSupported = ( typeof div[ eventName ] === "function" );
			}
			support[ i + "Bubbles" ] = isSupported;
		}
	}

	// Run tests that need a body at doc ready
	jQuery(function() {
		var container, div, tds, marginDiv,
			divReset = "padding:0;margin:0;border:0;display:block;overflow:hidden;",
			body = document.getElementsByTagName("body")[0];

		if ( !body ) {
			// Return for frameset docs that don't have a body
			return;
		}

		container = document.createElement("div");
		container.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px";
		body.insertBefore( container, body.firstChild );

		// Construct the test element
		div = document.createElement("div");
		container.appendChild( div );

		// Check if table cells still have offsetWidth/Height when they are set
		// to display:none and there are still other visible table cells in a
		// table row; if so, offsetWidth/Height are not reliable for use when
		// determining if an element has been hidden directly using
		// display:none (it is still safe to use offsets if a parent element is
		// hidden; don safety goggles and see bug #4512 for more information).
		// (only IE 8 fails this test)
		div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>";
		tds = div.getElementsByTagName("td");
		tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none";
		isSupported = ( tds[ 0 ].offsetHeight === 0 );

		tds[ 0 ].style.display = "";
		tds[ 1 ].style.display = "none";

		// Check if empty table cells still have offsetWidth/Height
		// (IE <= 8 fail this test)
		support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 );

		// Check box-sizing and margin behavior
		div.innerHTML = "";
		div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";
		support.boxSizing = ( div.offsetWidth === 4 );
		support.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 );

		// NOTE: To any future maintainer, we've window.getComputedStyle
		// because jsdom on node.js will break without it.
		if ( window.getComputedStyle ) {
			support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%";
			support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px";

			// Check if div with explicit width and no margin-right incorrectly
			// gets computed margin-right based on width of container. For more
			// info see bug #3333
			// Fails in WebKit before Feb 2011 nightlies
			// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
			marginDiv = document.createElement("div");
			marginDiv.style.cssText = div.style.cssText = divReset;
			marginDiv.style.marginRight = marginDiv.style.width = "0";
			div.style.width = "1px";
			div.appendChild( marginDiv );
			support.reliableMarginRight =
				!parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight );
		}

		if ( typeof div.style.zoom !== "undefined" ) {
			// Check if natively block-level elements act like inline-block
			// elements when setting their display to 'inline' and giving
			// them layout
			// (IE < 8 does this)
			div.innerHTML = "";
			div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1";
			support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 );

			// Check if elements with layout shrink-wrap their children
			// (IE 6 does this)
			div.style.display = "block";
			div.style.overflow = "visible";
			div.innerHTML = "<div></div>";
			div.firstChild.style.width = "5px";
			support.shrinkWrapBlocks = ( div.offsetWidth !== 3 );

			container.style.zoom = 1;
		}

		// Null elements to avoid leaks in IE
		body.removeChild( container );
		container = div = tds = marginDiv = null;
	});

	// Null elements to avoid leaks in IE
	fragment.removeChild( div );
	all = a = select = opt = input = fragment = div = null;

	return support;
})();
var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
	rmultiDash = /([A-Z])/g;

jQuery.extend({
	cache: {},

	deletedIds: [],

	// Remove at next major release (1.9/2.0)
	uuid: 0,

	// Unique for each copy of jQuery on the page
	// Non-digits removed to match rinlinejQuery
	expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ),

	// The following elements throw uncatchable exceptions if you
	// attempt to add expando properties to them.
	noData: {
		"embed": true,
		// Ban all objects except for Flash (which handle expandos)
		"object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
		"applet": true
	},

	hasData: function( elem ) {
		elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ];
		return !!elem && !isEmptyDataObject( elem );
	},

	data: function( elem, name, data, pvt /* Internal Use Only */ ) {
		if ( !jQuery.acceptData( elem ) ) {
			return;
		}

		var thisCache, ret,
			internalKey = jQuery.expando,
			getByName = typeof name === "string",

			// We have to handle DOM nodes and JS objects differently because IE6-7
			// can't GC object references properly across the DOM-JS boundary
			isNode = elem.nodeType,

			// Only DOM nodes need the global jQuery cache; JS object data is
			// attached directly to the object so GC can occur automatically
			cache = isNode ? jQuery.cache : elem,

			// Only defining an ID for JS objects if its cache already exists allows
			// the code to shortcut on the same path as a DOM node with no cache
			id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey;

		// Avoid doing any more work than we need to when trying to get data on an
		// object that has no data at all
		if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) {
			return;
		}

		if ( !id ) {
			// Only DOM nodes need a new unique ID for each element since their data
			// ends up in the global cache
			if ( isNode ) {
				elem[ internalKey ] = id = jQuery.deletedIds.pop() || jQuery.guid++;
			} else {
				id = internalKey;
			}
		}

		if ( !cache[ id ] ) {
			cache[ id ] = {};

			// Avoids exposing jQuery metadata on plain JS objects when the object
			// is serialized using JSON.stringify
			if ( !isNode ) {
				cache[ id ].toJSON = jQuery.noop;
			}
		}

		// An object can be passed to jQuery.data instead of a key/value pair; this gets
		// shallow copied over onto the existing cache
		if ( typeof name === "object" || typeof name === "function" ) {
			if ( pvt ) {
				cache[ id ] = jQuery.extend( cache[ id ], name );
			} else {
				cache[ id ].data = jQuery.extend( cache[ id ].data, name );
			}
		}

		thisCache = cache[ id ];

		// jQuery data() is stored in a separate object inside the object's internal data
		// cache in order to avoid key collisions between internal data and user-defined
		// data.
		if ( !pvt ) {
			if ( !thisCache.data ) {
				thisCache.data = {};
			}

			thisCache = thisCache.data;
		}

		if ( data !== undefined ) {
			thisCache[ jQuery.camelCase( name ) ] = data;
		}

		// Check for both converted-to-camel and non-converted data property names
		// If a data property was specified
		if ( getByName ) {

			// First Try to find as-is property data
			ret = thisCache[ name ];

			// Test for null|undefined property data
			if ( ret == null ) {

				// Try to find the camelCased property
				ret = thisCache[ jQuery.camelCase( name ) ];
			}
		} else {
			ret = thisCache;
		}

		return ret;
	},

	removeData: function( elem, name, pvt /* Internal Use Only */ ) {
		if ( !jQuery.acceptData( elem ) ) {
			return;
		}

		var thisCache, i, l,

			isNode = elem.nodeType,

			// See jQuery.data for more information
			cache = isNode ? jQuery.cache : elem,
			id = isNode ? elem[ jQuery.expando ] : jQuery.expando;

		// If there is already no cache entry for this object, there is no
		// purpose in continuing
		if ( !cache[ id ] ) {
			return;
		}

		if ( name ) {

			thisCache = pvt ? cache[ id ] : cache[ id ].data;

			if ( thisCache ) {

				// Support array or space separated string names for data keys
				if ( !jQuery.isArray( name ) ) {

					// try the string as a key before any manipulation
					if ( name in thisCache ) {
						name = [ name ];
					} else {

						// split the camel cased version by spaces unless a key with the spaces exists
						name = jQuery.camelCase( name );
						if ( name in thisCache ) {
							name = [ name ];
						} else {
							name = name.split(" ");
						}
					}
				}

				for ( i = 0, l = name.length; i < l; i++ ) {
					delete thisCache[ name[i] ];
				}

				// If there is no data left in the cache, we want to continue
				// and let the cache object itself get destroyed
				if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) {
					return;
				}
			}
		}

		// See jQuery.data for more information
		if ( !pvt ) {
			delete cache[ id ].data;

			// Don't destroy the parent cache unless the internal data object
			// had been the only thing left in it
			if ( !isEmptyDataObject( cache[ id ] ) ) {
				return;
			}
		}

		// Destroy the cache
		if ( isNode ) {
			jQuery.cleanData( [ elem ], true );

		// Use delete when supported for expandos or `cache` is not a window per isWindow (#10080)
		} else if ( jQuery.support.deleteExpando || cache != cache.window ) {
			delete cache[ id ];

		// When all else fails, null
		} else {
			cache[ id ] = null;
		}
	},

	// For internal use only.
	_data: function( elem, name, data ) {
		return jQuery.data( elem, name, data, true );
	},

	// A method for determining if a DOM node can handle the data expando
	acceptData: function( elem ) {
		var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ];

		// nodes accept data unless otherwise specified; rejection can be conditional
		return !noData || noData !== true && elem.getAttribute("classid") === noData;
	}
});

jQuery.fn.extend({
	data: function( key, value ) {
		var parts, part, attr, name, l,
			elem = this[0],
			i = 0,
			data = null;

		// Gets all values
		if ( key === undefined ) {
			if ( this.length ) {
				data = jQuery.data( elem );

				if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) {
					attr = elem.attributes;
					for ( l = attr.length; i < l; i++ ) {
						name = attr[i].name;

						if ( !name.indexOf( "data-" ) ) {
							name = jQuery.camelCase( name.substring(5) );

							dataAttr( elem, name, data[ name ] );
						}
					}
					jQuery._data( elem, "parsedAttrs", true );
				}
			}

			return data;
		}

		// Sets multiple values
		if ( typeof key === "object" ) {
			return this.each(function() {
				jQuery.data( this, key );
			});
		}

		parts = key.split( ".", 2 );
		parts[1] = parts[1] ? "." + parts[1] : "";
		part = parts[1] + "!";

		return jQuery.access( this, function( value ) {

			if ( value === undefined ) {
				data = this.triggerHandler( "getData" + part, [ parts[0] ] );

				// Try to fetch any internally stored data first
				if ( data === undefined && elem ) {
					data = jQuery.data( elem, key );
					data = dataAttr( elem, key, data );
				}

				return data === undefined && parts[1] ?
					this.data( parts[0] ) :
					data;
			}

			parts[1] = value;
			this.each(function() {
				var self = jQuery( this );

				self.triggerHandler( "setData" + part, parts );
				jQuery.data( this, key, value );
				self.triggerHandler( "changeData" + part, parts );
			});
		}, null, value, arguments.length > 1, null, false );
	},

	removeData: function( key ) {
		return this.each(function() {
			jQuery.removeData( this, key );
		});
	}
});

function dataAttr( elem, key, data ) {
	// If nothing was found internally, try to fetch any
	// data from the HTML5 data-* attribute
	if ( data === undefined && elem.nodeType === 1 ) {

		var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();

		data = elem.getAttribute( name );

		if ( typeof data === "string" ) {
			try {
				data = data === "true" ? true :
				data === "false" ? false :
				data === "null" ? null :
				// Only convert to a number if it doesn't change the string
				+data + "" === data ? +data :
				rbrace.test( data ) ? jQuery.parseJSON( data ) :
					data;
			} catch( e ) {}

			// Make sure we set the data so it isn't changed later
			jQuery.data( elem, key, data );

		} else {
			data = undefined;
		}
	}

	return data;
}

// checks a cache object for emptiness
function isEmptyDataObject( obj ) {
	var name;
	for ( name in obj ) {

		// if the public data object is empty, the private is still empty
		if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) {
			continue;
		}
		if ( name !== "toJSON" ) {
			return false;
		}
	}

	return true;
}
jQuery.extend({
	queue: function( elem, type, data ) {
		var queue;

		if ( elem ) {
			type = ( type || "fx" ) + "queue";
			queue = jQuery._data( elem, type );

			// Speed up dequeue by getting out quickly if this is just a lookup
			if ( data ) {
				if ( !queue || jQuery.isArray(data) ) {
					queue = jQuery._data( elem, type, jQuery.makeArray(data) );
				} else {
					queue.push( data );
				}
			}
			return queue || [];
		}
	},

	dequeue: function( elem, type ) {
		type = type || "fx";

		var queue = jQuery.queue( elem, type ),
			startLength = queue.length,
			fn = queue.shift(),
			hooks = jQuery._queueHooks( elem, type ),
			next = function() {
				jQuery.dequeue( elem, type );
			};

		// If the fx queue is dequeued, always remove the progress sentinel
		if ( fn === "inprogress" ) {
			fn = queue.shift();
			startLength--;
		}

		if ( fn ) {

			// Add a progress sentinel to prevent the fx queue from being
			// automatically dequeued
			if ( type === "fx" ) {
				queue.unshift( "inprogress" );
			}

			// clear up the last queue stop function
			delete hooks.stop;
			fn.call( elem, next, hooks );
		}

		if ( !startLength && hooks ) {
			hooks.empty.fire();
		}
	},

	// not intended for public consumption - generates a queueHooks object, or returns the current one
	_queueHooks: function( elem, type ) {
		var key = type + "queueHooks";
		return jQuery._data( elem, key ) || jQuery._data( elem, key, {
			empty: jQuery.Callbacks("once memory").add(function() {
				jQuery.removeData( elem, type + "queue", true );
				jQuery.removeData( elem, key, true );
			})
		});
	}
});

jQuery.fn.extend({
	queue: function( type, data ) {
		var setter = 2;

		if ( typeof type !== "string" ) {
			data = type;
			type = "fx";
			setter--;
		}

		if ( arguments.length < setter ) {
			return jQuery.queue( this[0], type );
		}

		return data === undefined ?
			this :
			this.each(function() {
				var queue = jQuery.queue( this, type, data );

				// ensure a hooks for this queue
				jQuery._queueHooks( this, type );

				if ( type === "fx" && queue[0] !== "inprogress" ) {
					jQuery.dequeue( this, type );
				}
			});
	},
	dequeue: function( type ) {
		return this.each(function() {
			jQuery.dequeue( this, type );
		});
	},
	// Based off of the plugin by Clint Helfers, with permission.
	// http://blindsignals.com/index.php/2009/07/jquery-delay/
	delay: function( time, type ) {
		time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
		type = type || "fx";

		return this.queue( type, function( next, hooks ) {
			var timeout = setTimeout( next, time );
			hooks.stop = function() {
				clearTimeout( timeout );
			};
		});
	},
	clearQueue: function( type ) {
		return this.queue( type || "fx", [] );
	},
	// Get a promise resolved when queues of a certain type
	// are emptied (fx is the type by default)
	promise: function( type, obj ) {
		var tmp,
			count = 1,
			defer = jQuery.Deferred(),
			elements = this,
			i = this.length,
			resolve = function() {
				if ( !( --count ) ) {
					defer.resolveWith( elements, [ elements ] );
				}
			};

		if ( typeof type !== "string" ) {
			obj = type;
			type = undefined;
		}
		type = type || "fx";

		while( i-- ) {
			tmp = jQuery._data( elements[ i ], type + "queueHooks" );
			if ( tmp && tmp.empty ) {
				count++;
				tmp.empty.add( resolve );
			}
		}
		resolve();
		return defer.promise( obj );
	}
});
var nodeHook, boolHook, fixSpecified,
	rclass = /[\t\r\n]/g,
	rreturn = /\r/g,
	rtype = /^(?:button|input)$/i,
	rfocusable = /^(?:button|input|object|select|textarea)$/i,
	rclickable = /^a(?:rea|)$/i,
	rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
	getSetAttribute = jQuery.support.getSetAttribute;

jQuery.fn.extend({
	attr: function( name, value ) {
		return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 );
	},

	removeAttr: function( name ) {
		return this.each(function() {
			jQuery.removeAttr( this, name );
		});
	},

	prop: function( name, value ) {
		return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 );
	},

	removeProp: function( name ) {
		name = jQuery.propFix[ name ] || name;
		return this.each(function() {
			// try/catch handles cases where IE balks (such as removing a property on window)
			try {
				this[ name ] = undefined;
				delete this[ name ];
			} catch( e ) {}
		});
	},

	addClass: function( value ) {
		var classNames, i, l, elem,
			setClass, c, cl;

		if ( jQuery.isFunction( value ) ) {
			return this.each(function( j ) {
				jQuery( this ).addClass( value.call(this, j, this.className) );
			});
		}

		if ( value && typeof value === "string" ) {
			classNames = value.split( core_rspace );

			for ( i = 0, l = this.length; i < l; i++ ) {
				elem = this[ i ];

				if ( elem.nodeType === 1 ) {
					if ( !elem.className && classNames.length === 1 ) {
						elem.className = value;

					} else {
						setClass = " " + elem.className + " ";

						for ( c = 0, cl = classNames.length; c < cl; c++ ) {
							if ( setClass.indexOf( " " + classNames[ c ] + " " ) < 0 ) {
								setClass += classNames[ c ] + " ";
							}
						}
						elem.className = jQuery.trim( setClass );
					}
				}
			}
		}

		return this;
	},

	removeClass: function( value ) {
		var removes, className, elem, c, cl, i, l;

		if ( jQuery.isFunction( value ) ) {
			return this.each(function( j ) {
				jQuery( this ).removeClass( value.call(this, j, this.className) );
			});
		}
		if ( (value && typeof value === "string") || value === undefined ) {
			removes = ( value || "" ).split( core_rspace );

			for ( i = 0, l = this.length; i < l; i++ ) {
				elem = this[ i ];
				if ( elem.nodeType === 1 && elem.className ) {

					className = (" " + elem.className + " ").replace( rclass, " " );

					// loop over each item in the removal list
					for ( c = 0, cl = removes.length; c < cl; c++ ) {
						// Remove until there is nothing to remove,
						while ( className.indexOf(" " + removes[ c ] + " ") >= 0 ) {
							className = className.replace( " " + removes[ c ] + " " , " " );
						}
					}
					elem.className = value ? jQuery.trim( className ) : "";
				}
			}
		}

		return this;
	},

	toggleClass: function( value, stateVal ) {
		var type = typeof value,
			isBool = typeof stateVal === "boolean";

		if ( jQuery.isFunction( value ) ) {
			return this.each(function( i ) {
				jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );
			});
		}

		return this.each(function() {
			if ( type === "string" ) {
				// toggle individual class names
				var className,
					i = 0,
					self = jQuery( this ),
					state = stateVal,
					classNames = value.split( core_rspace );

				while ( (className = classNames[ i++ ]) ) {
					// check each className given, space separated list
					state = isBool ? state : !self.hasClass( className );
					self[ state ? "addClass" : "removeClass" ]( className );
				}

			} else if ( type === "undefined" || type === "boolean" ) {
				if ( this.className ) {
					// store className if set
					jQuery._data( this, "__className__", this.className );
				}

				// toggle whole className
				this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || "";
			}
		});
	},

	hasClass: function( selector ) {
		var className = " " + selector + " ",
			i = 0,
			l = this.length;
		for ( ; i < l; i++ ) {
			if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) {
				return true;
			}
		}

		return false;
	},

	val: function( value ) {
		var hooks, ret, isFunction,
			elem = this[0];

		if ( !arguments.length ) {
			if ( elem ) {
				hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];

				if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
					return ret;
				}

				ret = elem.value;

				return typeof ret === "string" ?
					// handle most common string cases
					ret.replace(rreturn, "") :
					// handle cases where value is null/undef or number
					ret == null ? "" : ret;
			}

			return;
		}

		isFunction = jQuery.isFunction( value );

		return this.each(function( i ) {
			var val,
				self = jQuery(this);

			if ( this.nodeType !== 1 ) {
				return;
			}

			if ( isFunction ) {
				val = value.call( this, i, self.val() );
			} else {
				val = value;
			}

			// Treat null/undefined as ""; convert numbers to string
			if ( val == null ) {
				val = "";
			} else if ( typeof val === "number" ) {
				val += "";
			} else if ( jQuery.isArray( val ) ) {
				val = jQuery.map(val, function ( value ) {
					return value == null ? "" : value + "";
				});
			}

			hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];

			// If set returns undefined, fall back to normal setting
			if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
				this.value = val;
			}
		});
	}
});

jQuery.extend({
	valHooks: {
		option: {
			get: function( elem ) {
				// attributes.value is undefined in Blackberry 4.7 but
				// uses .value. See #6932
				var val = elem.attributes.value;
				return !val || val.specified ? elem.value : elem.text;
			}
		},
		select: {
			get: function( elem ) {
				var value, i, max, option,
					index = elem.selectedIndex,
					values = [],
					options = elem.options,
					one = elem.type === "select-one";

				// Nothing was selected
				if ( index < 0 ) {
					return null;
				}

				// Loop through all the selected options
				i = one ? index : 0;
				max = one ? index + 1 : options.length;
				for ( ; i < max; i++ ) {
					option = options[ i ];

					// Don't return options that are disabled or in a disabled optgroup
					if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) &&
							(!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {

						// Get the specific value for the option
						value = jQuery( option ).val();

						// We don't need an array for one selects
						if ( one ) {
							return value;
						}

						// Multi-Selects return an array
						values.push( value );
					}
				}

				// Fixes Bug #2551 -- select.val() broken in IE after form.reset()
				if ( one && !values.length && options.length ) {
					return jQuery( options[ index ] ).val();
				}

				return values;
			},

			set: function( elem, value ) {
				var values = jQuery.makeArray( value );

				jQuery(elem).find("option").each(function() {
					this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
				});

				if ( !values.length ) {
					elem.selectedIndex = -1;
				}
				return values;
			}
		}
	},

	// Unused in 1.8, left in so attrFn-stabbers won't die; remove in 1.9
	attrFn: {},

	attr: function( elem, name, value, pass ) {
		var ret, hooks, notxml,
			nType = elem.nodeType;

		// don't get/set attributes on text, comment and attribute nodes
		if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
			return;
		}

		if ( pass && jQuery.isFunction( jQuery.fn[ name ] ) ) {
			return jQuery( elem )[ name ]( value );
		}

		// Fallback to prop when attributes are not supported
		if ( typeof elem.getAttribute === "undefined" ) {
			return jQuery.prop( elem, name, value );
		}

		notxml = nType !== 1 || !jQuery.isXMLDoc( elem );

		// All attributes are lowercase
		// Grab necessary hook if one is defined
		if ( notxml ) {
			name = name.toLowerCase();
			hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook );
		}

		if ( value !== undefined ) {

			if ( value === null ) {
				jQuery.removeAttr( elem, name );
				return;

			} else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) {
				return ret;

			} else {
				elem.setAttribute( name, value + "" );
				return value;
			}

		} else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) {
			return ret;

		} else {

			ret = elem.getAttribute( name );

			// Non-existent attributes return null, we normalize to undefined
			return ret === null ?
				undefined :
				ret;
		}
	},

	removeAttr: function( elem, value ) {
		var propName, attrNames, name, isBool,
			i = 0;

		if ( value && elem.nodeType === 1 ) {

			attrNames = value.split( core_rspace );

			for ( ; i < attrNames.length; i++ ) {
				name = attrNames[ i ];

				if ( name ) {
					propName = jQuery.propFix[ name ] || name;
					isBool = rboolean.test( name );

					// See #9699 for explanation of this approach (setting first, then removal)
					// Do not do this for boolean attributes (see #10870)
					if ( !isBool ) {
						jQuery.attr( elem, name, "" );
					}
					elem.removeAttribute( getSetAttribute ? name : propName );

					// Set corresponding property to false for boolean attributes
					if ( isBool && propName in elem ) {
						elem[ propName ] = false;
					}
				}
			}
		}
	},

	attrHooks: {
		type: {
			set: function( elem, value ) {
				// We can't allow the type property to be changed (since it causes problems in IE)
				if ( rtype.test( elem.nodeName ) && elem.parentNode ) {
					jQuery.error( "type property can't be changed" );
				} else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) {
					// Setting the type on a radio button after the value resets the value in IE6-9
					// Reset value to it's default in case type is set after value
					// This is for element creation
					var val = elem.value;
					elem.setAttribute( "type", value );
					if ( val ) {
						elem.value = val;
					}
					return value;
				}
			}
		},
		// Use the value property for back compat
		// Use the nodeHook for button elements in IE6/7 (#1954)
		value: {
			get: function( elem, name ) {
				if ( nodeHook && jQuery.nodeName( elem, "button" ) ) {
					return nodeHook.get( elem, name );
				}
				return name in elem ?
					elem.value :
					null;
			},
			set: function( elem, value, name ) {
				if ( nodeHook && jQuery.nodeName( elem, "button" ) ) {
					return nodeHook.set( elem, value, name );
				}
				// Does not return so that setAttribute is also used
				elem.value = value;
			}
		}
	},

	propFix: {
		tabindex: "tabIndex",
		readonly: "readOnly",
		"for": "htmlFor",
		"class": "className",
		maxlength: "maxLength",
		cellspacing: "cellSpacing",
		cellpadding: "cellPadding",
		rowspan: "rowSpan",
		colspan: "colSpan",
		usemap: "useMap",
		frameborder: "frameBorder",
		contenteditable: "contentEditable"
	},

	prop: function( elem, name, value ) {
		var ret, hooks, notxml,
			nType = elem.nodeType;

		// don't get/set properties on text, comment and attribute nodes
		if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
			return;
		}

		notxml = nType !== 1 || !jQuery.isXMLDoc( elem );

		if ( notxml ) {
			// Fix name and attach hooks
			name = jQuery.propFix[ name ] || name;
			hooks = jQuery.propHooks[ name ];
		}

		if ( value !== undefined ) {
			if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
				return ret;

			} else {
				return ( elem[ name ] = value );
			}

		} else {
			if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
				return ret;

			} else {
				return elem[ name ];
			}
		}
	},

	propHooks: {
		tabIndex: {
			get: function( elem ) {
				// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
				// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
				var attributeNode = elem.getAttributeNode("tabindex");

				return attributeNode && attributeNode.specified ?
					parseInt( attributeNode.value, 10 ) :
					rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
						0 :
						undefined;
			}
		}
	}
});

// Hook for boolean attributes
boolHook = {
	get: function( elem, name ) {
		// Align boolean attributes with corresponding properties
		// Fall back to attribute presence where some booleans are not supported
		var attrNode,
			property = jQuery.prop( elem, name );
		return property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?
			name.toLowerCase() :
			undefined;
	},
	set: function( elem, value, name ) {
		var propName;
		if ( value === false ) {
			// Remove boolean attributes when set to false
			jQuery.removeAttr( elem, name );
		} else {
			// value is true since we know at this point it's type boolean and not false
			// Set boolean attributes to the same name and set the DOM property
			propName = jQuery.propFix[ name ] || name;
			if ( propName in elem ) {
				// Only set the IDL specifically if it already exists on the element
				elem[ propName ] = true;
			}

			elem.setAttribute( name, name.toLowerCase() );
		}
		return name;
	}
};

// IE6/7 do not support getting/setting some attributes with get/setAttribute
if ( !getSetAttribute ) {

	fixSpecified = {
		name: true,
		id: true,
		coords: true
	};

	// Use this for any attribute in IE6/7
	// This fixes almost every IE6/7 issue
	nodeHook = jQuery.valHooks.button = {
		get: function( elem, name ) {
			var ret;
			ret = elem.getAttributeNode( name );
			return ret && ( fixSpecified[ name ] ? ret.value !== "" : ret.specified ) ?
				ret.value :
				undefined;
		},
		set: function( elem, value, name ) {
			// Set the existing or create a new attribute node
			var ret = elem.getAttributeNode( name );
			if ( !ret ) {
				ret = document.createAttribute( name );
				elem.setAttributeNode( ret );
			}
			return ( ret.value = value + "" );
		}
	};

	// Set width and height to auto instead of 0 on empty string( Bug #8150 )
	// This is for removals
	jQuery.each([ "width", "height" ], function( i, name ) {
		jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
			set: function( elem, value ) {
				if ( value === "" ) {
					elem.setAttribute( name, "auto" );
					return value;
				}
			}
		});
	});

	// Set contenteditable to false on removals(#10429)
	// Setting to empty string throws an error as an invalid value
	jQuery.attrHooks.contenteditable = {
		get: nodeHook.get,
		set: function( elem, value, name ) {
			if ( value === "" ) {
				value = "false";
			}
			nodeHook.set( elem, value, name );
		}
	};
}


// Some attributes require a special call on IE
if ( !jQuery.support.hrefNormalized ) {
	jQuery.each([ "href", "src", "width", "height" ], function( i, name ) {
		jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
			get: function( elem ) {
				var ret = elem.getAttribute( name, 2 );
				return ret === null ? undefined : ret;
			}
		});
	});
}

if ( !jQuery.support.style ) {
	jQuery.attrHooks.style = {
		get: function( elem ) {
			// Return undefined in the case of empty string
			// Normalize to lowercase since IE uppercases css property names
			return elem.style.cssText.toLowerCase() || undefined;
		},
		set: function( elem, value ) {
			return ( elem.style.cssText = value + "" );
		}
	};
}

// Safari mis-reports the default selected property of an option
// Accessing the parent's selectedIndex property fixes it
if ( !jQuery.support.optSelected ) {
	jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, {
		get: function( elem ) {
			var parent = elem.parentNode;

			if ( parent ) {
				parent.selectedIndex;

				// Make sure that it also works with optgroups, see #5701
				if ( parent.parentNode ) {
					parent.parentNode.selectedIndex;
				}
			}
			return null;
		}
	});
}

// IE6/7 call enctype encoding
if ( !jQuery.support.enctype ) {
	jQuery.propFix.enctype = "encoding";
}

// Radios and checkboxes getter/setter
if ( !jQuery.support.checkOn ) {
	jQuery.each([ "radio", "checkbox" ], function() {
		jQuery.valHooks[ this ] = {
			get: function( elem ) {
				// Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
				return elem.getAttribute("value") === null ? "on" : elem.value;
			}
		};
	});
}
jQuery.each([ "radio", "checkbox" ], function() {
	jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], {
		set: function( elem, value ) {
			if ( jQuery.isArray( value ) ) {
				return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );
			}
		}
	});
});
var rformElems = /^(?:textarea|input|select)$/i,
	rtypenamespace = /^([^\.]*|)(?:\.(.+)|)$/,
	rhoverHack = /(?:^|\s)hover(\.\S+|)\b/,
	rkeyEvent = /^key/,
	rmouseEvent = /^(?:mouse|contextmenu)|click/,
	rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
	hoverHack = function( events ) {
		return jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
	};

/*
 * Helper functions for managing events -- not part of the public interface.
 * Props to Dean Edwards' addEvent library for many of the ideas.
 */
jQuery.event = {

	add: function( elem, types, handler, data, selector ) {

		var elemData, eventHandle, events,
			t, tns, type, namespaces, handleObj,
			handleObjIn, handlers, special;

		// Don't attach events to noData or text/comment nodes (allow plain objects tho)
		if ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) {
			return;
		}

		// Caller can pass in an object of custom data in lieu of the handler
		if ( handler.handler ) {
			handleObjIn = handler;
			handler = handleObjIn.handler;
			selector = handleObjIn.selector;
		}

		// Make sure that the handler has a unique ID, used to find/remove it later
		if ( !handler.guid ) {
			handler.guid = jQuery.guid++;
		}

		// Init the element's event structure and main handler, if this is the first
		events = elemData.events;
		if ( !events ) {
			elemData.events = events = {};
		}
		eventHandle = elemData.handle;
		if ( !eventHandle ) {
			elemData.handle = eventHandle = function( e ) {
				// Discard the second event of a jQuery.event.trigger() and
				// when an event is called after a page has unloaded
				return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ?
					jQuery.event.dispatch.apply( eventHandle.elem, arguments ) :
					undefined;
			};
			// Add elem as a property of the handle fn to prevent a memory leak with IE non-native events
			eventHandle.elem = elem;
		}

		// Handle multiple events separated by a space
		// jQuery(...).bind("mouseover mouseout", fn);
		types = jQuery.trim( hoverHack(types) ).split( " " );
		for ( t = 0; t < types.length; t++ ) {

			tns = rtypenamespace.exec( types[t] ) || [];
			type = tns[1];
			namespaces = ( tns[2] || "" ).split( "." ).sort();

			// If event changes its type, use the special event handlers for the changed type
			special = jQuery.event.special[ type ] || {};

			// If selector defined, determine special event api type, otherwise given type
			type = ( selector ? special.delegateType : special.bindType ) || type;

			// Update special based on newly reset type
			special = jQuery.event.special[ type ] || {};

			// handleObj is passed to all event handlers
			handleObj = jQuery.extend({
				type: type,
				origType: tns[1],
				data: data,
				handler: handler,
				guid: handler.guid,
				selector: selector,
				needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
				namespace: namespaces.join(".")
			}, handleObjIn );

			// Init the event handler queue if we're the first
			handlers = events[ type ];
			if ( !handlers ) {
				handlers = events[ type ] = [];
				handlers.delegateCount = 0;

				// Only use addEventListener/attachEvent if the special events handler returns false
				if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
					// Bind the global event handler to the element
					if ( elem.addEventListener ) {
						elem.addEventListener( type, eventHandle, false );

					} else if ( elem.attachEvent ) {
						elem.attachEvent( "on" + type, eventHandle );
					}
				}
			}

			if ( special.add ) {
				special.add.call( elem, handleObj );

				if ( !handleObj.handler.guid ) {
					handleObj.handler.guid = handler.guid;
				}
			}

			// Add to the element's handler list, delegates in front
			if ( selector ) {
				handlers.splice( handlers.delegateCount++, 0, handleObj );
			} else {
				handlers.push( handleObj );
			}

			// Keep track of which events have ever been used, for event optimization
			jQuery.event.global[ type ] = true;
		}

		// Nullify elem to prevent memory leaks in IE
		elem = null;
	},

	global: {},

	// Detach an event or set of events from an element
	remove: function( elem, types, handler, selector, mappedTypes ) {

		var t, tns, type, origType, namespaces, origCount,
			j, events, special, eventType, handleObj,
			elemData = jQuery.hasData( elem ) && jQuery._data( elem );

		if ( !elemData || !(events = elemData.events) ) {
			return;
		}

		// Once for each type.namespace in types; type may be omitted
		types = jQuery.trim( hoverHack( types || "" ) ).split(" ");
		for ( t = 0; t < types.length; t++ ) {
			tns = rtypenamespace.exec( types[t] ) || [];
			type = origType = tns[1];
			namespaces = tns[2];

			// Unbind all events (on this namespace, if provided) for the element
			if ( !type ) {
				for ( type in events ) {
					jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
				}
				continue;
			}

			special = jQuery.event.special[ type ] || {};
			type = ( selector? special.delegateType : special.bindType ) || type;
			eventType = events[ type ] || [];
			origCount = eventType.length;
			namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null;

			// Remove matching events
			for ( j = 0; j < eventType.length; j++ ) {
				handleObj = eventType[ j ];

				if ( ( mappedTypes || origType === handleObj.origType ) &&
					 ( !handler || handler.guid === handleObj.guid ) &&
					 ( !namespaces || namespaces.test( handleObj.namespace ) ) &&
					 ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
					eventType.splice( j--, 1 );

					if ( handleObj.selector ) {
						eventType.delegateCount--;
					}
					if ( special.remove ) {
						special.remove.call( elem, handleObj );
					}
				}
			}

			// Remove generic event handler if we removed something and no more handlers exist
			// (avoids potential for endless recursion during removal of special event handlers)
			if ( eventType.length === 0 && origCount !== eventType.length ) {
				if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
					jQuery.removeEvent( elem, type, elemData.handle );
				}

				delete events[ type ];
			}
		}

		// Remove the expando if it's no longer used
		if ( jQuery.isEmptyObject( events ) ) {
			delete elemData.handle;

			// removeData also checks for emptiness and clears the expando if empty
			// so use it instead of delete
			jQuery.removeData( elem, "events", true );
		}
	},

	// Events that are safe to short-circuit if no handlers are attached.
	// Native DOM events should not be added, they may have inline handlers.
	customEvent: {
		"getData": true,
		"setData": true,
		"changeData": true
	},

	trigger: function( event, data, elem, onlyHandlers ) {
		// Don't do events on text and comment nodes
		if ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) {
			return;
		}

		// Event object or event type
		var cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType,
			type = event.type || event,
			namespaces = [];

		// focus/blur morphs to focusin/out; ensure we're not firing them right now
		if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
			return;
		}

		if ( type.indexOf( "!" ) >= 0 ) {
			// Exclusive events trigger only for the exact event (no namespaces)
			type = type.slice(0, -1);
			exclusive = true;
		}

		if ( type.indexOf( "." ) >= 0 ) {
			// Namespaced trigger; create a regexp to match event type in handle()
			namespaces = type.split(".");
			type = namespaces.shift();
			namespaces.sort();
		}

		if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) {
			// No jQuery handlers for this event type, and it can't have inline handlers
			return;
		}

		// Caller can pass in an Event, Object, or just an event type string
		event = typeof event === "object" ?
			// jQuery.Event object
			event[ jQuery.expando ] ? event :
			// Object literal
			new jQuery.Event( type, event ) :
			// Just the event type (string)
			new jQuery.Event( type );

		event.type = type;
		event.isTrigger = true;
		event.exclusive = exclusive;
		event.namespace = namespaces.join( "." );
		event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)") : null;
		ontype = type.indexOf( ":" ) < 0 ? "on" + type : "";

		// Handle a global trigger
		if ( !elem ) {

			// TODO: Stop taunting the data cache; remove global events and always attach to document
			cache = jQuery.cache;
			for ( i in cache ) {
				if ( cache[ i ].events && cache[ i ].events[ type ] ) {
					jQuery.event.trigger( event, data, cache[ i ].handle.elem, true );
				}
			}
			return;
		}

		// Clean up the event in case it is being reused
		event.result = undefined;
		if ( !event.target ) {
			event.target = elem;
		}

		// Clone any incoming data and prepend the event, creating the handler arg list
		data = data != null ? jQuery.makeArray( data ) : [];
		data.unshift( event );

		// Allow special events to draw outside the lines
		special = jQuery.event.special[ type ] || {};
		if ( special.trigger && special.trigger.apply( elem, data ) === false ) {
			return;
		}

		// Determine event propagation path in advance, per W3C events spec (#9951)
		// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
		eventPath = [[ elem, special.bindType || type ]];
		if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {

			bubbleType = special.delegateType || type;
			cur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode;
			for ( old = elem; cur; cur = cur.parentNode ) {
				eventPath.push([ cur, bubbleType ]);
				old = cur;
			}

			// Only add window if we got to document (e.g., not plain obj or detached DOM)
			if ( old === (elem.ownerDocument || document) ) {
				eventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]);
			}
		}

		// Fire handlers on the event path
		for ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) {

			cur = eventPath[i][0];
			event.type = eventPath[i][1];

			handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" );
			if ( handle ) {
				handle.apply( cur, data );
			}
			// Note that this is a bare JS function and not a jQuery handler
			handle = ontype && cur[ ontype ];
			if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) {
				event.preventDefault();
			}
		}
		event.type = type;

		// If nobody prevented the default action, do it now
		if ( !onlyHandlers && !event.isDefaultPrevented() ) {

			if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) &&
				!(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) {

				// Call a native DOM method on the target with the same name name as the event.
				// Can't use an .isFunction() check here because IE6/7 fails that test.
				// Don't do default actions on window, that's where global variables be (#6170)
				// IE<9 dies on focus/blur to hidden element (#1486)
				if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) {

					// Don't re-trigger an onFOO event when we call its FOO() method
					old = elem[ ontype ];

					if ( old ) {
						elem[ ontype ] = null;
					}

					// Prevent re-triggering of the same event, since we already bubbled it above
					jQuery.event.triggered = type;
					elem[ type ]();
					jQuery.event.triggered = undefined;

					if ( old ) {
						elem[ ontype ] = old;
					}
				}
			}
		}

		return event.result;
	},

	dispatch: function( event ) {

		// Make a writable jQuery.Event from the native event object
		event = jQuery.event.fix( event || window.event );

		var i, j, cur, ret, selMatch, matched, matches, handleObj, sel, related,
			handlers = ( (jQuery._data( this, "events" ) || {} )[ event.type ] || []),
			delegateCount = handlers.delegateCount,
			args = core_slice.call( arguments ),
			run_all = !event.exclusive && !event.namespace,
			special = jQuery.event.special[ event.type ] || {},
			handlerQueue = [];

		// Use the fix-ed jQuery.Event rather than the (read-only) native event
		args[0] = event;
		event.delegateTarget = this;

		// Call the preDispatch hook for the mapped type, and let it bail if desired
		if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
			return;
		}

		// Determine handlers that should run if there are delegated events
		// Avoid non-left-click bubbling in Firefox (#3861)
		if ( delegateCount && !(event.button && event.type === "click") ) {

			for ( cur = event.target; cur != this; cur = cur.parentNode || this ) {

				// Don't process clicks (ONLY) on disabled elements (#6911, #8165, #11382, #11764)
				if ( cur.disabled !== true || event.type !== "click" ) {
					selMatch = {};
					matches = [];
					for ( i = 0; i < delegateCount; i++ ) {
						handleObj = handlers[ i ];
						sel = handleObj.selector;

						if ( selMatch[ sel ] === undefined ) {
							selMatch[ sel ] = handleObj.needsContext ?
								jQuery( sel, this ).index( cur ) >= 0 :
								jQuery.find( sel, this, null, [ cur ] ).length;
						}
						if ( selMatch[ sel ] ) {
							matches.push( handleObj );
						}
					}
					if ( matches.length ) {
						handlerQueue.push({ elem: cur, matches: matches });
					}
				}
			}
		}

		// Add the remaining (directly-bound) handlers
		if ( handlers.length > delegateCount ) {
			handlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) });
		}

		// Run delegates first; they may want to stop propagation beneath us
		for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) {
			matched = handlerQueue[ i ];
			event.currentTarget = matched.elem;

			for ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) {
				handleObj = matched.matches[ j ];

				// Triggered event must either 1) be non-exclusive and have no namespace, or
				// 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
				if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) {

					event.data = handleObj.data;
					event.handleObj = handleObj;

					ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
							.apply( matched.elem, args );

					if ( ret !== undefined ) {
						event.result = ret;
						if ( ret === false ) {
							event.preventDefault();
							event.stopPropagation();
						}
					}
				}
			}
		}

		// Call the postDispatch hook for the mapped type
		if ( special.postDispatch ) {
			special.postDispatch.call( this, event );
		}

		return event.result;
	},

	// Includes some event props shared by KeyEvent and MouseEvent
	// *** attrChange attrName relatedNode srcElement  are not normalized, non-W3C, deprecated, will be removed in 1.8 ***
	props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),

	fixHooks: {},

	keyHooks: {
		props: "char charCode key keyCode".split(" "),
		filter: function( event, original ) {

			// Add which for key events
			if ( event.which == null ) {
				event.which = original.charCode != null ? original.charCode : original.keyCode;
			}

			return event;
		}
	},

	mouseHooks: {
		props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
		filter: function( event, original ) {
			var eventDoc, doc, body,
				button = original.button,
				fromElement = original.fromElement;

			// Calculate pageX/Y if missing and clientX/Y available
			if ( event.pageX == null && original.clientX != null ) {
				eventDoc = event.target.ownerDocument || document;
				doc = eventDoc.documentElement;
				body = eventDoc.body;

				event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );
				event.pageY = original.clientY + ( doc && doc.scrollTop  || body && body.scrollTop  || 0 ) - ( doc && doc.clientTop  || body && body.clientTop  || 0 );
			}

			// Add relatedTarget, if necessary
			if ( !event.relatedTarget && fromElement ) {
				event.relatedTarget = fromElement === event.target ? original.toElement : fromElement;
			}

			// Add which for click: 1 === left; 2 === middle; 3 === right
			// Note: button is not normalized, so don't use it
			if ( !event.which && button !== undefined ) {
				event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
			}

			return event;
		}
	},

	fix: function( event ) {
		if ( event[ jQuery.expando ] ) {
			return event;
		}

		// Create a writable copy of the event object and normalize some properties
		var i, prop,
			originalEvent = event,
			fixHook = jQuery.event.fixHooks[ event.type ] || {},
			copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;

		event = jQuery.Event( originalEvent );

		for ( i = copy.length; i; ) {
			prop = copy[ --i ];
			event[ prop ] = originalEvent[ prop ];
		}

		// Fix target property, if necessary (#1925, IE 6/7/8 & Safari2)
		if ( !event.target ) {
			event.target = originalEvent.srcElement || document;
		}

		// Target should not be a text node (#504, Safari)
		if ( event.target.nodeType === 3 ) {
			event.target = event.target.parentNode;
		}

		// For mouse/key events, metaKey==false if it's undefined (#3368, #11328; IE6/7/8)
		event.metaKey = !!event.metaKey;

		return fixHook.filter? fixHook.filter( event, originalEvent ) : event;
	},

	special: {
		load: {
			// Prevent triggered image.load events from bubbling to window.load
			noBubble: true
		},

		focus: {
			delegateType: "focusin"
		},
		blur: {
			delegateType: "focusout"
		},

		beforeunload: {
			setup: function( data, namespaces, eventHandle ) {
				// We only want to do this special case on windows
				if ( jQuery.isWindow( this ) ) {
					this.onbeforeunload = eventHandle;
				}
			},

			teardown: function( namespaces, eventHandle ) {
				if ( this.onbeforeunload === eventHandle ) {
					this.onbeforeunload = null;
				}
			}
		}
	},

	simulate: function( type, elem, event, bubble ) {
		// Piggyback on a donor event to simulate a different one.
		// Fake originalEvent to avoid donor's stopPropagation, but if the
		// simulated event prevents default then we do the same on the donor.
		var e = jQuery.extend(
			new jQuery.Event(),
			event,
			{ type: type,
				isSimulated: true,
				originalEvent: {}
			}
		);
		if ( bubble ) {
			jQuery.event.trigger( e, null, elem );
		} else {
			jQuery.event.dispatch.call( elem, e );
		}
		if ( e.isDefaultPrevented() ) {
			event.preventDefault();
		}
	}
};

// Some plugins are using, but it's undocumented/deprecated and will be removed.
// The 1.7 special event interface should provide all the hooks needed now.
jQuery.event.handle = jQuery.event.dispatch;

jQuery.removeEvent = document.removeEventListener ?
	function( elem, type, handle ) {
		if ( elem.removeEventListener ) {
			elem.removeEventListener( type, handle, false );
		}
	} :
	function( elem, type, handle ) {
		var name = "on" + type;

		if ( elem.detachEvent ) {

			// #8545, #7054, preventing memory leaks for custom events in IE6-8 â
			// detachEvent needed property on element, by name of that event, to properly expose it to GC
			if ( typeof elem[ name ] === "undefined" ) {
				elem[ name ] = null;
			}

			elem.detachEvent( name, handle );
		}
	};

jQuery.Event = function( src, props ) {
	// Allow instantiation without the 'new' keyword
	if ( !(this instanceof jQuery.Event) ) {
		return new jQuery.Event( src, props );
	}

	// Event object
	if ( src && src.type ) {
		this.originalEvent = src;
		this.type = src.type;

		// Events bubbling up the document may have been marked as prevented
		// by a handler lower down the tree; reflect the correct value.
		this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false ||
			src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;

	// Event type
	} else {
		this.type = src;
	}

	// Put explicitly provided properties onto the event object
	if ( props ) {
		jQuery.extend( this, props );
	}

	// Create a timestamp if incoming event doesn't have one
	this.timeStamp = src && src.timeStamp || jQuery.now();

	// Mark it as fixed
	this[ jQuery.expando ] = true;
};

function returnFalse() {
	return false;
}
function returnTrue() {
	return true;
}

// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
jQuery.Event.prototype = {
	preventDefault: function() {
		this.isDefaultPrevented = returnTrue;

		var e = this.originalEvent;
		if ( !e ) {
			return;
		}

		// if preventDefault exists run it on the original event
		if ( e.preventDefault ) {
			e.preventDefault();

		// otherwise set the returnValue property of the original event to false (IE)
		} else {
			e.returnValue = false;
		}
	},
	stopPropagation: function() {
		this.isPropagationStopped = returnTrue;

		var e = this.originalEvent;
		if ( !e ) {
			return;
		}
		// if stopPropagation exists run it on the original event
		if ( e.stopPropagation ) {
			e.stopPropagation();
		}
		// otherwise set the cancelBubble property of the original event to true (IE)
		e.cancelBubble = true;
	},
	stopImmediatePropagation: function() {
		this.isImmediatePropagationStopped = returnTrue;
		this.stopPropagation();
	},
	isDefaultPrevented: returnFalse,
	isPropagationStopped: returnFalse,
	isImmediatePropagationStopped: returnFalse
};

// Create mouseenter/leave events using mouseover/out and event-time checks
jQuery.each({
	mouseenter: "mouseover",
	mouseleave: "mouseout"
}, function( orig, fix ) {
	jQuery.event.special[ orig ] = {
		delegateType: fix,
		bindType: fix,

		handle: function( event ) {
			var ret,
				target = this,
				related = event.relatedTarget,
				handleObj = event.handleObj,
				selector = handleObj.selector;

			// For mousenter/leave call the handler if related is outside the target.
			// NB: No relatedTarget if the mouse left/entered the browser window
			if ( !related || (related !== target && !jQuery.contains( target, related )) ) {
				event.type = handleObj.origType;
				ret = handleObj.handler.apply( this, arguments );
				event.type = fix;
			}
			return ret;
		}
	};
});

// IE submit delegation
if ( !jQuery.support.submitBubbles ) {

	jQuery.event.special.submit = {
		setup: function() {
			// Only need this for delegated form submit events
			if ( jQuery.nodeName( this, "form" ) ) {
				return false;
			}

			// Lazy-add a submit handler when a descendant form may potentially be submitted
			jQuery.event.add( this, "click._submit keypress._submit", function( e ) {
				// Node name check avoids a VML-related crash in IE (#9807)
				var elem = e.target,
					form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined;
				if ( form && !jQuery._data( form, "_submit_attached" ) ) {
					jQuery.event.add( form, "submit._submit", function( event ) {
						event._submit_bubble = true;
					});
					jQuery._data( form, "_submit_attached", true );
				}
			});
			// return undefined since we don't need an event listener
		},

		postDispatch: function( event ) {
			// If form was submitted by the user, bubble the event up the tree
			if ( event._submit_bubble ) {
				delete event._submit_bubble;
				if ( this.parentNode && !event.isTrigger ) {
					jQuery.event.simulate( "submit", this.parentNode, event, true );
				}
			}
		},

		teardown: function() {
			// Only need this for delegated form submit events
			if ( jQuery.nodeName( this, "form" ) ) {
				return false;
			}

			// Remove delegated handlers; cleanData eventually reaps submit handlers attached above
			jQuery.event.remove( this, "._submit" );
		}
	};
}

// IE change delegation and checkbox/radio fix
if ( !jQuery.support.changeBubbles ) {

	jQuery.event.special.change = {

		setup: function() {

			if ( rformElems.test( this.nodeName ) ) {
				// IE doesn't fire change on a check/radio until blur; trigger it on click
				// after a propertychange. Eat the blur-change in special.change.handle.
				// This still fires onchange a second time for check/radio after blur.
				if ( this.type === "checkbox" || this.type === "radio" ) {
					jQuery.event.add( this, "propertychange._change", function( event ) {
						if ( event.originalEvent.propertyName === "checked" ) {
							this._just_changed = true;
						}
					});
					jQuery.event.add( this, "click._change", function( event ) {
						if ( this._just_changed && !event.isTrigger ) {
							this._just_changed = false;
						}
						// Allow triggered, simulated change events (#11500)
						jQuery.event.simulate( "change", this, event, true );
					});
				}
				return false;
			}
			// Delegated event; lazy-add a change handler on descendant inputs
			jQuery.event.add( this, "beforeactivate._change", function( e ) {
				var elem = e.target;

				if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "_change_attached" ) ) {
					jQuery.event.add( elem, "change._change", function( event ) {
						if ( this.parentNode && !event.isSimulated && !event.isTrigger ) {
							jQuery.event.simulate( "change", this.parentNode, event, true );
						}
					});
					jQuery._data( elem, "_change_attached", true );
				}
			});
		},

		handle: function( event ) {
			var elem = event.target;

			// Swallow native change events from checkbox/radio, we already triggered them above
			if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) {
				return event.handleObj.handler.apply( this, arguments );
			}
		},

		teardown: function() {
			jQuery.event.remove( this, "._change" );

			return !rformElems.test( this.nodeName );
		}
	};
}

// Create "bubbling" focus and blur events
if ( !jQuery.support.focusinBubbles ) {
	jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {

		// Attach a single capturing handler while someone wants focusin/focusout
		var attaches = 0,
			handler = function( event ) {
				jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );
			};

		jQuery.event.special[ fix ] = {
			setup: function() {
				if ( attaches++ === 0 ) {
					document.addEventListener( orig, handler, true );
				}
			},
			teardown: function() {
				if ( --attaches === 0 ) {
					document.removeEventListener( orig, handler, true );
				}
			}
		};
	});
}

jQuery.fn.extend({

	on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
		var origFn, type;

		// Types can be a map of types/handlers
		if ( typeof types === "object" ) {
			// ( types-Object, selector, data )
			if ( typeof selector !== "string" ) { // && selector != null
				// ( types-Object, data )
				data = data || selector;
				selector = undefined;
			}
			for ( type in types ) {
				this.on( type, selector, data, types[ type ], one );
			}
			return this;
		}

		if ( data == null && fn == null ) {
			// ( types, fn )
			fn = selector;
			data = selector = undefined;
		} else if ( fn == null ) {
			if ( typeof selector === "string" ) {
				// ( types, selector, fn )
				fn = data;
				data = undefined;
			} else {
				// ( types, data, fn )
				fn = data;
				data = selector;
				selector = undefined;
			}
		}
		if ( fn === false ) {
			fn = returnFalse;
		} else if ( !fn ) {
			return this;
		}

		if ( one === 1 ) {
			origFn = fn;
			fn = function( event ) {
				// Can use an empty set, since event contains the info
				jQuery().off( event );
				return origFn.apply( this, arguments );
			};
			// Use same guid so caller can remove using origFn
			fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
		}
		return this.each( function() {
			jQuery.event.add( this, types, fn, data, selector );
		});
	},
	one: function( types, selector, data, fn ) {
		return this.on( types, selector, data, fn, 1 );
	},
	off: function( types, selector, fn ) {
		var handleObj, type;
		if ( types && types.preventDefault && types.handleObj ) {
			// ( event )  dispatched jQuery.Event
			handleObj = types.handleObj;
			jQuery( types.delegateTarget ).off(
				handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType,
				handleObj.selector,
				handleObj.handler
			);
			return this;
		}
		if ( typeof types === "object" ) {
			// ( types-object [, selector] )
			for ( type in types ) {
				this.off( type, selector, types[ type ] );
			}
			return this;
		}
		if ( selector === false || typeof selector === "function" ) {
			// ( types [, fn] )
			fn = selector;
			selector = undefined;
		}
		if ( fn === false ) {
			fn = returnFalse;
		}
		return this.each(function() {
			jQuery.event.remove( this, types, fn, selector );
		});
	},

	bind: function( types, data, fn ) {
		return this.on( types, null, data, fn );
	},
	unbind: function( types, fn ) {
		return this.off( types, null, fn );
	},

	live: function( types, data, fn ) {
		jQuery( this.context ).on( types, this.selector, data, fn );
		return this;
	},
	die: function( types, fn ) {
		jQuery( this.context ).off( types, this.selector || "**", fn );
		return this;
	},

	delegate: function( selector, types, data, fn ) {
		return this.on( types, selector, data, fn );
	},
	undelegate: function( selector, types, fn ) {
		// ( namespace ) or ( selector, types [, fn] )
		return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn );
	},

	trigger: function( type, data ) {
		return this.each(function() {
			jQuery.event.trigger( type, data, this );
		});
	},
	triggerHandler: function( type, data ) {
		if ( this[0] ) {
			return jQuery.event.trigger( type, data, this[0], true );
		}
	},

	toggle: function( fn ) {
		// Save reference to arguments for access in closure
		var args = arguments,
			guid = fn.guid || jQuery.guid++,
			i = 0,
			toggler = function( event ) {
				// Figure out which function to execute
				var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
				jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );

				// Make sure that clicks stop
				event.preventDefault();

				// and execute the function
				return args[ lastToggle ].apply( this, arguments ) || false;
			};

		// link all the functions, so any of them can unbind this click handler
		toggler.guid = guid;
		while ( i < args.length ) {
			args[ i++ ].guid = guid;
		}

		return this.click( toggler );
	},

	hover: function( fnOver, fnOut ) {
		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
	}
});

jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
	"change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {

	// Handle event binding
	jQuery.fn[ name ] = function( data, fn ) {
		if ( fn == null ) {
			fn = data;
			data = null;
		}

		return arguments.length > 0 ?
			this.on( name, null, data, fn ) :
			this.trigger( name );
	};

	if ( rkeyEvent.test( name ) ) {
		jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks;
	}

	if ( rmouseEvent.test( name ) ) {
		jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks;
	}
});
/*!
 * Sizzle CSS Selector Engine
 * Copyright 2012 jQuery Foundation and other contributors
 * Released under the MIT license
 * http://sizzlejs.com/
 */
(function( window, undefined ) {

var cachedruns,
	assertGetIdNotName,
	Expr,
	getText,
	isXML,
	contains,
	compile,
	sortOrder,
	hasDuplicate,
	outermostContext,

	baseHasDuplicate = true,
	strundefined = "undefined",

	expando = ( "sizcache" + Math.random() ).replace( ".", "" ),

	Token = String,
	document = window.document,
	docElem = document.documentElement,
	dirruns = 0,
	done = 0,
	pop = [].pop,
	push = [].push,
	slice = [].slice,
	// Use a stripped-down indexOf if a native one is unavailable
	indexOf = [].indexOf || function( elem ) {
		var i = 0,
			len = this.length;
		for ( ; i < len; i++ ) {
			if ( this[i] === elem ) {
				return i;
			}
		}
		return -1;
	},

	// Augment a function for special use by Sizzle
	markFunction = function( fn, value ) {
		fn[ expando ] = value == null || value;
		return fn;
	},

	createCache = function() {
		var cache = {},
			keys = [];

		return markFunction(function( key, value ) {
			// Only keep the most recent entries
			if ( keys.push( key ) > Expr.cacheLength ) {
				delete cache[ keys.shift() ];
			}

			return (cache[ key ] = value);
		}, cache );
	},

	classCache = createCache(),
	tokenCache = createCache(),
	compilerCache = createCache(),

	// Regex

	// Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace
	whitespace = "[\\x20\\t\\r\\n\\f]",
	// http://www.w3.org/TR/css3-syntax/#characters
	characterEncoding = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",

	// Loosely modeled on CSS identifier characters
	// An unquoted value should be a CSS identifier (http://www.w3.org/TR/css3-selectors/#attribute-selectors)
	// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
	identifier = characterEncoding.replace( "w", "w#" ),

	// Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors
	operators = "([*^$|!~]?=)",
	attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
		"*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",

	// Prefer arguments not in parens/brackets,
	//   then attribute selectors and non-pseudos (denoted by :),
	//   then anything else
	// These preferences are here to reduce the number of selectors
	//   needing tokenize in the PSEUDO preFilter
	pseudos = ":(" + characterEncoding + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + attributes + ")|[^:]|\\\\.)*|.*))\\)|)",

	// For matchExpr.POS and matchExpr.needsContext
	pos = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
		"*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)",

	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),

	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
	rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ),
	rpseudo = new RegExp( pseudos ),

	// Easily-parseable/retrievable ID or TAG or CLASS selectors
	rquickExpr = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,

	rnot = /^:not/,
	rsibling = /[\x20\t\r\n\f]*[+~]/,
	rendsWithNot = /:not\($/,

	rheader = /h\d/i,
	rinputs = /input|select|textarea|button/i,

	rbackslash = /\\(?!\\)/g,

	matchExpr = {
		"ID": new RegExp( "^#(" + characterEncoding + ")" ),
		"CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ),
		"NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ),
		"TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ),
		"ATTR": new RegExp( "^" + attributes ),
		"PSEUDO": new RegExp( "^" + pseudos ),
		"POS": new RegExp( pos, "i" ),
		"CHILD": new RegExp( "^:(only|nth|first|last)-child(?:\\(" + whitespace +
			"*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
			"*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
		// For use in libraries implementing .is()
		"needsContext": new RegExp( "^" + whitespace + "*[>+~]|" + pos, "i" )
	},

	// Support

	// Used for testing something on an element
	assert = function( fn ) {
		var div = document.createElement("div");

		try {
			return fn( div );
		} catch (e) {
			return false;
		} finally {
			// release memory in IE
			div = null;
		}
	},

	// Check if getElementsByTagName("*") returns only elements
	assertTagNameNoComments = assert(function( div ) {
		div.appendChild( document.createComment("") );
		return !div.getElementsByTagName("*").length;
	}),

	// Check if getAttribute returns normalized href attributes
	assertHrefNotNormalized = assert(function( div ) {
		div.innerHTML = "<a href='#'></a>";
		return div.firstChild && typeof div.firstChild.getAttribute !== strundefined &&
			div.firstChild.getAttribute("href") === "#";
	}),

	// Check if attributes should be retrieved by attribute nodes
	assertAttributes = assert(function( div ) {
		div.innerHTML = "<select></select>";
		var type = typeof div.lastChild.getAttribute("multiple");
		// IE8 returns a string for some attributes even when not present
		return type !== "boolean" && type !== "string";
	}),

	// Check if getElementsByClassName can be trusted
	assertUsableClassName = assert(function( div ) {
		// Opera can't find a second classname (in 9.6)
		div.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>";
		if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) {
			return false;
		}

		// Safari 3.2 caches class attributes and doesn't catch changes
		div.lastChild.className = "e";
		return div.getElementsByClassName("e").length === 2;
	}),

	// Check if getElementById returns elements by name
	// Check if getElementsByName privileges form controls or returns elements by ID
	assertUsableName = assert(function( div ) {
		// Inject content
		div.id = expando + 0;
		div.innerHTML = "<a name='" + expando + "'></a><div name='" + expando + "'></div>";
		docElem.insertBefore( div, docElem.firstChild );

		// Test
		var pass = document.getElementsByName &&
			// buggy browsers will return fewer than the correct 2
			document.getElementsByName( expando ).length === 2 +
			// buggy browsers will return more than the correct 0
			document.getElementsByName( expando + 0 ).length;
		assertGetIdNotName = !document.getElementById( expando );

		// Cleanup
		docElem.removeChild( div );

		return pass;
	});

// If slice is not available, provide a backup
try {
	slice.call( docElem.childNodes, 0 )[0].nodeType;
} catch ( e ) {
	slice = function( i ) {
		var elem,
			results = [];
		for ( ; (elem = this[i]); i++ ) {
			results.push( elem );
		}
		return results;
	};
}

function Sizzle( selector, context, results, seed ) {
	results = results || [];
	context = context || document;
	var match, elem, xml, m,
		nodeType = context.nodeType;

	if ( !selector || typeof selector !== "string" ) {
		return results;
	}

	if ( nodeType !== 1 && nodeType !== 9 ) {
		return [];
	}

	xml = isXML( context );

	if ( !xml && !seed ) {
		if ( (match = rquickExpr.exec( selector )) ) {
			// Speed-up: Sizzle("#ID")
			if ( (m = match[1]) ) {
				if ( nodeType === 9 ) {
					elem = context.getElementById( m );
					// Check parentNode to catch when Blackberry 4.6 returns
					// nodes that are no longer in the document #6963
					if ( elem && elem.parentNode ) {
						// Handle the case where IE, Opera, and Webkit return items
						// by name instead of ID
						if ( elem.id === m ) {
							results.push( elem );
							return results;
						}
					} else {
						return results;
					}
				} else {
					// Context is not a document
					if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&
						contains( context, elem ) && elem.id === m ) {
						results.push( elem );
						return results;
					}
				}

			// Speed-up: Sizzle("TAG")
			} else if ( match[2] ) {
				push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) );
				return results;

			// Speed-up: Sizzle(".CLASS")
			} else if ( (m = match[3]) && assertUsableClassName && context.getElementsByClassName ) {
				push.apply( results, slice.call(context.getElementsByClassName( m ), 0) );
				return results;
			}
		}
	}

	// All others
	return select( selector.replace( rtrim, "$1" ), context, results, seed, xml );
}

Sizzle.matches = function( expr, elements ) {
	return Sizzle( expr, null, null, elements );
};

Sizzle.matchesSelector = function( elem, expr ) {
	return Sizzle( expr, null, null, [ elem ] ).length > 0;
};

// Returns a function to use in pseudos for input types
function createInputPseudo( type ) {
	return function( elem ) {
		var name = elem.nodeName.toLowerCase();
		return name === "input" && elem.type === type;
	};
}

// Returns a function to use in pseudos for buttons
function createButtonPseudo( type ) {
	return function( elem ) {
		var name = elem.nodeName.toLowerCase();
		return (name === "input" || name === "button") && elem.type === type;
	};
}

// Returns a function to use in pseudos for positionals
function createPositionalPseudo( fn ) {
	return markFunction(function( argument ) {
		argument = +argument;
		return markFunction(function( seed, matches ) {
			var j,
				matchIndexes = fn( [], seed.length, argument ),
				i = matchIndexes.length;

			// Match elements found at the specified indexes
			while ( i-- ) {
				if ( seed[ (j = matchIndexes[i]) ] ) {
					seed[j] = !(matches[j] = seed[j]);
				}
			}
		});
	});
}

/**
 * Utility function for retrieving the text value of an array of DOM nodes
 * @param {Array|Element} elem
 */
getText = Sizzle.getText = function( elem ) {
	var node,
		ret = "",
		i = 0,
		nodeType = elem.nodeType;

	if ( nodeType ) {
		if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
			// Use textContent for elements
			// innerText usage removed for consistency of new lines (see #11153)
			if ( typeof elem.textContent === "string" ) {
				return elem.textContent;
			} else {
				// Traverse its children
				for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
					ret += getText( elem );
				}
			}
		} else if ( nodeType === 3 || nodeType === 4 ) {
			return elem.nodeValue;
		}
		// Do not include comment or processing instruction nodes
	} else {

		// If no nodeType, this is expected to be an array
		for ( ; (node = elem[i]); i++ ) {
			// Do not traverse comment nodes
			ret += getText( node );
		}
	}
	return ret;
};

isXML = Sizzle.isXML = function( elem ) {
	// documentElement is verified for cases where it doesn't yet exist
	// (such as loading iframes in IE - #4833)
	var documentElement = elem && (elem.ownerDocument || elem).documentElement;
	return documentElement ? documentElement.nodeName !== "HTML" : false;
};

// Element contains another
contains = Sizzle.contains = docElem.contains ?
	function( a, b ) {
		var adown = a.nodeType === 9 ? a.documentElement : a,
			bup = b && b.parentNode;
		return a === bup || !!( bup && bup.nodeType === 1 && adown.contains && adown.contains(bup) );
	} :
	docElem.compareDocumentPosition ?
	function( a, b ) {
		return b && !!( a.compareDocumentPosition( b ) & 16 );
	} :
	function( a, b ) {
		while ( (b = b.parentNode) ) {
			if ( b === a ) {
				return true;
			}
		}
		return false;
	};

Sizzle.attr = function( elem, name ) {
	var val,
		xml = isXML( elem );

	if ( !xml ) {
		name = name.toLowerCase();
	}
	if ( (val = Expr.attrHandle[ name ]) ) {
		return val( elem );
	}
	if ( xml || assertAttributes ) {
		return elem.getAttribute( name );
	}
	val = elem.getAttributeNode( name );
	return val ?
		typeof elem[ name ] === "boolean" ?
			elem[ name ] ? name : null :
			val.specified ? val.value : null :
		null;
};

Expr = Sizzle.selectors = {

	// Can be adjusted by the user
	cacheLength: 50,

	createPseudo: markFunction,

	match: matchExpr,

	// IE6/7 return a modified href
	attrHandle: assertHrefNotNormalized ?
		{} :
		{
			"href": function( elem ) {
				return elem.getAttribute( "href", 2 );
			},
			"type": function( elem ) {
				return elem.getAttribute("type");
			}
		},

	find: {
		"ID": assertGetIdNotName ?
			function( id, context, xml ) {
				if ( typeof context.getElementById !== strundefined && !xml ) {
					var m = context.getElementById( id );
					// Check parentNode to catch when Blackberry 4.6 returns
					// nodes that are no longer in the document #6963
					return m && m.parentNode ? [m] : [];
				}
			} :
			function( id, context, xml ) {
				if ( typeof context.getElementById !== strundefined && !xml ) {
					var m = context.getElementById( id );

					return m ?
						m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ?
							[m] :
							undefined :
						[];
				}
			},

		"TAG": assertTagNameNoComments ?
			function( tag, context ) {
				if ( typeof context.getElementsByTagName !== strundefined ) {
					return context.getElementsByTagName( tag );
				}
			} :
			function( tag, context ) {
				var results = context.getElementsByTagName( tag );

				// Filter out possible comments
				if ( tag === "*" ) {
					var elem,
						tmp = [],
						i = 0;

					for ( ; (elem = results[i]); i++ ) {
						if ( elem.nodeType === 1 ) {
							tmp.push( elem );
						}
					}

					return tmp;
				}
				return results;
			},

		"NAME": assertUsableName && function( tag, context ) {
			if ( typeof context.getElementsByName !== strundefined ) {
				return context.getElementsByName( name );
			}
		},

		"CLASS": assertUsableClassName && function( className, context, xml ) {
			if ( typeof context.getElementsByClassName !== strundefined && !xml ) {
				return context.getElementsByClassName( className );
			}
		}
	},

	relative: {
		">": { dir: "parentNode", first: true },
		" ": { dir: "parentNode" },
		"+": { dir: "previousSibling", first: true },
		"~": { dir: "previousSibling" }
	},

	preFilter: {
		"ATTR": function( match ) {
			match[1] = match[1].replace( rbackslash, "" );

			// Move the given value to match[3] whether quoted or unquoted
			match[3] = ( match[4] || match[5] || "" ).replace( rbackslash, "" );

			if ( match[2] === "~=" ) {
				match[3] = " " + match[3] + " ";
			}

			return match.slice( 0, 4 );
		},

		"CHILD": function( match ) {
			/* matches from matchExpr["CHILD"]
				1 type (only|nth|...)
				2 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
				3 xn-component of xn+y argument ([+-]?\d*n|)
				4 sign of xn-component
				5 x of xn-component
				6 sign of y-component
				7 y of y-component
			*/
			match[1] = match[1].toLowerCase();

			if ( match[1] === "nth" ) {
				// nth-child requires argument
				if ( !match[2] ) {
					Sizzle.error( match[0] );
				}

				// numeric x and y parameters for Expr.filter.CHILD
				// remember that false/true cast respectively to 0/1
				match[3] = +( match[3] ? match[4] + (match[5] || 1) : 2 * ( match[2] === "even" || match[2] === "odd" ) );
				match[4] = +( ( match[6] + match[7] ) || match[2] === "odd" );

			// other types prohibit arguments
			} else if ( match[2] ) {
				Sizzle.error( match[0] );
			}

			return match;
		},

		"PSEUDO": function( match ) {
			var unquoted, excess;
			if ( matchExpr["CHILD"].test( match[0] ) ) {
				return null;
			}

			if ( match[3] ) {
				match[2] = match[3];
			} else if ( (unquoted = match[4]) ) {
				// Only check arguments that contain a pseudo
				if ( rpseudo.test(unquoted) &&
					// Get excess from tokenize (recursively)
					(excess = tokenize( unquoted, true )) &&
					// advance to the next closing parenthesis
					(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {

					// excess is a negative index
					unquoted = unquoted.slice( 0, excess );
					match[0] = match[0].slice( 0, excess );
				}
				match[2] = unquoted;
			}

			// Return only captures needed by the pseudo filter method (type and argument)
			return match.slice( 0, 3 );
		}
	},

	filter: {
		"ID": assertGetIdNotName ?
			function( id ) {
				id = id.replace( rbackslash, "" );
				return function( elem ) {
					return elem.getAttribute("id") === id;
				};
			} :
			function( id ) {
				id = id.replace( rbackslash, "" );
				return function( elem ) {
					var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id");
					return node && node.value === id;
				};
			},

		"TAG": function( nodeName ) {
			if ( nodeName === "*" ) {
				return function() { return true; };
			}
			nodeName = nodeName.replace( rbackslash, "" ).toLowerCase();

			return function( elem ) {
				return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
			};
		},

		"CLASS": function( className ) {
			var pattern = classCache[ expando ][ className ];
			if ( !pattern ) {
				pattern = classCache( className, new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)") );
			}
			return function( elem ) {
				return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" );
			};
		},

		"ATTR": function( name, operator, check ) {
			return function( elem, context ) {
				var result = Sizzle.attr( elem, name );

				if ( result == null ) {
					return operator === "!=";
				}
				if ( !operator ) {
					return true;
				}

				result += "";

				return operator === "=" ? result === check :
					operator === "!=" ? result !== check :
					operator === "^=" ? check && result.indexOf( check ) === 0 :
					operator === "*=" ? check && result.indexOf( check ) > -1 :
					operator === "$=" ? check && result.substr( result.length - check.length ) === check :
					operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 :
					operator === "|=" ? result === check || result.substr( 0, check.length + 1 ) === check + "-" :
					false;
			};
		},

		"CHILD": function( type, argument, first, last ) {

			if ( type === "nth" ) {
				return function( elem ) {
					var node, diff,
						parent = elem.parentNode;

					if ( first === 1 && last === 0 ) {
						return true;
					}

					if ( parent ) {
						diff = 0;
						for ( node = parent.firstChild; node; node = node.nextSibling ) {
							if ( node.nodeType === 1 ) {
								diff++;
								if ( elem === node ) {
									break;
								}
							}
						}
					}

					// Incorporate the offset (or cast to NaN), then check against cycle size
					diff -= last;
					return diff === first || ( diff % first === 0 && diff / first >= 0 );
				};
			}

			return function( elem ) {
				var node = elem;

				switch ( type ) {
					case "only":
					case "first":
						while ( (node = node.previousSibling) ) {
							if ( node.nodeType === 1 ) {
								return false;
							}
						}

						if ( type === "first" ) {
							return true;
						}

						node = elem;

						/* falls through */
					case "last":
						while ( (node = node.nextSibling) ) {
							if ( node.nodeType === 1 ) {
								return false;
							}
						}

						return true;
				}
			};
		},

		"PSEUDO": function( pseudo, argument ) {
			// pseudo-class names are case-insensitive
			// http://www.w3.org/TR/selectors/#pseudo-classes
			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
			// Remember that setFilters inherits from pseudos
			var args,
				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
					Sizzle.error( "unsupported pseudo: " + pseudo );

			// The user may use createPseudo to indicate that
			// arguments are needed to create the filter function
			// just as Sizzle does
			if ( fn[ expando ] ) {
				return fn( argument );
			}

			// But maintain support for old signatures
			if ( fn.length > 1 ) {
				args = [ pseudo, pseudo, "", argument ];
				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
					markFunction(function( seed, matches ) {
						var idx,
							matched = fn( seed, argument ),
							i = matched.length;
						while ( i-- ) {
							idx = indexOf.call( seed, matched[i] );
							seed[ idx ] = !( matches[ idx ] = matched[i] );
						}
					}) :
					function( elem ) {
						return fn( elem, 0, args );
					};
			}

			return fn;
		}
	},

	pseudos: {
		"not": markFunction(function( selector ) {
			// Trim the selector passed to compile
			// to avoid treating leading and trailing
			// spaces as combinators
			var input = [],
				results = [],
				matcher = compile( selector.replace( rtrim, "$1" ) );

			return matcher[ expando ] ?
				markFunction(function( seed, matches, context, xml ) {
					var elem,
						unmatched = matcher( seed, null, xml, [] ),
						i = seed.length;

					// Match elements unmatched by `matcher`
					while ( i-- ) {
						if ( (elem = unmatched[i]) ) {
							seed[i] = !(matches[i] = elem);
						}
					}
				}) :
				function( elem, context, xml ) {
					input[0] = elem;
					matcher( input, null, xml, results );
					return !results.pop();
				};
		}),

		"has": markFunction(function( selector ) {
			return function( elem ) {
				return Sizzle( selector, elem ).length > 0;
			};
		}),

		"contains": markFunction(function( text ) {
			return function( elem ) {
				return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
			};
		}),

		"enabled": function( elem ) {
			return elem.disabled === false;
		},

		"disabled": function( elem ) {
			return elem.disabled === true;
		},

		"checked": function( elem ) {
			// In CSS3, :checked should return both checked and selected elements
			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
			var nodeName = elem.nodeName.toLowerCase();
			return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
		},

		"selected": function( elem ) {
			// Accessing this property makes selected-by-default
			// options in Safari work properly
			if ( elem.parentNode ) {
				elem.parentNode.selectedIndex;
			}

			return elem.selected === true;
		},

		"parent": function( elem ) {
			return !Expr.pseudos["empty"]( elem );
		},

		"empty": function( elem ) {
			// http://www.w3.org/TR/selectors/#empty-pseudo
			// :empty is only affected by element nodes and content nodes(including text(3), cdata(4)),
			//   not comment, processing instructions, or others
			// Thanks to Diego Perini for the nodeName shortcut
			//   Greater than "@" means alpha characters (specifically not starting with "#" or "?")
			var nodeType;
			elem = elem.firstChild;
			while ( elem ) {
				if ( elem.nodeName > "@" || (nodeType = elem.nodeType) === 3 || nodeType === 4 ) {
					return false;
				}
				elem = elem.nextSibling;
			}
			return true;
		},

		"header": function( elem ) {
			return rheader.test( elem.nodeName );
		},

		"text": function( elem ) {
			var type, attr;
			// IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc)
			// use getAttribute instead to test this case
			return elem.nodeName.toLowerCase() === "input" &&
				(type = elem.type) === "text" &&
				( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === type );
		},

		// Input types
		"radio": createInputPseudo("radio"),
		"checkbox": createInputPseudo("checkbox"),
		"file": createInputPseudo("file"),
		"password": createInputPseudo("password"),
		"image": createInputPseudo("image"),

		"submit": createButtonPseudo("submit"),
		"reset": createButtonPseudo("reset"),

		"button": function( elem ) {
			var name = elem.nodeName.toLowerCase();
			return name === "input" && elem.type === "button" || name === "button";
		},

		"input": function( elem ) {
			return rinputs.test( elem.nodeName );
		},

		"focus": function( elem ) {
			var doc = elem.ownerDocument;
			return elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href);
		},

		"active": function( elem ) {
			return elem === elem.ownerDocument.activeElement;
		},

		// Positional types
		"first": createPositionalPseudo(function( matchIndexes, length, argument ) {
			return [ 0 ];
		}),

		"last": createPositionalPseudo(function( matchIndexes, length, argument ) {
			return [ length - 1 ];
		}),

		"eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
			return [ argument < 0 ? argument + length : argument ];
		}),

		"even": createPositionalPseudo(function( matchIndexes, length, argument ) {
			for ( var i = 0; i < length; i += 2 ) {
				matchIndexes.push( i );
			}
			return matchIndexes;
		}),

		"odd": createPositionalPseudo(function( matchIndexes, length, argument ) {
			for ( var i = 1; i < length; i += 2 ) {
				matchIndexes.push( i );
			}
			return matchIndexes;
		}),

		"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
			for ( var i = argument < 0 ? argument + length : argument; --i >= 0; ) {
				matchIndexes.push( i );
			}
			return matchIndexes;
		}),

		"gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
			for ( var i = argument < 0 ? argument + length : argument; ++i < length; ) {
				matchIndexes.push( i );
			}
			return matchIndexes;
		})
	}
};

function siblingCheck( a, b, ret ) {
	if ( a === b ) {
		return ret;
	}

	var cur = a.nextSibling;

	while ( cur ) {
		if ( cur === b ) {
			return -1;
		}

		cur = cur.nextSibling;
	}

	return 1;
}

sortOrder = docElem.compareDocumentPosition ?
	function( a, b ) {
		if ( a === b ) {
			hasDuplicate = true;
			return 0;
		}

		return ( !a.compareDocumentPosition || !b.compareDocumentPosition ?
			a.compareDocumentPosition :
			a.compareDocumentPosition(b) & 4
		) ? -1 : 1;
	} :
	function( a, b ) {
		// The nodes are identical, we can exit early
		if ( a === b ) {
			hasDuplicate = true;
			return 0;

		// Fallback to using sourceIndex (in IE) if it's available on both nodes
		} else if ( a.sourceIndex && b.sourceIndex ) {
			return a.sourceIndex - b.sourceIndex;
		}

		var al, bl,
			ap = [],
			bp = [],
			aup = a.parentNode,
			bup = b.parentNode,
			cur = aup;

		// If the nodes are siblings (or identical) we can do a quick check
		if ( aup === bup ) {
			return siblingCheck( a, b );

		// If no parents were found then the nodes are disconnected
		} else if ( !aup ) {
			return -1;

		} else if ( !bup ) {
			return 1;
		}

		// Otherwise they're somewhere else in the tree so we need
		// to build up a full list of the parentNodes for comparison
		while ( cur ) {
			ap.unshift( cur );
			cur = cur.parentNode;
		}

		cur = bup;

		while ( cur ) {
			bp.unshift( cur );
			cur = cur.parentNode;
		}

		al = ap.length;
		bl = bp.length;

		// Start walking down the tree looking for a discrepancy
		for ( var i = 0; i < al && i < bl; i++ ) {
			if ( ap[i] !== bp[i] ) {
				return siblingCheck( ap[i], bp[i] );
			}
		}

		// We ended someplace up the tree so do a sibling check
		return i === al ?
			siblingCheck( a, bp[i], -1 ) :
			siblingCheck( ap[i], b, 1 );
	};

// Always assume the presence of duplicates if sort doesn't
// pass them to our comparison function (as in Google Chrome).
[0, 0].sort( sortOrder );
baseHasDuplicate = !hasDuplicate;

// Document sorting and removing duplicates
Sizzle.uniqueSort = function( results ) {
	var elem,
		i = 1;

	hasDuplicate = baseHasDuplicate;
	results.sort( sortOrder );

	if ( hasDuplicate ) {
		for ( ; (elem = results[i]); i++ ) {
			if ( elem === results[ i - 1 ] ) {
				results.splice( i--, 1 );
			}
		}
	}

	return results;
};

Sizzle.error = function( msg ) {
	throw new Error( "Syntax error, unrecognized expression: " + msg );
};

function tokenize( selector, parseOnly ) {
	var matched, match, tokens, type, soFar, groups, preFilters,
		cached = tokenCache[ expando ][ selector ];

	if ( cached ) {
		return parseOnly ? 0 : cached.slice( 0 );
	}

	soFar = selector;
	groups = [];
	preFilters = Expr.preFilter;

	while ( soFar ) {

		// Comma and first run
		if ( !matched || (match = rcomma.exec( soFar )) ) {
			if ( match ) {
				soFar = soFar.slice( match[0].length );
			}
			groups.push( tokens = [] );
		}

		matched = false;

		// Combinators
		if ( (match = rcombinators.exec( soFar )) ) {
			tokens.push( matched = new Token( match.shift() ) );
			soFar = soFar.slice( matched.length );

			// Cast descendant combinators to space
			matched.type = match[0].replace( rtrim, " " );
		}

		// Filters
		for ( type in Expr.filter ) {
			if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
				// The last two arguments here are (context, xml) for backCompat
				(match = preFilters[ type ]( match, document, true ))) ) {

				tokens.push( matched = new Token( match.shift() ) );
				soFar = soFar.slice( matched.length );
				matched.type = type;
				matched.matches = match;
			}
		}

		if ( !matched ) {
			break;
		}
	}

	// Return the length of the invalid excess
	// if we're just parsing
	// Otherwise, throw an error or return tokens
	return parseOnly ?
		soFar.length :
		soFar ?
			Sizzle.error( selector ) :
			// Cache the tokens
			tokenCache( selector, groups ).slice( 0 );
}

function addCombinator( matcher, combinator, base ) {
	var dir = combinator.dir,
		checkNonElements = base && combinator.dir === "parentNode",
		doneName = done++;

	return combinator.first ?
		// Check against closest ancestor/preceding element
		function( elem, context, xml ) {
			while ( (elem = elem[ dir ]) ) {
				if ( checkNonElements || elem.nodeType === 1  ) {
					return matcher( elem, context, xml );
				}
			}
		} :

		// Check against all ancestor/preceding elements
		function( elem, context, xml ) {
			// We can't set arbitrary data on XML nodes, so they don't benefit from dir caching
			if ( !xml ) {
				var cache,
					dirkey = dirruns + " " + doneName + " ",
					cachedkey = dirkey + cachedruns;
				while ( (elem = elem[ dir ]) ) {
					if ( checkNonElements || elem.nodeType === 1 ) {
						if ( (cache = elem[ expando ]) === cachedkey ) {
							return elem.sizset;
						} else if ( typeof cache === "string" && cache.indexOf(dirkey) === 0 ) {
							if ( elem.sizset ) {
								return elem;
							}
						} else {
							elem[ expando ] = cachedkey;
							if ( matcher( elem, context, xml ) ) {
								elem.sizset = true;
								return elem;
							}
							elem.sizset = false;
						}
					}
				}
			} else {
				while ( (elem = elem[ dir ]) ) {
					if ( checkNonElements || elem.nodeType === 1 ) {
						if ( matcher( elem, context, xml ) ) {
							return elem;
						}
					}
				}
			}
		};
}

function elementMatcher( matchers ) {
	return matchers.length > 1 ?
		function( elem, context, xml ) {
			var i = matchers.length;
			while ( i-- ) {
				if ( !matchers[i]( elem, context, xml ) ) {
					return false;
				}
			}
			return true;
		} :
		matchers[0];
}

function condense( unmatched, map, filter, context, xml ) {
	var elem,
		newUnmatched = [],
		i = 0,
		len = unmatched.length,
		mapped = map != null;

	for ( ; i < len; i++ ) {
		if ( (elem = unmatched[i]) ) {
			if ( !filter || filter( elem, context, xml ) ) {
				newUnmatched.push( elem );
				if ( mapped ) {
					map.push( i );
				}
			}
		}
	}

	return newUnmatched;
}

function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
	if ( postFilter && !postFilter[ expando ] ) {
		postFilter = setMatcher( postFilter );
	}
	if ( postFinder && !postFinder[ expando ] ) {
		postFinder = setMatcher( postFinder, postSelector );
	}
	return markFunction(function( seed, results, context, xml ) {
		// Positional selectors apply to seed elements, so it is invalid to follow them with relative ones
		if ( seed && postFinder ) {
			return;
		}

		var i, elem, postFilterIn,
			preMap = [],
			postMap = [],
			preexisting = results.length,

			// Get initial elements from seed or context
			elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [], seed ),

			// Prefilter to get matcher input, preserving a map for seed-results synchronization
			matcherIn = preFilter && ( seed || !selector ) ?
				condense( elems, preMap, preFilter, context, xml ) :
				elems,

			matcherOut = matcher ?
				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
				postFinder || ( seed ? preFilter : preexisting || postFilter ) ?

					// ...intermediate processing is necessary
					[] :

					// ...otherwise use results directly
					results :
				matcherIn;

		// Find primary matches
		if ( matcher ) {
			matcher( matcherIn, matcherOut, context, xml );
		}

		// Apply postFilter
		if ( postFilter ) {
			postFilterIn = condense( matcherOut, postMap );
			postFilter( postFilterIn, [], context, xml );

			// Un-match failing elements by moving them back to matcherIn
			i = postFilterIn.length;
			while ( i-- ) {
				if ( (elem = postFilterIn[i]) ) {
					matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
				}
			}
		}

		// Keep seed and results synchronized
		if ( seed ) {
			// Ignore postFinder because it can't coexist with seed
			i = preFilter && matcherOut.length;
			while ( i-- ) {
				if ( (elem = matcherOut[i]) ) {
					seed[ preMap[i] ] = !(results[ preMap[i] ] = elem);
				}
			}
		} else {
			matcherOut = condense(
				matcherOut === results ?
					matcherOut.splice( preexisting, matcherOut.length ) :
					matcherOut
			);
			if ( postFinder ) {
				postFinder( null, results, matcherOut, xml );
			} else {
				push.apply( results, matcherOut );
			}
		}
	});
}

function matcherFromTokens( tokens ) {
	var checkContext, matcher, j,
		len = tokens.length,
		leadingRelative = Expr.relative[ tokens[0].type ],
		implicitRelative = leadingRelative || Expr.relative[" "],
		i = leadingRelative ? 1 : 0,

		// The foundational matcher ensures that elements are reachable from top-level context(s)
		matchContext = addCombinator( function( elem ) {
			return elem === checkContext;
		}, implicitRelative, true ),
		matchAnyContext = addCombinator( function( elem ) {
			return indexOf.call( checkContext, elem ) > -1;
		}, implicitRelative, true ),
		matchers = [ function( elem, context, xml ) {
			return ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
				(checkContext = context).nodeType ?
					matchContext( elem, context, xml ) :
					matchAnyContext( elem, context, xml ) );
		} ];

	for ( ; i < len; i++ ) {
		if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
			matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
		} else {
			// The concatenated values are (context, xml) for backCompat
			matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );

			// Return special upon seeing a positional matcher
			if ( matcher[ expando ] ) {
				// Find the next relative operator (if any) for proper handling
				j = ++i;
				for ( ; j < len; j++ ) {
					if ( Expr.relative[ tokens[j].type ] ) {
						break;
					}
				}
				return setMatcher(
					i > 1 && elementMatcher( matchers ),
					i > 1 && tokens.slice( 0, i - 1 ).join("").replace( rtrim, "$1" ),
					matcher,
					i < j && matcherFromTokens( tokens.slice( i, j ) ),
					j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
					j < len && tokens.join("")
				);
			}
			matchers.push( matcher );
		}
	}

	return elementMatcher( matchers );
}

function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
	var bySet = setMatchers.length > 0,
		byElement = elementMatchers.length > 0,
		superMatcher = function( seed, context, xml, results, expandContext ) {
			var elem, j, matcher,
				setMatched = [],
				matchedCount = 0,
				i = "0",
				unmatched = seed && [],
				outermost = expandContext != null,
				contextBackup = outermostContext,
				// We must always have either seed elements or context
				elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ),
				// Nested matchers should use non-integer dirruns
				dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.E);

			if ( outermost ) {
				outermostContext = context !== document && context;
				cachedruns = superMatcher.el;
			}

			// Add elements passing elementMatchers directly to results
			for ( ; (elem = elems[i]) != null; i++ ) {
				if ( byElement && elem ) {
					for ( j = 0; (matcher = elementMatchers[j]); j++ ) {
						if ( matcher( elem, context, xml ) ) {
							results.push( elem );
							break;
						}
					}
					if ( outermost ) {
						dirruns = dirrunsUnique;
						cachedruns = ++superMatcher.el;
					}
				}

				// Track unmatched elements for set filters
				if ( bySet ) {
					// They will have gone through all possible matchers
					if ( (elem = !matcher && elem) ) {
						matchedCount--;
					}

					// Lengthen the array for every element, matched or not
					if ( seed ) {
						unmatched.push( elem );
					}
				}
			}

			// Apply set filters to unmatched elements
			matchedCount += i;
			if ( bySet && i !== matchedCount ) {
				for ( j = 0; (matcher = setMatchers[j]); j++ ) {
					matcher( unmatched, setMatched, context, xml );
				}

				if ( seed ) {
					// Reintegrate element matches to eliminate the need for sorting
					if ( matchedCount > 0 ) {
						while ( i-- ) {
							if ( !(unmatched[i] || setMatched[i]) ) {
								setMatched[i] = pop.call( results );
							}
						}
					}

					// Discard index placeholder values to get only actual matches
					setMatched = condense( setMatched );
				}

				// Add matches to results
				push.apply( results, setMatched );

				// Seedless set matches succeeding multiple successful matchers stipulate sorting
				if ( outermost && !seed && setMatched.length > 0 &&
					( matchedCount + setMatchers.length ) > 1 ) {

					Sizzle.uniqueSort( results );
				}
			}

			// Override manipulation of globals by nested matchers
			if ( outermost ) {
				dirruns = dirrunsUnique;
				outermostContext = contextBackup;
			}

			return unmatched;
		};

	superMatcher.el = 0;
	return bySet ?
		markFunction( superMatcher ) :
		superMatcher;
}

compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
	var i,
		setMatchers = [],
		elementMatchers = [],
		cached = compilerCache[ expando ][ selector ];

	if ( !cached ) {
		// Generate a function of recursive functions that can be used to check each element
		if ( !group ) {
			group = tokenize( selector );
		}
		i = group.length;
		while ( i-- ) {
			cached = matcherFromTokens( group[i] );
			if ( cached[ expando ] ) {
				setMatchers.push( cached );
			} else {
				elementMatchers.push( cached );
			}
		}

		// Cache the compiled function
		cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
	}
	return cached;
};

function multipleContexts( selector, contexts, results, seed ) {
	var i = 0,
		len = contexts.length;
	for ( ; i < len; i++ ) {
		Sizzle( selector, contexts[i], results, seed );
	}
	return results;
}

function select( selector, context, results, seed, xml ) {
	var i, tokens, token, type, find,
		match = tokenize( selector ),
		j = match.length;

	if ( !seed ) {
		// Try to minimize operations if there is only one group
		if ( match.length === 1 ) {

			// Take a shortcut and set the context if the root selector is an ID
			tokens = match[0] = match[0].slice( 0 );
			if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
					context.nodeType === 9 && !xml &&
					Expr.relative[ tokens[1].type ] ) {

				context = Expr.find["ID"]( token.matches[0].replace( rbackslash, "" ), context, xml )[0];
				if ( !context ) {
					return results;
				}

				selector = selector.slice( tokens.shift().length );
			}

			// Fetch a seed set for right-to-left matching
			for ( i = matchExpr["POS"].test( selector ) ? -1 : tokens.length - 1; i >= 0; i-- ) {
				token = tokens[i];

				// Abort if we hit a combinator
				if ( Expr.relative[ (type = token.type) ] ) {
					break;
				}
				if ( (find = Expr.find[ type ]) ) {
					// Search, expanding context for leading sibling combinators
					if ( (seed = find(
						token.matches[0].replace( rbackslash, "" ),
						rsibling.test( tokens[0].type ) && context.parentNode || context,
						xml
					)) ) {

						// If seed is empty or no tokens remain, we can return early
						tokens.splice( i, 1 );
						selector = seed.length && tokens.join("");
						if ( !selector ) {
							push.apply( results, slice.call( seed, 0 ) );
							return results;
						}

						break;
					}
				}
			}
		}
	}

	// Compile and execute a filtering function
	// Provide `match` to avoid retokenization if we modified the selector above
	compile( selector, match )(
		seed,
		context,
		xml,
		results,
		rsibling.test( selector )
	);
	return results;
}

if ( document.querySelectorAll ) {
	(function() {
		var disconnectedMatch,
			oldSelect = select,
			rescape = /'|\\/g,
			rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,

			// qSa(:focus) reports false when true (Chrome 21),
			// A support test would require too much code (would include document ready)
			rbuggyQSA = [":focus"],

			// matchesSelector(:focus) reports false when true (Chrome 21),
			// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
			// A support test would require too much code (would include document ready)
			// just skip matchesSelector for :active
			rbuggyMatches = [ ":active", ":focus" ],
			matches = docElem.matchesSelector ||
				docElem.mozMatchesSelector ||
				docElem.webkitMatchesSelector ||
				docElem.oMatchesSelector ||
				docElem.msMatchesSelector;

		// Build QSA regex
		// Regex strategy adopted from Diego Perini
		assert(function( div ) {
			// Select is set to empty string on purpose
			// This is to test IE's treatment of not explictly
			// setting a boolean content attribute,
			// since its presence should be enough
			// http://bugs.jquery.com/ticket/12359
			div.innerHTML = "<select><option selected=''></option></select>";

			// IE8 - Some boolean attributes are not treated correctly
			if ( !div.querySelectorAll("[selected]").length ) {
				rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" );
			}

			// Webkit/Opera - :checked should return selected option elements
			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
			// IE8 throws error here (do not put tests after this one)
			if ( !div.querySelectorAll(":checked").length ) {
				rbuggyQSA.push(":checked");
			}
		});

		assert(function( div ) {

			// Opera 10-12/IE9 - ^= $= *= and empty values
			// Should not select anything
			div.innerHTML = "<p test=''></p>";
			if ( div.querySelectorAll("[test^='']").length ) {
				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" );
			}

			// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
			// IE8 throws error here (do not put tests after this one)
			div.innerHTML = "<input type='hidden'/>";
			if ( !div.querySelectorAll(":enabled").length ) {
				rbuggyQSA.push(":enabled", ":disabled");
			}
		});

		// rbuggyQSA always contains :focus, so no need for a length check
		rbuggyQSA = /* rbuggyQSA.length && */ new RegExp( rbuggyQSA.join("|") );

		select = function( selector, context, results, seed, xml ) {
			// Only use querySelectorAll when not filtering,
			// when this is not xml,
			// and when no QSA bugs apply
			if ( !seed && !xml && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
				var groups, i,
					old = true,
					nid = expando,
					newContext = context,
					newSelector = context.nodeType === 9 && selector;

				// qSA works strangely on Element-rooted queries
				// We can work around this by specifying an extra ID on the root
				// and working up from there (Thanks to Andrew Dupont for the technique)
				// IE 8 doesn't work on object elements
				if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
					groups = tokenize( selector );

					if ( (old = context.getAttribute("id")) ) {
						nid = old.replace( rescape, "\\$&" );
					} else {
						context.setAttribute( "id", nid );
					}
					nid = "[id='" + nid + "'] ";

					i = groups.length;
					while ( i-- ) {
						groups[i] = nid + groups[i].join("");
					}
					newContext = rsibling.test( selector ) && context.parentNode || context;
					newSelector = groups.join(",");
				}

				if ( newSelector ) {
					try {
						push.apply( results, slice.call( newContext.querySelectorAll(
							newSelector
						), 0 ) );
						return results;
					} catch(qsaError) {
					} finally {
						if ( !old ) {
							context.removeAttribute("id");
						}
					}
				}
			}

			return oldSelect( selector, context, results, seed, xml );
		};

		if ( matches ) {
			assert(function( div ) {
				// Check to see if it's possible to do matchesSelector
				// on a disconnected node (IE 9)
				disconnectedMatch = matches.call( div, "div" );

				// This should fail with an exception
				// Gecko does not error, returns false instead
				try {
					matches.call( div, "[test!='']:sizzle" );
					rbuggyMatches.push( "!=", pseudos );
				} catch ( e ) {}
			});

			// rbuggyMatches always contains :active and :focus, so no need for a length check
			rbuggyMatches = /* rbuggyMatches.length && */ new RegExp( rbuggyMatches.join("|") );

			Sizzle.matchesSelector = function( elem, expr ) {
				// Make sure that attribute selectors are quoted
				expr = expr.replace( rattributeQuotes, "='$1']" );

				// rbuggyMatches always contains :active, so no need for an existence check
				if ( !isXML( elem ) && !rbuggyMatches.test( expr ) && (!rbuggyQSA || !rbuggyQSA.test( expr )) ) {
					try {
						var ret = matches.call( elem, expr );

						// IE 9's matchesSelector returns false on disconnected nodes
						if ( ret || disconnectedMatch ||
								// As well, disconnected nodes are said to be in a document
								// fragment in IE 9
								elem.document && elem.document.nodeType !== 11 ) {
							return ret;
						}
					} catch(e) {}
				}

				return Sizzle( expr, null, null, [ elem ] ).length > 0;
			};
		}
	})();
}

// Deprecated
Expr.pseudos["nth"] = Expr.pseudos["eq"];

// Back-compat
function setFilters() {}
Expr.filters = setFilters.prototype = Expr.pseudos;
Expr.setFilters = new setFilters();

// Override sizzle attribute retrieval
Sizzle.attr = jQuery.attr;
jQuery.find = Sizzle;
jQuery.expr = Sizzle.selectors;
jQuery.expr[":"] = jQuery.expr.pseudos;
jQuery.unique = Sizzle.uniqueSort;
jQuery.text = Sizzle.getText;
jQuery.isXMLDoc = Sizzle.isXML;
jQuery.contains = Sizzle.contains;


})( window );
var runtil = /Until$/,
	rparentsprev = /^(?:parents|prev(?:Until|All))/,
	isSimple = /^.[^:#\[\.,]*$/,
	rneedsContext = jQuery.expr.match.needsContext,
	// methods guaranteed to produce a unique set when starting from a unique set
	guaranteedUnique = {
		children: true,
		contents: true,
		next: true,
		prev: true
	};

jQuery.fn.extend({
	find: function( selector ) {
		var i, l, length, n, r, ret,
			self = this;

		if ( typeof selector !== "string" ) {
			return jQuery( selector ).filter(function() {
				for ( i = 0, l = self.length; i < l; i++ ) {
					if ( jQuery.contains( self[ i ], this ) ) {
						return true;
					}
				}
			});
		}

		ret = this.pushStack( "", "find", selector );

		for ( i = 0, l = this.length; i < l; i++ ) {
			length = ret.length;
			jQuery.find( selector, this[i], ret );

			if ( i > 0 ) {
				// Make sure that the results are unique
				for ( n = length; n < ret.length; n++ ) {
					for ( r = 0; r < length; r++ ) {
						if ( ret[r] === ret[n] ) {
							ret.splice(n--, 1);
							break;
						}
					}
				}
			}
		}

		return ret;
	},

	has: function( target ) {
		var i,
			targets = jQuery( target, this ),
			len = targets.length;

		return this.filter(function() {
			for ( i = 0; i < len; i++ ) {
				if ( jQuery.contains( this, targets[i] ) ) {
					return true;
				}
			}
		});
	},

	not: function( selector ) {
		return this.pushStack( winnow(this, selector, false), "not", selector);
	},

	filter: function( selector ) {
		return this.pushStack( winnow(this, selector, true), "filter", selector );
	},

	is: function( selector ) {
		return !!selector && (
			typeof selector === "string" ?
				// If this is a positional/relative selector, check membership in the returned set
				// so $("p:first").is("p:last") won't return true for a doc with two "p".
				rneedsContext.test( selector ) ?
					jQuery( selector, this.context ).index( this[0] ) >= 0 :
					jQuery.filter( selector, this ).length > 0 :
				this.filter( selector ).length > 0 );
	},

	closest: function( selectors, context ) {
		var cur,
			i = 0,
			l = this.length,
			ret = [],
			pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ?
				jQuery( selectors, context || this.context ) :
				0;

		for ( ; i < l; i++ ) {
			cur = this[i];

			while ( cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11 ) {
				if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) {
					ret.push( cur );
					break;
				}
				cur = cur.parentNode;
			}
		}

		ret = ret.length > 1 ? jQuery.unique( ret ) : ret;

		return this.pushStack( ret, "closest", selectors );
	},

	// Determine the position of an element within
	// the matched set of elements
	index: function( elem ) {

		// No argument, return index in parent
		if ( !elem ) {
			return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1;
		}

		// index in selector
		if ( typeof elem === "string" ) {
			return jQuery.inArray( this[0], jQuery( elem ) );
		}

		// Locate the position of the desired element
		return jQuery.inArray(
			// If it receives a jQuery object, the first element is used
			elem.jquery ? elem[0] : elem, this );
	},

	add: function( selector, context ) {
		var set = typeof selector === "string" ?
				jQuery( selector, context ) :
				jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ),
			all = jQuery.merge( this.get(), set );

		return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?
			all :
			jQuery.unique( all ) );
	},

	addBack: function( selector ) {
		return this.add( selector == null ?
			this.prevObject : this.prevObject.filter(selector)
		);
	}
});

jQuery.fn.andSelf = jQuery.fn.addBack;

// A painfully simple check to see if an element is disconnected
// from a document (should be improved, where feasible).
function isDisconnected( node ) {
	return !node || !node.parentNode || node.parentNode.nodeType === 11;
}

function sibling( cur, dir ) {
	do {
		cur = cur[ dir ];
	} while ( cur && cur.nodeType !== 1 );

	return cur;
}

jQuery.each({
	parent: function( elem ) {
		var parent = elem.parentNode;
		return parent && parent.nodeType !== 11 ? parent : null;
	},
	parents: function( elem ) {
		return jQuery.dir( elem, "parentNode" );
	},
	parentsUntil: function( elem, i, until ) {
		return jQuery.dir( elem, "parentNode", until );
	},
	next: function( elem ) {
		return sibling( elem, "nextSibling" );
	},
	prev: function( elem ) {
		return sibling( elem, "previousSibling" );
	},
	nextAll: function( elem ) {
		return jQuery.dir( elem, "nextSibling" );
	},
	prevAll: function( elem ) {
		return jQuery.dir( elem, "previousSibling" );
	},
	nextUntil: function( elem, i, until ) {
		return jQuery.dir( elem, "nextSibling", until );
	},
	prevUntil: function( elem, i, until ) {
		return jQuery.dir( elem, "previousSibling", until );
	},
	siblings: function( elem ) {
		return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem );
	},
	children: function( elem ) {
		return jQuery.sibling( elem.firstChild );
	},
	contents: function( elem ) {
		return jQuery.nodeName( elem, "iframe" ) ?
			elem.contentDocument || elem.contentWindow.document :
			jQuery.merge( [], elem.childNodes );
	}
}, function( name, fn ) {
	jQuery.fn[ name ] = function( until, selector ) {
		var ret = jQuery.map( this, fn, until );

		if ( !runtil.test( name ) ) {
			selector = until;
		}

		if ( selector && typeof selector === "string" ) {
			ret = jQuery.filter( selector, ret );
		}

		ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret;

		if ( this.length > 1 && rparentsprev.test( name ) ) {
			ret = ret.reverse();
		}

		return this.pushStack( ret, name, core_slice.call( arguments ).join(",") );
	};
});

jQuery.extend({
	filter: function( expr, elems, not ) {
		if ( not ) {
			expr = ":not(" + expr + ")";
		}

		return elems.length === 1 ?
			jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] :
			jQuery.find.matches(expr, elems);
	},

	dir: function( elem, dir, until ) {
		var matched = [],
			cur = elem[ dir ];

		while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {
			if ( cur.nodeType === 1 ) {
				matched.push( cur );
			}
			cur = cur[dir];
		}
		return matched;
	},

	sibling: function( n, elem ) {
		var r = [];

		for ( ; n; n = n.nextSibling ) {
			if ( n.nodeType === 1 && n !== elem ) {
				r.push( n );
			}
		}

		return r;
	}
});

// Implement the identical functionality for filter and not
function winnow( elements, qualifier, keep ) {

	// Can't pass null or undefined to indexOf in Firefox 4
	// Set to 0 to skip string check
	qualifier = qualifier || 0;

	if ( jQuery.isFunction( qualifier ) ) {
		return jQuery.grep(elements, function( elem, i ) {
			var retVal = !!qualifier.call( elem, i, elem );
			return retVal === keep;
		});

	} else if ( qualifier.nodeType ) {
		return jQuery.grep(elements, function( elem, i ) {
			return ( elem === qualifier ) === keep;
		});

	} else if ( typeof qualifier === "string" ) {
		var filtered = jQuery.grep(elements, function( elem ) {
			return elem.nodeType === 1;
		});

		if ( isSimple.test( qualifier ) ) {
			return jQuery.filter(qualifier, filtered, !keep);
		} else {
			qualifier = jQuery.filter( qualifier, filtered );
		}
	}

	return jQuery.grep(elements, function( elem, i ) {
		return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep;
	});
}
function createSafeFragment( document ) {
	var list = nodeNames.split( "|" ),
	safeFrag = document.createDocumentFragment();

	if ( safeFrag.createElement ) {
		while ( list.length ) {
			safeFrag.createElement(
				list.pop()
			);
		}
	}
	return safeFrag;
}

var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" +
		"header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
	rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g,
	rleadingWhitespace = /^\s+/,
	rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
	rtagName = /<([\w:]+)/,
	rtbody = /<tbody/i,
	rhtml = /<|&#?\w+;/,
	rnoInnerhtml = /<(?:script|style|link)/i,
	rnocache = /<(?:script|object|embed|option|style)/i,
	rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"),
	rcheckableType = /^(?:checkbox|radio)$/,
	// checked="checked" or checked
	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
	rscriptType = /\/(java|ecma)script/i,
	rcleanScript = /^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,
	wrapMap = {
		option: [ 1, "<select multiple='multiple'>", "</select>" ],
		legend: [ 1, "<fieldset>", "</fieldset>" ],
		thead: [ 1, "<table>", "</table>" ],
		tr: [ 2, "<table><tbody>", "</tbody></table>" ],
		td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
		col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
		area: [ 1, "<map>", "</map>" ],
		_default: [ 0, "", "" ]
	},
	safeFragment = createSafeFragment( document ),
	fragmentDiv = safeFragment.appendChild( document.createElement("div") );

wrapMap.optgroup = wrapMap.option;
wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
wrapMap.th = wrapMap.td;

// IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags,
// unless wrapped in a div with non-breaking characters in front of it.
if ( !jQuery.support.htmlSerialize ) {
	wrapMap._default = [ 1, "X<div>", "</div>" ];
}

jQuery.fn.extend({
	text: function( value ) {
		return jQuery.access( this, function( value ) {
			return value === undefined ?
				jQuery.text( this ) :
				this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) );
		}, null, value, arguments.length );
	},

	wrapAll: function( html ) {
		if ( jQuery.isFunction( html ) ) {
			return this.each(function(i) {
				jQuery(this).wrapAll( html.call(this, i) );
			});
		}

		if ( this[0] ) {
			// The elements to wrap the target around
			var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true);

			if ( this[0].parentNode ) {
				wrap.insertBefore( this[0] );
			}

			wrap.map(function() {
				var elem = this;

				while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
					elem = elem.firstChild;
				}

				return elem;
			}).append( this );
		}

		return this;
	},

	wrapInner: function( html ) {
		if ( jQuery.isFunction( html ) ) {
			return this.each(function(i) {
				jQuery(this).wrapInner( html.call(this, i) );
			});
		}

		return this.each(function() {
			var self = jQuery( this ),
				contents = self.contents();

			if ( contents.length ) {
				contents.wrapAll( html );

			} else {
				self.append( html );
			}
		});
	},

	wrap: function( html ) {
		var isFunction = jQuery.isFunction( html );

		return this.each(function(i) {
			jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );
		});
	},

	unwrap: function() {
		return this.parent().each(function() {
			if ( !jQuery.nodeName( this, "body" ) ) {
				jQuery( this ).replaceWith( this.childNodes );
			}
		}).end();
	},

	append: function() {
		return this.domManip(arguments, true, function( elem ) {
			if ( this.nodeType === 1 || this.nodeType === 11 ) {
				this.appendChild( elem );
			}
		});
	},

	prepend: function() {
		return this.domManip(arguments, true, function( elem ) {
			if ( this.nodeType === 1 || this.nodeType === 11 ) {
				this.insertBefore( elem, this.firstChild );
			}
		});
	},

	before: function() {
		if ( !isDisconnected( this[0] ) ) {
			return this.domManip(arguments, false, function( elem ) {
				this.parentNode.insertBefore( elem, this );
			});
		}

		if ( arguments.length ) {
			var set = jQuery.clean( arguments );
			return this.pushStack( jQuery.merge( set, this ), "before", this.selector );
		}
	},

	after: function() {
		if ( !isDisconnected( this[0] ) ) {
			return this.domManip(arguments, false, function( elem ) {
				this.parentNode.insertBefore( elem, this.nextSibling );
			});
		}

		if ( arguments.length ) {
			var set = jQuery.clean( arguments );
			return this.pushStack( jQuery.merge( this, set ), "after", this.selector );
		}
	},

	// keepData is for internal use only--do not document
	remove: function( selector, keepData ) {
		var elem,
			i = 0;

		for ( ; (elem = this[i]) != null; i++ ) {
			if ( !selector || jQuery.filter( selector, [ elem ] ).length ) {
				if ( !keepData && elem.nodeType === 1 ) {
					jQuery.cleanData( elem.getElementsByTagName("*") );
					jQuery.cleanData( [ elem ] );
				}

				if ( elem.parentNode ) {
					elem.parentNode.removeChild( elem );
				}
			}
		}

		return this;
	},

	empty: function() {
		var elem,
			i = 0;

		for ( ; (elem = this[i]) != null; i++ ) {
			// Remove element nodes and prevent memory leaks
			if ( elem.nodeType === 1 ) {
				jQuery.cleanData( elem.getElementsByTagName("*") );
			}

			// Remove any remaining nodes
			while ( elem.firstChild ) {
				elem.removeChild( elem.firstChild );
			}
		}

		return this;
	},

	clone: function( dataAndEvents, deepDataAndEvents ) {
		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;

		return this.map( function () {
			return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
		});
	},

	html: function( value ) {
		return jQuery.access( this, function( value ) {
			var elem = this[0] || {},
				i = 0,
				l = this.length;

			if ( value === undefined ) {
				return elem.nodeType === 1 ?
					elem.innerHTML.replace( rinlinejQuery, "" ) :
					undefined;
			}

			// See if we can take a shortcut and just use innerHTML
			if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
				( jQuery.support.htmlSerialize || !rnoshimcache.test( value )  ) &&
				( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) &&
				!wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) {

				value = value.replace( rxhtmlTag, "<$1></$2>" );

				try {
					for (; i < l; i++ ) {
						// Remove element nodes and prevent memory leaks
						elem = this[i] || {};
						if ( elem.nodeType === 1 ) {
							jQuery.cleanData( elem.getElementsByTagName( "*" ) );
							elem.innerHTML = value;
						}
					}

					elem = 0;

				// If using innerHTML throws an exception, use the fallback method
				} catch(e) {}
			}

			if ( elem ) {
				this.empty().append( value );
			}
		}, null, value, arguments.length );
	},

	replaceWith: function( value ) {
		if ( !isDisconnected( this[0] ) ) {
			// Make sure that the elements are removed from the DOM before they are inserted
			// this can help fix replacing a parent with child elements
			if ( jQuery.isFunction( value ) ) {
				return this.each(function(i) {
					var self = jQuery(this), old = self.html();
					self.replaceWith( value.call( this, i, old ) );
				});
			}

			if ( typeof value !== "string" ) {
				value = jQuery( value ).detach();
			}

			return this.each(function() {
				var next = this.nextSibling,
					parent = this.parentNode;

				jQuery( this ).remove();

				if ( next ) {
					jQuery(next).before( value );
				} else {
					jQuery(parent).append( value );
				}
			});
		}

		return this.length ?
			this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ) :
			this;
	},

	detach: function( selector ) {
		return this.remove( selector, true );
	},

	domManip: function( args, table, callback ) {

		// Flatten any nested arrays
		args = [].concat.apply( [], args );

		var results, first, fragment, iNoClone,
			i = 0,
			value = args[0],
			scripts = [],
			l = this.length;

		// We can't cloneNode fragments that contain checked, in WebKit
		if ( !jQuery.support.checkClone && l > 1 && typeof value === "string" && rchecked.test( value ) ) {
			return this.each(function() {
				jQuery(this).domManip( args, table, callback );
			});
		}

		if ( jQuery.isFunction(value) ) {
			return this.each(function(i) {
				var self = jQuery(this);
				args[0] = value.call( this, i, table ? self.html() : undefined );
				self.domManip( args, table, callback );
			});
		}

		if ( this[0] ) {
			results = jQuery.buildFragment( args, this, scripts );
			fragment = results.fragment;
			first = fragment.firstChild;

			if ( fragment.childNodes.length === 1 ) {
				fragment = first;
			}

			if ( first ) {
				table = table && jQuery.nodeName( first, "tr" );

				// Use the original fragment for the last item instead of the first because it can end up
				// being emptied incorrectly in certain situations (#8070).
				// Fragments from the fragment cache must always be cloned and never used in place.
				for ( iNoClone = results.cacheable || l - 1; i < l; i++ ) {
					callback.call(
						table && jQuery.nodeName( this[i], "table" ) ?
							findOrAppend( this[i], "tbody" ) :
							this[i],
						i === iNoClone ?
							fragment :
							jQuery.clone( fragment, true, true )
					);
				}
			}

			// Fix #11809: Avoid leaking memory
			fragment = first = null;

			if ( scripts.length ) {
				jQuery.each( scripts, function( i, elem ) {
					if ( elem.src ) {
						if ( jQuery.ajax ) {
							jQuery.ajax({
								url: elem.src,
								type: "GET",
								dataType: "script",
								async: false,
								global: false,
								"throws": true
							});
						} else {
							jQuery.error("no ajax");
						}
					} else {
						jQuery.globalEval( ( elem.text || elem.textContent || elem.innerHTML || "" ).replace( rcleanScript, "" ) );
					}

					if ( elem.parentNode ) {
						elem.parentNode.removeChild( elem );
					}
				});
			}
		}

		return this;
	}
});

function findOrAppend( elem, tag ) {
	return elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) );
}

function cloneCopyEvent( src, dest ) {

	if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {
		return;
	}

	var type, i, l,
		oldData = jQuery._data( src ),
		curData = jQuery._data( dest, oldData ),
		events = oldData.events;

	if ( events ) {
		delete curData.handle;
		curData.events = {};

		for ( type in events ) {
			for ( i = 0, l = events[ type ].length; i < l; i++ ) {
				jQuery.event.add( dest, type, events[ type ][ i ] );
			}
		}
	}

	// make the cloned public data object a copy from the original
	if ( curData.data ) {
		curData.data = jQuery.extend( {}, curData.data );
	}
}

function cloneFixAttributes( src, dest ) {
	var nodeName;

	// We do not need to do anything for non-Elements
	if ( dest.nodeType !== 1 ) {
		return;
	}

	// clearAttributes removes the attributes, which we don't want,
	// but also removes the attachEvent events, which we *do* want
	if ( dest.clearAttributes ) {
		dest.clearAttributes();
	}

	// mergeAttributes, in contrast, only merges back on the
	// original attributes, not the events
	if ( dest.mergeAttributes ) {
		dest.mergeAttributes( src );
	}

	nodeName = dest.nodeName.toLowerCase();

	if ( nodeName === "object" ) {
		// IE6-10 improperly clones children of object elements using classid.
		// IE10 throws NoModificationAllowedError if parent is null, #12132.
		if ( dest.parentNode ) {
			dest.outerHTML = src.outerHTML;
		}

		// This path appears unavoidable for IE9. When cloning an object
		// element in IE9, the outerHTML strategy above is not sufficient.
		// If the src has innerHTML and the destination does not,
		// copy the src.innerHTML into the dest.innerHTML. #10324
		if ( jQuery.support.html5Clone && (src.innerHTML && !jQuery.trim(dest.innerHTML)) ) {
			dest.innerHTML = src.innerHTML;
		}

	} else if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
		// IE6-8 fails to persist the checked state of a cloned checkbox
		// or radio button. Worse, IE6-7 fail to give the cloned element
		// a checked appearance if the defaultChecked value isn't also set

		dest.defaultChecked = dest.checked = src.checked;

		// IE6-7 get confused and end up setting the value of a cloned
		// checkbox/radio button to an empty string instead of "on"
		if ( dest.value !== src.value ) {
			dest.value = src.value;
		}

	// IE6-8 fails to return the selected option to the default selected
	// state when cloning options
	} else if ( nodeName === "option" ) {
		dest.selected = src.defaultSelected;

	// IE6-8 fails to set the defaultValue to the correct value when
	// cloning other types of input fields
	} else if ( nodeName === "input" || nodeName === "textarea" ) {
		dest.defaultValue = src.defaultValue;

	// IE blanks contents when cloning scripts
	} else if ( nodeName === "script" && dest.text !== src.text ) {
		dest.text = src.text;
	}

	// Event data gets referenced instead of copied if the expando
	// gets copied too
	dest.removeAttribute( jQuery.expando );
}

jQuery.buildFragment = function( args, context, scripts ) {
	var fragment, cacheable, cachehit,
		first = args[ 0 ];

	// Set context from what may come in as undefined or a jQuery collection or a node
	// Updated to fix #12266 where accessing context[0] could throw an exception in IE9/10 &
	// also doubles as fix for #8950 where plain objects caused createDocumentFragment exception
	context = context || document;
	context = !context.nodeType && context[0] || context;
	context = context.ownerDocument || context;

	// Only cache "small" (1/2 KB) HTML strings that are associated with the main document
	// Cloning options loses the selected state, so don't cache them
	// IE 6 doesn't like it when you put <object> or <embed> elements in a fragment
	// Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache
	// Lastly, IE6,7,8 will not correctly reuse cached fragments that were created from unknown elems #10501
	if ( args.length === 1 && typeof first === "string" && first.length < 512 && context === document &&
		first.charAt(0) === "<" && !rnocache.test( first ) &&
		(jQuery.support.checkClone || !rchecked.test( first )) &&
		(jQuery.support.html5Clone || !rnoshimcache.test( first )) ) {

		// Mark cacheable and look for a hit
		cacheable = true;
		fragment = jQuery.fragments[ first ];
		cachehit = fragment !== undefined;
	}

	if ( !fragment ) {
		fragment = context.createDocumentFragment();
		jQuery.clean( args, context, fragment, scripts );

		// Update the cache, but only store false
		// unless this is a second parsing of the same content
		if ( cacheable ) {
			jQuery.fragments[ first ] = cachehit && fragment;
		}
	}

	return { fragment: fragment, cacheable: cacheable };
};

jQuery.fragments = {};

jQuery.each({
	appendTo: "append",
	prependTo: "prepend",
	insertBefore: "before",
	insertAfter: "after",
	replaceAll: "replaceWith"
}, function( name, original ) {
	jQuery.fn[ name ] = function( selector ) {
		var elems,
			i = 0,
			ret = [],
			insert = jQuery( selector ),
			l = insert.length,
			parent = this.length === 1 && this[0].parentNode;

		if ( (parent == null || parent && parent.nodeType === 11 && parent.childNodes.length === 1) && l === 1 ) {
			insert[ original ]( this[0] );
			return this;
		} else {
			for ( ; i < l; i++ ) {
				elems = ( i > 0 ? this.clone(true) : this ).get();
				jQuery( insert[i] )[ original ]( elems );
				ret = ret.concat( elems );
			}

			return this.pushStack( ret, name, insert.selector );
		}
	};
});

function getAll( elem ) {
	if ( typeof elem.getElementsByTagName !== "undefined" ) {
		return elem.getElementsByTagName( "*" );

	} else if ( typeof elem.querySelectorAll !== "undefined" ) {
		return elem.querySelectorAll( "*" );

	} else {
		return [];
	}
}

// Used in clean, fixes the defaultChecked property
function fixDefaultChecked( elem ) {
	if ( rcheckableType.test( elem.type ) ) {
		elem.defaultChecked = elem.checked;
	}
}

jQuery.extend({
	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
		var srcElements,
			destElements,
			i,
			clone;

		if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) {
			clone = elem.cloneNode( true );

		// IE<=8 does not properly clone detached, unknown element nodes
		} else {
			fragmentDiv.innerHTML = elem.outerHTML;
			fragmentDiv.removeChild( clone = fragmentDiv.firstChild );
		}

		if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&
				(elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
			// IE copies events bound via attachEvent when using cloneNode.
			// Calling detachEvent on the clone will also remove the events
			// from the original. In order to get around this, we use some
			// proprietary methods to clear the events. Thanks to MooTools
			// guys for this hotness.

			cloneFixAttributes( elem, clone );

			// Using Sizzle here is crazy slow, so we use getElementsByTagName instead
			srcElements = getAll( elem );
			destElements = getAll( clone );

			// Weird iteration because IE will replace the length property
			// with an element if you are cloning the body and one of the
			// elements on the page has a name or id of "length"
			for ( i = 0; srcElements[i]; ++i ) {
				// Ensure that the destination node is not null; Fixes #9587
				if ( destElements[i] ) {
					cloneFixAttributes( srcElements[i], destElements[i] );
				}
			}
		}

		// Copy the events from the original to the clone
		if ( dataAndEvents ) {
			cloneCopyEvent( elem, clone );

			if ( deepDataAndEvents ) {
				srcElements = getAll( elem );
				destElements = getAll( clone );

				for ( i = 0; srcElements[i]; ++i ) {
					cloneCopyEvent( srcElements[i], destElements[i] );
				}
			}
		}

		srcElements = destElements = null;

		// Return the cloned set
		return clone;
	},

	clean: function( elems, context, fragment, scripts ) {
		var i, j, elem, tag, wrap, depth, div, hasBody, tbody, len, handleScript, jsTags,
			safe = context === document && safeFragment,
			ret = [];

		// Ensure that context is a document
		if ( !context || typeof context.createDocumentFragment === "undefined" ) {
			context = document;
		}

		// Use the already-created safe fragment if context permits
		for ( i = 0; (elem = elems[i]) != null; i++ ) {
			if ( typeof elem === "number" ) {
				elem += "";
			}

			if ( !elem ) {
				continue;
			}

			// Convert html string into DOM nodes
			if ( typeof elem === "string" ) {
				if ( !rhtml.test( elem ) ) {
					elem = context.createTextNode( elem );
				} else {
					// Ensure a safe container in which to render the html
					safe = safe || createSafeFragment( context );
					div = context.createElement("div");
					safe.appendChild( div );

					// Fix "XHTML"-style tags in all browsers
					elem = elem.replace(rxhtmlTag, "<$1></$2>");

					// Go to html and back, then peel off extra wrappers
					tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase();
					wrap = wrapMap[ tag ] || wrapMap._default;
					depth = wrap[0];
					div.innerHTML = wrap[1] + elem + wrap[2];

					// Move to the right depth
					while ( depth-- ) {
						div = div.lastChild;
					}

					// Remove IE's autoinserted <tbody> from table fragments
					if ( !jQuery.support.tbody ) {

						// String was a <table>, *may* have spurious <tbody>
						hasBody = rtbody.test(elem);
							tbody = tag === "table" && !hasBody ?
								div.firstChild && div.firstChild.childNodes :

								// String was a bare <thead> or <tfoot>
								wrap[1] === "<table>" && !hasBody ?
									div.childNodes :
									[];

						for ( j = tbody.length - 1; j >= 0 ; --j ) {
							if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) {
								tbody[ j ].parentNode.removeChild( tbody[ j ] );
							}
						}
					}

					// IE completely kills leading whitespace when innerHTML is used
					if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
						div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild );
					}

					elem = div.childNodes;

					// Take out of fragment container (we need a fresh div each time)
					div.parentNode.removeChild( div );
				}
			}

			if ( elem.nodeType ) {
				ret.push( elem );
			} else {
				jQuery.merge( ret, elem );
			}
		}

		// Fix #11356: Clear elements from safeFragment
		if ( div ) {
			elem = div = safe = null;
		}

		// Reset defaultChecked for any radios and checkboxes
		// about to be appended to the DOM in IE 6/7 (#8060)
		if ( !jQuery.support.appendChecked ) {
			for ( i = 0; (elem = ret[i]) != null; i++ ) {
				if ( jQuery.nodeName( elem, "input" ) ) {
					fixDefaultChecked( elem );
				} else if ( typeof elem.getElementsByTagName !== "undefined" ) {
					jQuery.grep( elem.getElementsByTagName("input"), fixDefaultChecked );
				}
			}
		}

		// Append elements to a provided document fragment
		if ( fragment ) {
			// Special handling of each script element
			handleScript = function( elem ) {
				// Check if we consider it executable
				if ( !elem.type || rscriptType.test( elem.type ) ) {
					// Detach the script and store it in the scripts array (if provided) or the fragment
					// Return truthy to indicate that it has been handled
					return scripts ?
						scripts.push( elem.parentNode ? elem.parentNode.removeChild( elem ) : elem ) :
						fragment.appendChild( elem );
				}
			};

			for ( i = 0; (elem = ret[i]) != null; i++ ) {
				// Check if we're done after handling an executable script
				if ( !( jQuery.nodeName( elem, "script" ) && handleScript( elem ) ) ) {
					// Append to fragment and handle embedded scripts
					fragment.appendChild( elem );
					if ( typeof elem.getElementsByTagName !== "undefined" ) {
						// handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration
						jsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName("script") ), handleScript );

						// Splice the scripts into ret after their former ancestor and advance our index beyond them
						ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
						i += jsTags.length;
					}
				}
			}
		}

		return ret;
	},

	cleanData: function( elems, /* internal */ acceptData ) {
		var data, id, elem, type,
			i = 0,
			internalKey = jQuery.expando,
			cache = jQuery.cache,
			deleteExpando = jQuery.support.deleteExpando,
			special = jQuery.event.special;

		for ( ; (elem = elems[i]) != null; i++ ) {

			if ( acceptData || jQuery.acceptData( elem ) ) {

				id = elem[ internalKey ];
				data = id && cache[ id ];

				if ( data ) {
					if ( data.events ) {
						for ( type in data.events ) {
							if ( special[ type ] ) {
								jQuery.event.remove( elem, type );

							// This is a shortcut to avoid jQuery.event.remove's overhead
							} else {
								jQuery.removeEvent( elem, type, data.handle );
							}
						}
					}

					// Remove cache only if it was not already removed by jQuery.event.remove
					if ( cache[ id ] ) {

						delete cache[ id ];

						// IE does not allow us to delete expando properties from nodes,
						// nor does it have a removeAttribute function on Document nodes;
						// we must handle all of these cases
						if ( deleteExpando ) {
							delete elem[ internalKey ];

						} else if ( elem.removeAttribute ) {
							elem.removeAttribute( internalKey );

						} else {
							elem[ internalKey ] = null;
						}

						jQuery.deletedIds.push( id );
					}
				}
			}
		}
	}
});
// Limit scope pollution from any deprecated API
(function() {

var matched, browser;

// Use of jQuery.browser is frowned upon.
// More details: http://api.jquery.com/jQuery.browser
// jQuery.uaMatch maintained for back-compat
jQuery.uaMatch = function( ua ) {
	ua = ua.toLowerCase();

	var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
		/(webkit)[ \/]([\w.]+)/.exec( ua ) ||
		/(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
		/(msie) ([\w.]+)/.exec( ua ) ||
		ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
		[];

	return {
		browser: match[ 1 ] || "",
		version: match[ 2 ] || "0"
	};
};

matched = jQuery.uaMatch( navigator.userAgent );
browser = {};

if ( matched.browser ) {
	browser[ matched.browser ] = true;
	browser.version = matched.version;
}

// Chrome is Webkit, but Webkit is also Safari.
if ( browser.chrome ) {
	browser.webkit = true;
} else if ( browser.webkit ) {
	browser.safari = true;
}

jQuery.browser = browser;

jQuery.sub = function() {
	function jQuerySub( selector, context ) {
		return new jQuerySub.fn.init( selector, context );
	}
	jQuery.extend( true, jQuerySub, this );
	jQuerySub.superclass = this;
	jQuerySub.fn = jQuerySub.prototype = this();
	jQuerySub.fn.constructor = jQuerySub;
	jQuerySub.sub = this.sub;
	jQuerySub.fn.init = function init( selector, context ) {
		if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
			context = jQuerySub( context );
		}

		return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
	};
	jQuerySub.fn.init.prototype = jQuerySub.fn;
	var rootjQuerySub = jQuerySub(document);
	return jQuerySub;
};

})();
var curCSS, iframe, iframeDoc,
	ralpha = /alpha\([^)]*\)/i,
	ropacity = /opacity=([^)]*)/,
	rposition = /^(top|right|bottom|left)$/,
	// swappable if display is none or starts with table except "table", "table-cell", or "table-caption"
	// see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
	rmargin = /^margin/,
	rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ),
	rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ),
	rrelNum = new RegExp( "^([-+])=(" + core_pnum + ")", "i" ),
	elemdisplay = {},

	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
	cssNormalTransform = {
		letterSpacing: 0,
		fontWeight: 400
	},

	cssExpand = [ "Top", "Right", "Bottom", "Left" ],
	cssPrefixes = [ "Webkit", "O", "Moz", "ms" ],

	eventsToggle = jQuery.fn.toggle;

// return a css property mapped to a potentially vendor prefixed property
function vendorPropName( style, name ) {

	// shortcut for names that are not vendor prefixed
	if ( name in style ) {
		return name;
	}

	// check for vendor prefixed names
	var capName = name.charAt(0).toUpperCase() + name.slice(1),
		origName = name,
		i = cssPrefixes.length;

	while ( i-- ) {
		name = cssPrefixes[ i ] + capName;
		if ( name in style ) {
			return name;
		}
	}

	return origName;
}

function isHidden( elem, el ) {
	elem = el || elem;
	return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem );
}

function showHide( elements, show ) {
	var elem, display,
		values = [],
		index = 0,
		length = elements.length;

	for ( ; index < length; index++ ) {
		elem = elements[ index ];
		if ( !elem.style ) {
			continue;
		}
		values[ index ] = jQuery._data( elem, "olddisplay" );
		if ( show ) {
			// Reset the inline display of this element to learn if it is
			// being hidden by cascaded rules or not
			if ( !values[ index ] && elem.style.display === "none" ) {
				elem.style.display = "";
			}

			// Set elements which have been overridden with display: none
			// in a stylesheet to whatever the default browser style is
			// for such an element
			if ( elem.style.display === "" && isHidden( elem ) ) {
				values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) );
			}
		} else {
			display = curCSS( elem, "display" );

			if ( !values[ index ] && display !== "none" ) {
				jQuery._data( elem, "olddisplay", display );
			}
		}
	}

	// Set the display of most of the elements in a second loop
	// to avoid the constant reflow
	for ( index = 0; index < length; index++ ) {
		elem = elements[ index ];
		if ( !elem.style ) {
			continue;
		}
		if ( !show || elem.style.display === "none" || elem.style.display === "" ) {
			elem.style.display = show ? values[ index ] || "" : "none";
		}
	}

	return elements;
}

jQuery.fn.extend({
	css: function( name, value ) {
		return jQuery.access( this, function( elem, name, value ) {
			return value !== undefined ?
				jQuery.style( elem, name, value ) :
				jQuery.css( elem, name );
		}, name, value, arguments.length > 1 );
	},
	show: function() {
		return showHide( this, true );
	},
	hide: function() {
		return showHide( this );
	},
	toggle: function( state, fn2 ) {
		var bool = typeof state === "boolean";

		if ( jQuery.isFunction( state ) && jQuery.isFunction( fn2 ) ) {
			return eventsToggle.apply( this, arguments );
		}

		return this.each(function() {
			if ( bool ? state : isHidden( this ) ) {
				jQuery( this ).show();
			} else {
				jQuery( this ).hide();
			}
		});
	}
});

jQuery.extend({
	// Add in style property hooks for overriding the default
	// behavior of getting and setting a style property
	cssHooks: {
		opacity: {
			get: function( elem, computed ) {
				if ( computed ) {
					// We should always get a number back from opacity
					var ret = curCSS( elem, "opacity" );
					return ret === "" ? "1" : ret;

				}
			}
		}
	},

	// Exclude the following css properties to add px
	cssNumber: {
		"fillOpacity": true,
		"fontWeight": true,
		"lineHeight": true,
		"opacity": true,
		"orphans": true,
		"widows": true,
		"zIndex": true,
		"zoom": true
	},

	// Add in properties whose names you wish to fix before
	// setting or getting the value
	cssProps: {
		// normalize float css property
		"float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat"
	},

	// Get and set the style property on a DOM Node
	style: function( elem, name, value, extra ) {
		// Don't set styles on text and comment nodes
		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
			return;
		}

		// Make sure that we're working with the right name
		var ret, type, hooks,
			origName = jQuery.camelCase( name ),
			style = elem.style;

		name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) );

		// gets hook for the prefixed version
		// followed by the unprefixed version
		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];

		// Check if we're setting a value
		if ( value !== undefined ) {
			type = typeof value;

			// convert relative number strings (+= or -=) to relative numbers. #7345
			if ( type === "string" && (ret = rrelNum.exec( value )) ) {
				value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) );
				// Fixes bug #9237
				type = "number";
			}

			// Make sure that NaN and null values aren't set. See: #7116
			if ( value == null || type === "number" && isNaN( value ) ) {
				return;
			}

			// If a number was passed in, add 'px' to the (except for certain CSS properties)
			if ( type === "number" && !jQuery.cssNumber[ origName ] ) {
				value += "px";
			}

			// If a hook was provided, use that value, otherwise just set the specified value
			if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {
				// Wrapped to prevent IE from throwing errors when 'invalid' values are provided
				// Fixes bug #5509
				try {
					style[ name ] = value;
				} catch(e) {}
			}

		} else {
			// If a hook was provided get the non-computed value from there
			if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {
				return ret;
			}

			// Otherwise just get the value from the style object
			return style[ name ];
		}
	},

	css: function( elem, name, numeric, extra ) {
		var val, num, hooks,
			origName = jQuery.camelCase( name );

		// Make sure that we're working with the right name
		name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) );

		// gets hook for the prefixed version
		// followed by the unprefixed version
		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];

		// If a hook was provided get the computed value from there
		if ( hooks && "get" in hooks ) {
			val = hooks.get( elem, true, extra );
		}

		// Otherwise, if a way to get the computed value exists, use that
		if ( val === undefined ) {
			val = curCSS( elem, name );
		}

		//convert "normal" to computed value
		if ( val === "normal" && name in cssNormalTransform ) {
			val = cssNormalTransform[ name ];
		}

		// Return, converting to number if forced or a qualifier was provided and val looks numeric
		if ( numeric || extra !== undefined ) {
			num = parseFloat( val );
			return numeric || jQuery.isNumeric( num ) ? num || 0 : val;
		}
		return val;
	},

	// A method for quickly swapping in/out CSS properties to get correct calculations
	swap: function( elem, options, callback ) {
		var ret, name,
			old = {};

		// Remember the old values, and insert the new ones
		for ( name in options ) {
			old[ name ] = elem.style[ name ];
			elem.style[ name ] = options[ name ];
		}

		ret = callback.call( elem );

		// Revert the old values
		for ( name in options ) {
			elem.style[ name ] = old[ name ];
		}

		return ret;
	}
});

// NOTE: To any future maintainer, we've window.getComputedStyle
// because jsdom on node.js will break without it.
if ( window.getComputedStyle ) {
	curCSS = function( elem, name ) {
		var ret, width, minWidth, maxWidth,
			computed = window.getComputedStyle( elem, null ),
			style = elem.style;

		if ( computed ) {

			ret = computed[ name ];
			if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
				ret = jQuery.style( elem, name );
			}

			// A tribute to the "awesome hack by Dean Edwards"
			// Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right
			// Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels
			// this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values
			if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {
				width = style.width;
				minWidth = style.minWidth;
				maxWidth = style.maxWidth;

				style.minWidth = style.maxWidth = style.width = ret;
				ret = computed.width;

				style.width = width;
				style.minWidth = minWidth;
				style.maxWidth = maxWidth;
			}
		}

		return ret;
	};
} else if ( document.documentElement.currentStyle ) {
	curCSS = function( elem, name ) {
		var left, rsLeft,
			ret = elem.currentStyle && elem.currentStyle[ name ],
			style = elem.style;

		// Avoid setting ret to empty string here
		// so we don't default to auto
		if ( ret == null && style && style[ name ] ) {
			ret = style[ name ];
		}

		// From the awesome hack by Dean Edwards
		// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291

		// If we're not dealing with a regular pixel number
		// but a number that has a weird ending, we need to convert it to pixels
		// but not position css attributes, as those are proportional to the parent element instead
		// and we can't measure the parent instead because it might trigger a "stacking dolls" problem
		if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) {

			// Remember the original values
			left = style.left;
			rsLeft = elem.runtimeStyle && elem.runtimeStyle.left;

			// Put in the new values to get a computed value out
			if ( rsLeft ) {
				elem.runtimeStyle.left = elem.currentStyle.left;
			}
			style.left = name === "fontSize" ? "1em" : ret;
			ret = style.pixelLeft + "px";

			// Revert the changed values
			style.left = left;
			if ( rsLeft ) {
				elem.runtimeStyle.left = rsLeft;
			}
		}

		return ret === "" ? "auto" : ret;
	};
}

function setPositiveNumber( elem, value, subtract ) {
	var matches = rnumsplit.exec( value );
	return matches ?
			Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) :
			value;
}

function augmentWidthOrHeight( elem, name, extra, isBorderBox ) {
	var i = extra === ( isBorderBox ? "border" : "content" ) ?
		// If we already have the right measurement, avoid augmentation
		4 :
		// Otherwise initialize for horizontal or vertical properties
		name === "width" ? 1 : 0,

		val = 0;

	for ( ; i < 4; i += 2 ) {
		// both box models exclude margin, so add it if we want it
		if ( extra === "margin" ) {
			// we use jQuery.css instead of curCSS here
			// because of the reliableMarginRight CSS hook!
			val += jQuery.css( elem, extra + cssExpand[ i ], true );
		}

		// From this point on we use curCSS for maximum performance (relevant in animations)
		if ( isBorderBox ) {
			// border-box includes padding, so remove it if we want content
			if ( extra === "content" ) {
				val -= parseFloat( curCSS( elem, "padding" + cssExpand[ i ] ) ) || 0;
			}

			// at this point, extra isn't border nor margin, so remove border
			if ( extra !== "margin" ) {
				val -= parseFloat( curCSS( elem, "border" + cssExpand[ i ] + "Width" ) ) || 0;
			}
		} else {
			// at this point, extra isn't content, so add padding
			val += parseFloat( curCSS( elem, "padding" + cssExpand[ i ] ) ) || 0;

			// at this point, extra isn't content nor padding, so add border
			if ( extra !== "padding" ) {
				val += parseFloat( curCSS( elem, "border" + cssExpand[ i ] + "Width" ) ) || 0;
			}
		}
	}

	return val;
}

function getWidthOrHeight( elem, name, extra ) {

	// Start with offset property, which is equivalent to the border-box value
	var val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
		valueIsBorderBox = true,
		isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing" ) === "border-box";

	// some non-html elements return undefined for offsetWidth, so check for null/undefined
	// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
	// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
	if ( val <= 0 || val == null ) {
		// Fall back to computed then uncomputed css if necessary
		val = curCSS( elem, name );
		if ( val < 0 || val == null ) {
			val = elem.style[ name ];
		}

		// Computed unit is not pixels. Stop here and return.
		if ( rnumnonpx.test(val) ) {
			return val;
		}

		// we need the check for style in case a browser which returns unreliable values
		// for getComputedStyle silently falls back to the reliable elem.style
		valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] );

		// Normalize "", auto, and prepare for extra
		val = parseFloat( val ) || 0;
	}

	// use the active box-sizing model to add/subtract irrelevant styles
	return ( val +
		augmentWidthOrHeight(
			elem,
			name,
			extra || ( isBorderBox ? "border" : "content" ),
			valueIsBorderBox
		)
	) + "px";
}


// Try to determine the default display value of an element
function css_defaultDisplay( nodeName ) {
	if ( elemdisplay[ nodeName ] ) {
		return elemdisplay[ nodeName ];
	}

	var elem = jQuery( "<" + nodeName + ">" ).appendTo( document.body ),
		display = elem.css("display");
	elem.remove();

	// If the simple way fails,
	// get element's real default display by attaching it to a temp iframe
	if ( display === "none" || display === "" ) {
		// Use the already-created iframe if possible
		iframe = document.body.appendChild(
			iframe || jQuery.extend( document.createElement("iframe"), {
				frameBorder: 0,
				width: 0,
				height: 0
			})
		);

		// Create a cacheable copy of the iframe document on first call.
		// IE and Opera will allow us to reuse the iframeDoc without re-writing the fake HTML
		// document to it; WebKit & Firefox won't allow reusing the iframe document.
		if ( !iframeDoc || !iframe.createElement ) {
			iframeDoc = ( iframe.contentWindow || iframe.contentDocument ).document;
			iframeDoc.write("<!doctype html><html><body>");
			iframeDoc.close();
		}

		elem = iframeDoc.body.appendChild( iframeDoc.createElement(nodeName) );

		display = curCSS( elem, "display" );
		document.body.removeChild( iframe );
	}

	// Store the correct default display
	elemdisplay[ nodeName ] = display;

	return display;
}

jQuery.each([ "height", "width" ], function( i, name ) {
	jQuery.cssHooks[ name ] = {
		get: function( elem, computed, extra ) {
			if ( computed ) {
				// certain elements can have dimension info if we invisibly show them
				// however, it must have a current display style that would benefit from this
				if ( elem.offsetWidth === 0 && rdisplayswap.test( curCSS( elem, "display" ) ) ) {
					return jQuery.swap( elem, cssShow, function() {
						return getWidthOrHeight( elem, name, extra );
					});
				} else {
					return getWidthOrHeight( elem, name, extra );
				}
			}
		},

		set: function( elem, value, extra ) {
			return setPositiveNumber( elem, value, extra ?
				augmentWidthOrHeight(
					elem,
					name,
					extra,
					jQuery.support.boxSizing && jQuery.css( elem, "boxSizing" ) === "border-box"
				) : 0
			);
		}
	};
});

if ( !jQuery.support.opacity ) {
	jQuery.cssHooks.opacity = {
		get: function( elem, computed ) {
			// IE uses filters for opacity
			return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ?
				( 0.01 * parseFloat( RegExp.$1 ) ) + "" :
				computed ? "1" : "";
		},

		set: function( elem, value ) {
			var style = elem.style,
				currentStyle = elem.currentStyle,
				opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "",
				filter = currentStyle && currentStyle.filter || style.filter || "";

			// IE has trouble with opacity if it does not have layout
			// Force it by setting the zoom level
			style.zoom = 1;

			// if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652
			if ( value >= 1 && jQuery.trim( filter.replace( ralpha, "" ) ) === "" &&
				style.removeAttribute ) {

				// Setting style.filter to null, "" & " " still leave "filter:" in the cssText
				// if "filter:" is present at all, clearType is disabled, we want to avoid this
				// style.removeAttribute is IE Only, but so apparently is this code path...
				style.removeAttribute( "filter" );

				// if there there is no filter style applied in a css rule, we are done
				if ( currentStyle && !currentStyle.filter ) {
					return;
				}
			}

			// otherwise, set new filter values
			style.filter = ralpha.test( filter ) ?
				filter.replace( ralpha, opacity ) :
				filter + " " + opacity;
		}
	};
}

// These hooks cannot be added until DOM ready because the support test
// for it is not run until after DOM ready
jQuery(function() {
	if ( !jQuery.support.reliableMarginRight ) {
		jQuery.cssHooks.marginRight = {
			get: function( elem, computed ) {
				// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
				// Work around by temporarily setting element display to inline-block
				return jQuery.swap( elem, { "display": "inline-block" }, function() {
					if ( computed ) {
						return curCSS( elem, "marginRight" );
					}
				});
			}
		};
	}

	// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
	// getComputedStyle returns percent when specified for top/left/bottom/right
	// rather than make the css module depend on the offset module, we just check for it here
	if ( !jQuery.support.pixelPosition && jQuery.fn.position ) {
		jQuery.each( [ "top", "left" ], function( i, prop ) {
			jQuery.cssHooks[ prop ] = {
				get: function( elem, computed ) {
					if ( computed ) {
						var ret = curCSS( elem, prop );
						// if curCSS returns percentage, fallback to offset
						return rnumnonpx.test( ret ) ? jQuery( elem ).position()[ prop ] + "px" : ret;
					}
				}
			};
		});
	}

});

if ( jQuery.expr && jQuery.expr.filters ) {
	jQuery.expr.filters.hidden = function( elem ) {
		return ( elem.offsetWidth === 0 && elem.offsetHeight === 0 ) || (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || curCSS( elem, "display" )) === "none");
	};

	jQuery.expr.filters.visible = function( elem ) {
		return !jQuery.expr.filters.hidden( elem );
	};
}

// These hooks are used by animate to expand properties
jQuery.each({
	margin: "",
	padding: "",
	border: "Width"
}, function( prefix, suffix ) {
	jQuery.cssHooks[ prefix + suffix ] = {
		expand: function( value ) {
			var i,

				// assumes a single number if not a string
				parts = typeof value === "string" ? value.split(" ") : [ value ],
				expanded = {};

			for ( i = 0; i < 4; i++ ) {
				expanded[ prefix + cssExpand[ i ] + suffix ] =
					parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
			}

			return expanded;
		}
	};

	if ( !rmargin.test( prefix ) ) {
		jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
	}
});
var r20 = /%20/g,
	rbracket = /\[\]$/,
	rCRLF = /\r?\n/g,
	rinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
	rselectTextarea = /^(?:select|textarea)/i;

jQuery.fn.extend({
	serialize: function() {
		return jQuery.param( this.serializeArray() );
	},
	serializeArray: function() {
		return this.map(function(){
			return this.elements ? jQuery.makeArray( this.elements ) : this;
		})
		.filter(function(){
			return this.name && !this.disabled &&
				( this.checked || rselectTextarea.test( this.nodeName ) ||
					rinput.test( this.type ) );
		})
		.map(function( i, elem ){
			var val = jQuery( this ).val();

			return val == null ?
				null :
				jQuery.isArray( val ) ?
					jQuery.map( val, function( val, i ){
						return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
					}) :
					{ name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
		}).get();
	}
});

//Serialize an array of form elements or a set of
//key/values into a query string
jQuery.param = function( a, traditional ) {
	var prefix,
		s = [],
		add = function( key, value ) {
			// If value is a function, invoke it and return its value
			value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value );
			s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
		};

	// Set traditional to true for jQuery <= 1.3.2 behavior.
	if ( traditional === undefined ) {
		traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;
	}

	// If an array was passed in, assume that it is an array of form elements.
	if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
		// Serialize the form elements
		jQuery.each( a, function() {
			add( this.name, this.value );
		});

	} else {
		// If traditional, encode the "old" way (the way 1.3.2 or older
		// did it), otherwise encode params recursively.
		for ( prefix in a ) {
			buildParams( prefix, a[ prefix ], traditional, add );
		}
	}

	// Return the resulting serialization
	return s.join( "&" ).replace( r20, "+" );
};

function buildParams( prefix, obj, traditional, add ) {
	var name;

	if ( jQuery.isArray( obj ) ) {
		// Serialize array item.
		jQuery.each( obj, function( i, v ) {
			if ( traditional || rbracket.test( prefix ) ) {
				// Treat each array item as a scalar.
				add( prefix, v );

			} else {
				// If array item is non-scalar (array or object), encode its
				// numeric index to resolve deserialization ambiguity issues.
				// Note that rack (as of 1.0.0) can't currently deserialize
				// nested arrays properly, and attempting to do so may cause
				// a server error. Possible fixes are to modify rack's
				// deserialization algorithm or to provide an option or flag
				// to force array serialization to be shallow.
				buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add );
			}
		});

	} else if ( !traditional && jQuery.type( obj ) === "object" ) {
		// Serialize object item.
		for ( name in obj ) {
			buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
		}

	} else {
		// Serialize scalar item.
		add( prefix, obj );
	}
}
var
	// Document location
	ajaxLocParts,
	ajaxLocation,

	rhash = /#.*$/,
	rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL
	// #7653, #8125, #8152: local protocol detection
	rlocalProtocol = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,
	rnoContent = /^(?:GET|HEAD)$/,
	rprotocol = /^\/\//,
	rquery = /\?/,
	rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
	rts = /([?&])_=[^&]*/,
	rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,

	// Keep a copy of the old load method
	_load = jQuery.fn.load,

	/* Prefilters
	 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
	 * 2) These are called:
	 *    - BEFORE asking for a transport
	 *    - AFTER param serialization (s.data is a string if s.processData is true)
	 * 3) key is the dataType
	 * 4) the catchall symbol "*" can be used
	 * 5) execution will start with transport dataType and THEN continue down to "*" if needed
	 */
	prefilters = {},

	/* Transports bindings
	 * 1) key is the dataType
	 * 2) the catchall symbol "*" can be used
	 * 3) selection will start with transport dataType and THEN go to "*" if needed
	 */
	transports = {},

	// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
	allTypes = ["*/"] + ["*"];

// #8138, IE may throw an exception when accessing
// a field from window.location if document.domain has been set
try {
	ajaxLocation = location.href;
} catch( e ) {
	// Use the href attribute of an A element
	// since IE will modify it given document.location
	ajaxLocation = document.createElement( "a" );
	ajaxLocation.href = "";
	ajaxLocation = ajaxLocation.href;
}

// Segment location into parts
ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];

// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
function addToPrefiltersOrTransports( structure ) {

	// dataTypeExpression is optional and defaults to "*"
	return function( dataTypeExpression, func ) {

		if ( typeof dataTypeExpression !== "string" ) {
			func = dataTypeExpression;
			dataTypeExpression = "*";
		}

		var dataType, list, placeBefore,
			dataTypes = dataTypeExpression.toLowerCase().split( core_rspace ),
			i = 0,
			length = dataTypes.length;

		if ( jQuery.isFunction( func ) ) {
			// For each dataType in the dataTypeExpression
			for ( ; i < length; i++ ) {
				dataType = dataTypes[ i ];
				// We control if we're asked to add before
				// any existing element
				placeBefore = /^\+/.test( dataType );
				if ( placeBefore ) {
					dataType = dataType.substr( 1 ) || "*";
				}
				list = structure[ dataType ] = structure[ dataType ] || [];
				// then we add to the structure accordingly
				list[ placeBefore ? "unshift" : "push" ]( func );
			}
		}
	};
}

// Base inspection function for prefilters and transports
function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR,
		dataType /* internal */, inspected /* internal */ ) {

	dataType = dataType || options.dataTypes[ 0 ];
	inspected = inspected || {};

	inspected[ dataType ] = true;

	var selection,
		list = structure[ dataType ],
		i = 0,
		length = list ? list.length : 0,
		executeOnly = ( structure === prefilters );

	for ( ; i < length && ( executeOnly || !selection ); i++ ) {
		selection = list[ i ]( options, originalOptions, jqXHR );
		// If we got redirected to another dataType
		// we try there if executing only and not done already
		if ( typeof selection === "string" ) {
			if ( !executeOnly || inspected[ selection ] ) {
				selection = undefined;
			} else {
				options.dataTypes.unshift( selection );
				selection = inspectPrefiltersOrTransports(
						structure, options, originalOptions, jqXHR, selection, inspected );
			}
		}
	}
	// If we're only executing or nothing was selected
	// we try the catchall dataType if not done already
	if ( ( executeOnly || !selection ) && !inspected[ "*" ] ) {
		selection = inspectPrefiltersOrTransports(
				structure, options, originalOptions, jqXHR, "*", inspected );
	}
	// unnecessary when only executing (prefilters)
	// but it'll be ignored by the caller in that case
	return selection;
}

// A special extend for ajax options
// that takes "flat" options (not to be deep extended)
// Fixes #9887
function ajaxExtend( target, src ) {
	var key, deep,
		flatOptions = jQuery.ajaxSettings.flatOptions || {};
	for ( key in src ) {
		if ( src[ key ] !== undefined ) {
			( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
		}
	}
	if ( deep ) {
		jQuery.extend( true, target, deep );
	}
}

jQuery.fn.load = function( url, params, callback ) {
	if ( typeof url !== "string" && _load ) {
		return _load.apply( this, arguments );
	}

	// Don't do a request if no elements are being requested
	if ( !this.length ) {
		return this;
	}

	var selector, type, response,
		self = this,
		off = url.indexOf(" ");

	if ( off >= 0 ) {
		selector = url.slice( off, url.length );
		url = url.slice( 0, off );
	}

	// If it's a function
	if ( jQuery.isFunction( params ) ) {

		// We assume that it's the callback
		callback = params;
		params = undefined;

	// Otherwise, build a param string
	} else if ( params && typeof params === "object" ) {
		type = "POST";
	}

	// Request the remote document
	jQuery.ajax({
		url: url,

		// if "type" variable is undefined, then "GET" method will be used
		type: type,
		dataType: "html",
		data: params,
		complete: function( jqXHR, status ) {
			if ( callback ) {
				self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] );
			}
		}
	}).done(function( responseText ) {

		// Save response for use in complete callback
		response = arguments;

		// See if a selector was specified
		self.html( selector ?

			// Create a dummy div to hold the results
			jQuery("<div>")

				// inject the contents of the document in, removing the scripts
				// to avoid any 'Permission Denied' errors in IE
				.append( responseText.replace( rscript, "" ) )

				// Locate the specified elements
				.find( selector ) :

			// If not, just inject the full result
			responseText );

	});

	return this;
};

// Attach a bunch of functions for handling common AJAX events
jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split( " " ), function( i, o ){
	jQuery.fn[ o ] = function( f ){
		return this.on( o, f );
	};
});

jQuery.each( [ "get", "post" ], function( i, method ) {
	jQuery[ method ] = function( url, data, callback, type ) {
		// shift arguments if data argument was omitted
		if ( jQuery.isFunction( data ) ) {
			type = type || callback;
			callback = data;
			data = undefined;
		}

		return jQuery.ajax({
			type: method,
			url: url,
			data: data,
			success: callback,
			dataType: type
		});
	};
});

jQuery.extend({

	getScript: function( url, callback ) {
		return jQuery.get( url, undefined, callback, "script" );
	},

	getJSON: function( url, data, callback ) {
		return jQuery.get( url, data, callback, "json" );
	},

	// Creates a full fledged settings object into target
	// with both ajaxSettings and settings fields.
	// If target is omitted, writes into ajaxSettings.
	ajaxSetup: function( target, settings ) {
		if ( settings ) {
			// Building a settings object
			ajaxExtend( target, jQuery.ajaxSettings );
		} else {
			// Extending ajaxSettings
			settings = target;
			target = jQuery.ajaxSettings;
		}
		ajaxExtend( target, settings );
		return target;
	},

	ajaxSettings: {
		url: ajaxLocation,
		isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),
		global: true,
		type: "GET",
		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
		processData: true,
		async: true,
		/*
		timeout: 0,
		data: null,
		dataType: null,
		username: null,
		password: null,
		cache: null,
		throws: false,
		traditional: false,
		headers: {},
		*/

		accepts: {
			xml: "application/xml, text/xml",
			html: "text/html",
			text: "text/plain",
			json: "application/json, text/javascript",
			"*": allTypes
		},

		contents: {
			xml: /xml/,
			html: /html/,
			json: /json/
		},

		responseFields: {
			xml: "responseXML",
			text: "responseText"
		},

		// List of data converters
		// 1) key format is "source_type destination_type" (a single space in-between)
		// 2) the catchall symbol "*" can be used for source_type
		converters: {

			// Convert anything to text
			"* text": window.String,

			// Text to html (true = no transformation)
			"text html": true,

			// Evaluate text as a json expression
			"text json": jQuery.parseJSON,

			// Parse text as xml
			"text xml": jQuery.parseXML
		},

		// For options that shouldn't be deep extended:
		// you can add your own custom options here if
		// and when you create one that shouldn't be
		// deep extended (see ajaxExtend)
		flatOptions: {
			context: true,
			url: true
		}
	},

	ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
	ajaxTransport: addToPrefiltersOrTransports( transports ),

	// Main method
	ajax: function( url, options ) {

		// If url is an object, simulate pre-1.5 signature
		if ( typeof url === "object" ) {
			options = url;
			url = undefined;
		}

		// Force options to be an object
		options = options || {};

		var // ifModified key
			ifModifiedKey,
			// Response headers
			responseHeadersString,
			responseHeaders,
			// transport
			transport,
			// timeout handle
			timeoutTimer,
			// Cross-domain detection vars
			parts,
			// To know if global events are to be dispatched
			fireGlobals,
			// Loop variable
			i,
			// Create the final options object
			s = jQuery.ajaxSetup( {}, options ),
			// Callbacks context
			callbackContext = s.context || s,
			// Context for global events
			// It's the callbackContext if one was provided in the options
			// and if it's a DOM node or a jQuery collection
			globalEventContext = callbackContext !== s &&
				( callbackContext.nodeType || callbackContext instanceof jQuery ) ?
						jQuery( callbackContext ) : jQuery.event,
			// Deferreds
			deferred = jQuery.Deferred(),
			completeDeferred = jQuery.Callbacks( "once memory" ),
			// Status-dependent callbacks
			statusCode = s.statusCode || {},
			// Headers (they are sent all at once)
			requestHeaders = {},
			requestHeadersNames = {},
			// The jqXHR state
			state = 0,
			// Default abort message
			strAbort = "canceled",
			// Fake xhr
			jqXHR = {

				readyState: 0,

				// Caches the header
				setRequestHeader: function( name, value ) {
					if ( !state ) {
						var lname = name.toLowerCase();
						name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
						requestHeaders[ name ] = value;
					}
					return this;
				},

				// Raw string
				getAllResponseHeaders: function() {
					return state === 2 ? responseHeadersString : null;
				},

				// Builds headers hashtable if needed
				getResponseHeader: function( key ) {
					var match;
					if ( state === 2 ) {
						if ( !responseHeaders ) {
							responseHeaders = {};
							while( ( match = rheaders.exec( responseHeadersString ) ) ) {
								responseHeaders[ match[1].toLowerCase() ] = match[ 2 ];
							}
						}
						match = responseHeaders[ key.toLowerCase() ];
					}
					return match === undefined ? null : match;
				},

				// Overrides response content-type header
				overrideMimeType: function( type ) {
					if ( !state ) {
						s.mimeType = type;
					}
					return this;
				},

				// Cancel the request
				abort: function( statusText ) {
					statusText = statusText || strAbort;
					if ( transport ) {
						transport.abort( statusText );
					}
					done( 0, statusText );
					return this;
				}
			};

		// Callback for when everything is done
		// It is defined here because jslint complains if it is declared
		// at the end of the function (which would be more logical and readable)
		function done( status, nativeStatusText, responses, headers ) {
			var isSuccess, success, error, response, modified,
				statusText = nativeStatusText;

			// Called once
			if ( state === 2 ) {
				return;
			}

			// State is "done" now
			state = 2;

			// Clear timeout if it exists
			if ( timeoutTimer ) {
				clearTimeout( timeoutTimer );
			}

			// Dereference transport for early garbage collection
			// (no matter how long the jqXHR object will be used)
			transport = undefined;

			// Cache response headers
			responseHeadersString = headers || "";

			// Set readyState
			jqXHR.readyState = status > 0 ? 4 : 0;

			// Get response data
			if ( responses ) {
				response = ajaxHandleResponses( s, jqXHR, responses );
			}

			// If successful, handle type chaining
			if ( status >= 200 && status < 300 || status === 304 ) {

				// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
				if ( s.ifModified ) {

					modified = jqXHR.getResponseHeader("Last-Modified");
					if ( modified ) {
						jQuery.lastModified[ ifModifiedKey ] = modified;
					}
					modified = jqXHR.getResponseHeader("Etag");
					if ( modified ) {
						jQuery.etag[ ifModifiedKey ] = modified;
					}
				}

				// If not modified
				if ( status === 304 ) {

					statusText = "notmodified";
					isSuccess = true;

				// If we have data
				} else {

					isSuccess = ajaxConvert( s, response );
					statusText = isSuccess.state;
					success = isSuccess.data;
					error = isSuccess.error;
					isSuccess = !error;
				}
			} else {
				// We extract error from statusText
				// then normalize statusText and status for non-aborts
				error = statusText;
				if ( !statusText || status ) {
					statusText = "error";
					if ( status < 0 ) {
						status = 0;
					}
				}
			}

			// Set data for the fake xhr object
			jqXHR.status = status;
			jqXHR.statusText = ( nativeStatusText || statusText ) + "";

			// Success/Error
			if ( isSuccess ) {
				deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
			} else {
				deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
			}

			// Status-dependent callbacks
			jqXHR.statusCode( statusCode );
			statusCode = undefined;

			if ( fireGlobals ) {
				globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ),
						[ jqXHR, s, isSuccess ? success : error ] );
			}

			// Complete
			completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );

			if ( fireGlobals ) {
				globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
				// Handle the global AJAX counter
				if ( !( --jQuery.active ) ) {
					jQuery.event.trigger( "ajaxStop" );
				}
			}
		}

		// Attach deferreds
		deferred.promise( jqXHR );
		jqXHR.success = jqXHR.done;
		jqXHR.error = jqXHR.fail;
		jqXHR.complete = completeDeferred.add;

		// Status-dependent callbacks
		jqXHR.statusCode = function( map ) {
			if ( map ) {
				var tmp;
				if ( state < 2 ) {
					for ( tmp in map ) {
						statusCode[ tmp ] = [ statusCode[tmp], map[tmp] ];
					}
				} else {
					tmp = map[ jqXHR.status ];
					jqXHR.always( tmp );
				}
			}
			return this;
		};

		// Remove hash character (#7531: and string promotion)
		// Add protocol if not provided (#5866: IE7 issue with protocol-less urls)
		// We also use the url parameter if available
		s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" );

		// Extract dataTypes list
		s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( core_rspace );

		// A cross-domain request is in order when we have a protocol:host:port mismatch
		if ( s.crossDomain == null ) {
			parts = rurl.exec( s.url.toLowerCase() ) || false;
			s.crossDomain = parts && ( parts.join(":") + ( parts[ 3 ] ? "" : parts[ 1 ] === "http:" ? 80 : 443 ) ) !==
				( ajaxLocParts.join(":") + ( ajaxLocParts[ 3 ] ? "" : ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) );
		}

		// Convert data if not already a string
		if ( s.data && s.processData && typeof s.data !== "string" ) {
			s.data = jQuery.param( s.data, s.traditional );
		}

		// Apply prefilters
		inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );

		// If request was aborted inside a prefilter, stop there
		if ( state === 2 ) {
			return jqXHR;
		}

		// We can fire global events as of now if asked to
		fireGlobals = s.global;

		// Uppercase the type
		s.type = s.type.toUpperCase();

		// Determine if request has content
		s.hasContent = !rnoContent.test( s.type );

		// Watch for a new set of requests
		if ( fireGlobals && jQuery.active++ === 0 ) {
			jQuery.event.trigger( "ajaxStart" );
		}

		// More options handling for requests with no content
		if ( !s.hasContent ) {

			// If data is available, append data to url
			if ( s.data ) {
				s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.data;
				// #9682: remove data so that it's not used in an eventual retry
				delete s.data;
			}

			// Get ifModifiedKey before adding the anti-cache parameter
			ifModifiedKey = s.url;

			// Add anti-cache in url if needed
			if ( s.cache === false ) {

				var ts = jQuery.now(),
					// try replacing _= if it is there
					ret = s.url.replace( rts, "$1_=" + ts );

				// if nothing was replaced, add timestamp to the end
				s.url = ret + ( ( ret === s.url ) ? ( rquery.test( s.url ) ? "&" : "?" ) + "_=" + ts : "" );
			}
		}

		// Set the correct header, if data is being sent
		if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
			jqXHR.setRequestHeader( "Content-Type", s.contentType );
		}

		// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
		if ( s.ifModified ) {
			ifModifiedKey = ifModifiedKey || s.url;
			if ( jQuery.lastModified[ ifModifiedKey ] ) {
				jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] );
			}
			if ( jQuery.etag[ ifModifiedKey ] ) {
				jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] );
			}
		}

		// Set the Accepts header for the server, depending on the dataType
		jqXHR.setRequestHeader(
			"Accept",
			s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?
				s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
				s.accepts[ "*" ]
		);

		// Check for headers option
		for ( i in s.headers ) {
			jqXHR.setRequestHeader( i, s.headers[ i ] );
		}

		// Allow custom headers/mimetypes and early abort
		if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
				// Abort if not done already and return
				return jqXHR.abort();

		}

		// aborting is no longer a cancellation
		strAbort = "abort";

		// Install callbacks on deferreds
		for ( i in { success: 1, error: 1, complete: 1 } ) {
			jqXHR[ i ]( s[ i ] );
		}

		// Get transport
		transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );

		// If no transport, we auto-abort
		if ( !transport ) {
			done( -1, "No Transport" );
		} else {
			jqXHR.readyState = 1;
			// Send global event
			if ( fireGlobals ) {
				globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
			}
			// Timeout
			if ( s.async && s.timeout > 0 ) {
				timeoutTimer = setTimeout( function(){
					jqXHR.abort( "timeout" );
				}, s.timeout );
			}

			try {
				state = 1;
				transport.send( requestHeaders, done );
			} catch (e) {
				// Propagate exception as error if not done
				if ( state < 2 ) {
					done( -1, e );
				// Simply rethrow otherwise
				} else {
					throw e;
				}
			}
		}

		return jqXHR;
	},

	// Counter for holding the number of active queries
	active: 0,

	// Last-Modified header cache for next request
	lastModified: {},
	etag: {}

});

/* Handles responses to an ajax request:
 * - sets all responseXXX fields accordingly
 * - finds the right dataType (mediates between content-type and expected dataType)
 * - returns the corresponding response
 */
function ajaxHandleResponses( s, jqXHR, responses ) {

	var ct, type, finalDataType, firstDataType,
		contents = s.contents,
		dataTypes = s.dataTypes,
		responseFields = s.responseFields;

	// Fill responseXXX fields
	for ( type in responseFields ) {
		if ( type in responses ) {
			jqXHR[ responseFields[type] ] = responses[ type ];
		}
	}

	// Remove auto dataType and get content-type in the process
	while( dataTypes[ 0 ] === "*" ) {
		dataTypes.shift();
		if ( ct === undefined ) {
			ct = s.mimeType || jqXHR.getResponseHeader( "content-type" );
		}
	}

	// Check if we're dealing with a known content-type
	if ( ct ) {
		for ( type in contents ) {
			if ( contents[ type ] && contents[ type ].test( ct ) ) {
				dataTypes.unshift( type );
				break;
			}
		}
	}

	// Check to see if we have a response for the expected dataType
	if ( dataTypes[ 0 ] in responses ) {
		finalDataType = dataTypes[ 0 ];
	} else {
		// Try convertible dataTypes
		for ( type in responses ) {
			if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) {
				finalDataType = type;
				break;
			}
			if ( !firstDataType ) {
				firstDataType = type;
			}
		}
		// Or just use first one
		finalDataType = finalDataType || firstDataType;
	}

	// If we found a dataType
	// We add the dataType to the list if needed
	// and return the corresponding response
	if ( finalDataType ) {
		if ( finalDataType !== dataTypes[ 0 ] ) {
			dataTypes.unshift( finalDataType );
		}
		return responses[ finalDataType ];
	}
}

// Chain conversions given the request and the original response
function ajaxConvert( s, response ) {

	var conv, conv2, current, tmp,
		// Work with a copy of dataTypes in case we need to modify it for conversion
		dataTypes = s.dataTypes.slice(),
		prev = dataTypes[ 0 ],
		converters = {},
		i = 0;

	// Apply the dataFilter if provided
	if ( s.dataFilter ) {
		response = s.dataFilter( response, s.dataType );
	}

	// Create converters map with lowercased keys
	if ( dataTypes[ 1 ] ) {
		for ( conv in s.converters ) {
			converters[ conv.toLowerCase() ] = s.converters[ conv ];
		}
	}

	// Convert to each sequential dataType, tolerating list modification
	for ( ; (current = dataTypes[++i]); ) {

		// There's only work to do if current dataType is non-auto
		if ( current !== "*" ) {

			// Convert response if prev dataType is non-auto and differs from current
			if ( prev !== "*" && prev !== current ) {

				// Seek a direct converter
				conv = converters[ prev + " " + current ] || converters[ "* " + current ];

				// If none found, seek a pair
				if ( !conv ) {
					for ( conv2 in converters ) {

						// If conv2 outputs current
						tmp = conv2.split(" ");
						if ( tmp[ 1 ] === current ) {

							// If prev can be converted to accepted input
							conv = converters[ prev + " " + tmp[ 0 ] ] ||
								converters[ "* " + tmp[ 0 ] ];
							if ( conv ) {
								// Condense equivalence converters
								if ( conv === true ) {
									conv = converters[ conv2 ];

								// Otherwise, insert the intermediate dataType
								} else if ( converters[ conv2 ] !== true ) {
									current = tmp[ 0 ];
									dataTypes.splice( i--, 0, current );
								}

								break;
							}
						}
					}
				}

				// Apply converter (if not an equivalence)
				if ( conv !== true ) {

					// Unless errors are allowed to bubble, catch and return them
					if ( conv && s["throws"] ) {
						response = conv( response );
					} else {
						try {
							response = conv( response );
						} catch ( e ) {
							return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current };
						}
					}
				}
			}

			// Update prev for next iteration
			prev = current;
		}
	}

	return { state: "success", data: response };
}
var oldCallbacks = [],
	rquestion = /\?/,
	rjsonp = /(=)\?(?=&|$)|\?\?/,
	nonce = jQuery.now();

// Default jsonp settings
jQuery.ajaxSetup({
	jsonp: "callback",
	jsonpCallback: function() {
		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
		this[ callback ] = true;
		return callback;
	}
});

// Detect, normalize options and install callbacks for jsonp requests
jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {

	var callbackName, overwritten, responseContainer,
		data = s.data,
		url = s.url,
		hasCallback = s.jsonp !== false,
		replaceInUrl = hasCallback && rjsonp.test( url ),
		replaceInData = hasCallback && !replaceInUrl && typeof data === "string" &&
			!( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") &&
			rjsonp.test( data );

	// Handle iff the expected data type is "jsonp" or we have a parameter to set
	if ( s.dataTypes[ 0 ] === "jsonp" || replaceInUrl || replaceInData ) {

		// Get callback name, remembering preexisting value associated with it
		callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
			s.jsonpCallback() :
			s.jsonpCallback;
		overwritten = window[ callbackName ];

		// Insert callback into url or form data
		if ( replaceInUrl ) {
			s.url = url.replace( rjsonp, "$1" + callbackName );
		} else if ( replaceInData ) {
			s.data = data.replace( rjsonp, "$1" + callbackName );
		} else if ( hasCallback ) {
			s.url += ( rquestion.test( url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
		}

		// Use data converter to retrieve json after script execution
		s.converters["script json"] = function() {
			if ( !responseContainer ) {
				jQuery.error( callbackName + " was not called" );
			}
			return responseContainer[ 0 ];
		};

		// force json dataType
		s.dataTypes[ 0 ] = "json";

		// Install callback
		window[ callbackName ] = function() {
			responseContainer = arguments;
		};

		// Clean-up function (fires after converters)
		jqXHR.always(function() {
			// Restore preexisting value
			window[ callbackName ] = overwritten;

			// Save back as free
			if ( s[ callbackName ] ) {
				// make sure that re-using the options doesn't screw things around
				s.jsonpCallback = originalSettings.jsonpCallback;

				// save the callback name for future use
				oldCallbacks.push( callbackName );
			}

			// Call if it was a function and we have a response
			if ( responseContainer && jQuery.isFunction( overwritten ) ) {
				overwritten( responseContainer[ 0 ] );
			}

			responseContainer = overwritten = undefined;
		});

		// Delegate to script
		return "script";
	}
});
// Install script dataType
jQuery.ajaxSetup({
	accepts: {
		script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
	},
	contents: {
		script: /javascript|ecmascript/
	},
	converters: {
		"text script": function( text ) {
			jQuery.globalEval( text );
			return text;
		}
	}
});

// Handle cache's special case and global
jQuery.ajaxPrefilter( "script", function( s ) {
	if ( s.cache === undefined ) {
		s.cache = false;
	}
	if ( s.crossDomain ) {
		s.type = "GET";
		s.global = false;
	}
});

// Bind script tag hack transport
jQuery.ajaxTransport( "script", function(s) {

	// This transport only deals with cross domain requests
	if ( s.crossDomain ) {

		var script,
			head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement;

		return {

			send: function( _, callback ) {

				script = document.createElement( "script" );

				script.async = "async";

				if ( s.scriptCharset ) {
					script.charset = s.scriptCharset;
				}

				script.src = s.url;

				// Attach handlers for all browsers
				script.onload = script.onreadystatechange = function( _, isAbort ) {

					if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) {

						// Handle memory leak in IE
						script.onload = script.onreadystatechange = null;

						// Remove the script
						if ( head && script.parentNode ) {
							head.removeChild( script );
						}

						// Dereference the script
						script = undefined;

						// Callback if not abort
						if ( !isAbort ) {
							callback( 200, "success" );
						}
					}
				};
				// Use insertBefore instead of appendChild  to circumvent an IE6 bug.
				// This arises when a base node is used (#2709 and #4378).
				head.insertBefore( script, head.firstChild );
			},

			abort: function() {
				if ( script ) {
					script.onload( 0, 1 );
				}
			}
		};
	}
});
var xhrCallbacks,
	// #5280: Internet Explorer will keep connections alive if we don't abort on unload
	xhrOnUnloadAbort = window.ActiveXObject ? function() {
		// Abort all pending requests
		for ( var key in xhrCallbacks ) {
			xhrCallbacks[ key ]( 0, 1 );
		}
	} : false,
	xhrId = 0;

// Functions to create xhrs
function createStandardXHR() {
	try {
		return new window.XMLHttpRequest();
	} catch( e ) {}
}

function createActiveXHR() {
	try {
		return new window.ActiveXObject( "Microsoft.XMLHTTP" );
	} catch( e ) {}
}

// Create the request object
// (This is still attached to ajaxSettings for backward compatibility)
jQuery.ajaxSettings.xhr = window.ActiveXObject ?
	/* Microsoft failed to properly
	 * implement the XMLHttpRequest in IE7 (can't request local files),
	 * so we use the ActiveXObject when it is available
	 * Additionally XMLHttpRequest can be disabled in IE7/IE8 so
	 * we need a fallback.
	 */
	function() {
		return !this.isLocal && createStandardXHR() || createActiveXHR();
	} :
	// For all other browsers, use the standard XMLHttpRequest object
	createStandardXHR;

// Determine support properties
(function( xhr ) {
	jQuery.extend( jQuery.support, {
		ajax: !!xhr,
		cors: !!xhr && ( "withCredentials" in xhr )
	});
})( jQuery.ajaxSettings.xhr() );

// Create transport if the browser can provide an xhr
if ( jQuery.support.ajax ) {

	jQuery.ajaxTransport(function( s ) {
		// Cross domain only allowed if supported through XMLHttpRequest
		if ( !s.crossDomain || jQuery.support.cors ) {

			var callback;

			return {
				send: function( headers, complete ) {

					// Get a new xhr
					var handle, i,
						xhr = s.xhr();

					// Open the socket
					// Passing null username, generates a login popup on Opera (#2865)
					if ( s.username ) {
						xhr.open( s.type, s.url, s.async, s.username, s.password );
					} else {
						xhr.open( s.type, s.url, s.async );
					}

					// Apply custom fields if provided
					if ( s.xhrFields ) {
						for ( i in s.xhrFields ) {
							xhr[ i ] = s.xhrFields[ i ];
						}
					}

					// Override mime type if needed
					if ( s.mimeType && xhr.overrideMimeType ) {
						xhr.overrideMimeType( s.mimeType );
					}

					// X-Requested-With header
					// For cross-domain requests, seeing as conditions for a preflight are
					// akin to a jigsaw puzzle, we simply never set it to be sure.
					// (it can always be set on a per-request basis or even using ajaxSetup)
					// For same-domain requests, won't change header if already provided.
					if ( !s.crossDomain && !headers["X-Requested-With"] ) {
						headers[ "X-Requested-With" ] = "XMLHttpRequest";
					}

					// Need an extra try/catch for cross domain requests in Firefox 3
					try {
						for ( i in headers ) {
							xhr.setRequestHeader( i, headers[ i ] );
						}
					} catch( _ ) {}

					// Do send the request
					// This may raise an exception which is actually
					// handled in jQuery.ajax (so no try/catch here)
					xhr.send( ( s.hasContent && s.data ) || null );

					// Listener
					callback = function( _, isAbort ) {

						var status,
							statusText,
							responseHeaders,
							responses,
							xml;

						// Firefox throws exceptions when accessing properties
						// of an xhr when a network error occurred
						// http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
						try {

							// Was never called and is aborted or complete
							if ( callback && ( isAbort || xhr.readyState === 4 ) ) {

								// Only called once
								callback = undefined;

								// Do not keep as active anymore
								if ( handle ) {
									xhr.onreadystatechange = jQuery.noop;
									if ( xhrOnUnloadAbort ) {
										delete xhrCallbacks[ handle ];
									}
								}

								// If it's an abort
								if ( isAbort ) {
									// Abort it manually if needed
									if ( xhr.readyState !== 4 ) {
										xhr.abort();
									}
								} else {
									status = xhr.status;
									responseHeaders = xhr.getAllResponseHeaders();
									responses = {};
									xml = xhr.responseXML;

									// Construct response list
									if ( xml && xml.documentElement /* #4958 */ ) {
										responses.xml = xml;
									}

									// When requesting binary data, IE6-9 will throw an exception
									// on any attempt to access responseText (#11426)
									try {
										responses.text = xhr.responseText;
									} catch( _ ) {
									}

									// Firefox throws an exception when accessing
									// statusText for faulty cross-domain requests
									try {
										statusText = xhr.statusText;
									} catch( e ) {
										// We normalize with Webkit giving an empty statusText
										statusText = "";
									}

									// Filter status for non standard behaviors

									// If the request is local and we have data: assume a success
									// (success with no data won't get notified, that's the best we
									// can do given current implementations)
									if ( !status && s.isLocal && !s.crossDomain ) {
										status = responses.text ? 200 : 404;
									// IE - #1450: sometimes returns 1223 when it should be 204
									} else if ( status === 1223 ) {
										status = 204;
									}
								}
							}
						} catch( firefoxAccessException ) {
							if ( !isAbort ) {
								complete( -1, firefoxAccessException );
							}
						}

						// Call complete if needed
						if ( responses ) {
							complete( status, statusText, responses, responseHeaders );
						}
					};

					if ( !s.async ) {
						// if we're in sync mode we fire the callback
						callback();
					} else if ( xhr.readyState === 4 ) {
						// (IE6 & IE7) if it's in cache and has been
						// retrieved directly we need to fire the callback
						setTimeout( callback, 0 );
					} else {
						handle = ++xhrId;
						if ( xhrOnUnloadAbort ) {
							// Create the active xhrs callbacks list if needed
							// and attach the unload handler
							if ( !xhrCallbacks ) {
								xhrCallbacks = {};
								jQuery( window ).unload( xhrOnUnloadAbort );
							}
							// Add to list of active xhrs callbacks
							xhrCallbacks[ handle ] = callback;
						}
						xhr.onreadystatechange = callback;
					}
				},

				abort: function() {
					if ( callback ) {
						callback(0,1);
					}
				}
			};
		}
	});
}
var fxNow, timerId,
	rfxtypes = /^(?:toggle|show|hide)$/,
	rfxnum = new RegExp( "^(?:([-+])=|)(" + core_pnum + ")([a-z%]*)$", "i" ),
	rrun = /queueHooks$/,
	animationPrefilters = [ defaultPrefilter ],
	tweeners = {
		"*": [function( prop, value ) {
			var end, unit,
				tween = this.createTween( prop, value ),
				parts = rfxnum.exec( value ),
				target = tween.cur(),
				start = +target || 0,
				scale = 1,
				maxIterations = 20;

			if ( parts ) {
				end = +parts[2];
				unit = parts[3] || ( jQuery.cssNumber[ prop ] ? "" : "px" );

				// We need to compute starting value
				if ( unit !== "px" && start ) {
					// Iteratively approximate from a nonzero starting point
					// Prefer the current property, because this process will be trivial if it uses the same units
					// Fallback to end or a simple constant
					start = jQuery.css( tween.elem, prop, true ) || end || 1;

					do {
						// If previous iteration zeroed out, double until we get *something*
						// Use a string for doubling factor so we don't accidentally see scale as unchanged below
						scale = scale || ".5";

						// Adjust and apply
						start = start / scale;
						jQuery.style( tween.elem, prop, start + unit );

					// Update scale, tolerating zero or NaN from tween.cur()
					// And breaking the loop if scale is unchanged or perfect, or if we've just had enough
					} while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations );
				}

				tween.unit = unit;
				tween.start = start;
				// If a +=/-= token was provided, we're doing a relative animation
				tween.end = parts[1] ? start + ( parts[1] + 1 ) * end : end;
			}
			return tween;
		}]
	};

// Animations created synchronously will run synchronously
function createFxNow() {
	setTimeout(function() {
		fxNow = undefined;
	}, 0 );
	return ( fxNow = jQuery.now() );
}

function createTweens( animation, props ) {
	jQuery.each( props, function( prop, value ) {
		var collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ),
			index = 0,
			length = collection.length;
		for ( ; index < length; index++ ) {
			if ( collection[ index ].call( animation, prop, value ) ) {

				// we're done with this property
				return;
			}
		}
	});
}

function Animation( elem, properties, options ) {
	var result,
		index = 0,
		tweenerIndex = 0,
		length = animationPrefilters.length,
		deferred = jQuery.Deferred().always( function() {
			// don't match elem in the :animated selector
			delete tick.elem;
		}),
		tick = function() {
			var currentTime = fxNow || createFxNow(),
				remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
				percent = 1 - ( remaining / animation.duration || 0 ),
				index = 0,
				length = animation.tweens.length;

			for ( ; index < length ; index++ ) {
				animation.tweens[ index ].run( percent );
			}

			deferred.notifyWith( elem, [ animation, percent, remaining ]);

			if ( percent < 1 && length ) {
				return remaining;
			} else {
				deferred.resolveWith( elem, [ animation ] );
				return false;
			}
		},
		animation = deferred.promise({
			elem: elem,
			props: jQuery.extend( {}, properties ),
			opts: jQuery.extend( true, { specialEasing: {} }, options ),
			originalProperties: properties,
			originalOptions: options,
			startTime: fxNow || createFxNow(),
			duration: options.duration,
			tweens: [],
			createTween: function( prop, end, easing ) {
				var tween = jQuery.Tween( elem, animation.opts, prop, end,
						animation.opts.specialEasing[ prop ] || animation.opts.easing );
				animation.tweens.push( tween );
				return tween;
			},
			stop: function( gotoEnd ) {
				var index = 0,
					// if we are going to the end, we want to run all the tweens
					// otherwise we skip this part
					length = gotoEnd ? animation.tweens.length : 0;

				for ( ; index < length ; index++ ) {
					animation.tweens[ index ].run( 1 );
				}

				// resolve when we played the last frame
				// otherwise, reject
				if ( gotoEnd ) {
					deferred.resolveWith( elem, [ animation, gotoEnd ] );
				} else {
					deferred.rejectWith( elem, [ animation, gotoEnd ] );
				}
				return this;
			}
		}),
		props = animation.props;

	propFilter( props, animation.opts.specialEasing );

	for ( ; index < length ; index++ ) {
		result = animationPrefilters[ index ].call( animation, elem, props, animation.opts );
		if ( result ) {
			return result;
		}
	}

	createTweens( animation, props );

	if ( jQuery.isFunction( animation.opts.start ) ) {
		animation.opts.start.call( elem, animation );
	}

	jQuery.fx.timer(
		jQuery.extend( tick, {
			anim: animation,
			queue: animation.opts.queue,
			elem: elem
		})
	);

	// attach callbacks from options
	return animation.progress( animation.opts.progress )
		.done( animation.opts.done, animation.opts.complete )
		.fail( animation.opts.fail )
		.always( animation.opts.always );
}

function propFilter( props, specialEasing ) {
	var index, name, easing, value, hooks;

	// camelCase, specialEasing and expand cssHook pass
	for ( index in props ) {
		name = jQuery.camelCase( index );
		easing = specialEasing[ name ];
		value = props[ index ];
		if ( jQuery.isArray( value ) ) {
			easing = value[ 1 ];
			value = props[ index ] = value[ 0 ];
		}

		if ( index !== name ) {
			props[ name ] = value;
			delete props[ index ];
		}

		hooks = jQuery.cssHooks[ name ];
		if ( hooks && "expand" in hooks ) {
			value = hooks.expand( value );
			delete props[ name ];

			// not quite $.extend, this wont overwrite keys already present.
			// also - reusing 'index' from above because we have the correct "name"
			for ( index in value ) {
				if ( !( index in props ) ) {
					props[ index ] = value[ index ];
					specialEasing[ index ] = easing;
				}
			}
		} else {
			specialEasing[ name ] = easing;
		}
	}
}

jQuery.Animation = jQuery.extend( Animation, {

	tweener: function( props, callback ) {
		if ( jQuery.isFunction( props ) ) {
			callback = props;
			props = [ "*" ];
		} else {
			props = props.split(" ");
		}

		var prop,
			index = 0,
			length = props.length;

		for ( ; index < length ; index++ ) {
			prop = props[ index ];
			tweeners[ prop ] = tweeners[ prop ] || [];
			tweeners[ prop ].unshift( callback );
		}
	},

	prefilter: function( callback, prepend ) {
		if ( prepend ) {
			animationPrefilters.unshift( callback );
		} else {
			animationPrefilters.push( callback );
		}
	}
});

function defaultPrefilter( elem, props, opts ) {
	var index, prop, value, length, dataShow, tween, hooks, oldfire,
		anim = this,
		style = elem.style,
		orig = {},
		handled = [],
		hidden = elem.nodeType && isHidden( elem );

	// handle queue: false promises
	if ( !opts.queue ) {
		hooks = jQuery._queueHooks( elem, "fx" );
		if ( hooks.unqueued == null ) {
			hooks.unqueued = 0;
			oldfire = hooks.empty.fire;
			hooks.empty.fire = function() {
				if ( !hooks.unqueued ) {
					oldfire();
				}
			};
		}
		hooks.unqueued++;

		anim.always(function() {
			// doing this makes sure that the complete handler will be called
			// before this completes
			anim.always(function() {
				hooks.unqueued--;
				if ( !jQuery.queue( elem, "fx" ).length ) {
					hooks.empty.fire();
				}
			});
		});
	}

	// height/width overflow pass
	if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) {
		// Make sure that nothing sneaks out
		// Record all 3 overflow attributes because IE does not
		// change the overflow attribute when overflowX and
		// overflowY are set to the same value
		opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];

		// Set display property to inline-block for height/width
		// animations on inline elements that are having width/height animated
		if ( jQuery.css( elem, "display" ) === "inline" &&
				jQuery.css( elem, "float" ) === "none" ) {

			// inline-level elements accept inline-block;
			// block-level elements need to be inline with layout
			if ( !jQuery.support.inlineBlockNeedsLayout || css_defaultDisplay( elem.nodeName ) === "inline" ) {
				style.display = "inline-block";

			} else {
				style.zoom = 1;
			}
		}
	}

	if ( opts.overflow ) {
		style.overflow = "hidden";
		if ( !jQuery.support.shrinkWrapBlocks ) {
			anim.done(function() {
				style.overflow = opts.overflow[ 0 ];
				style.overflowX = opts.overflow[ 1 ];
				style.overflowY = opts.overflow[ 2 ];
			});
		}
	}


	// show/hide pass
	for ( index in props ) {
		value = props[ index ];
		if ( rfxtypes.exec( value ) ) {
			delete props[ index ];
			if ( value === ( hidden ? "hide" : "show" ) ) {
				continue;
			}
			handled.push( index );
		}
	}

	length = handled.length;
	if ( length ) {
		dataShow = jQuery._data( elem, "fxshow" ) || jQuery._data( elem, "fxshow", {} );
		if ( hidden ) {
			jQuery( elem ).show();
		} else {
			anim.done(function() {
				jQuery( elem ).hide();
			});
		}
		anim.done(function() {
			var prop;
			jQuery.removeData( elem, "fxshow", true );
			for ( prop in orig ) {
				jQuery.style( elem, prop, orig[ prop ] );
			}
		});
		for ( index = 0 ; index < length ; index++ ) {
			prop = handled[ index ];
			tween = anim.createTween( prop, hidden ? dataShow[ prop ] : 0 );
			orig[ prop ] = dataShow[ prop ] || jQuery.style( elem, prop );

			if ( !( prop in dataShow ) ) {
				dataShow[ prop ] = tween.start;
				if ( hidden ) {
					tween.end = tween.start;
					tween.start = prop === "width" || prop === "height" ? 1 : 0;
				}
			}
		}
	}
}

function Tween( elem, options, prop, end, easing ) {
	return new Tween.prototype.init( elem, options, prop, end, easing );
}
jQuery.Tween = Tween;

Tween.prototype = {
	constructor: Tween,
	init: function( elem, options, prop, end, easing, unit ) {
		this.elem = elem;
		this.prop = prop;
		this.easing = easing || "swing";
		this.options = options;
		this.start = this.now = this.cur();
		this.end = end;
		this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
	},
	cur: function() {
		var hooks = Tween.propHooks[ this.prop ];

		return hooks && hooks.get ?
			hooks.get( this ) :
			Tween.propHooks._default.get( this );
	},
	run: function( percent ) {
		var eased,
			hooks = Tween.propHooks[ this.prop ];

		if ( this.options.duration ) {
			this.pos = eased = jQuery.easing[ this.easing ](
				percent, this.options.duration * percent, 0, 1, this.options.duration
			);
		} else {
			this.pos = eased = percent;
		}
		this.now = ( this.end - this.start ) * eased + this.start;

		if ( this.options.step ) {
			this.options.step.call( this.elem, this.now, this );
		}

		if ( hooks && hooks.set ) {
			hooks.set( this );
		} else {
			Tween.propHooks._default.set( this );
		}
		return this;
	}
};

Tween.prototype.init.prototype = Tween.prototype;

Tween.propHooks = {
	_default: {
		get: function( tween ) {
			var result;

			if ( tween.elem[ tween.prop ] != null &&
				(!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) {
				return tween.elem[ tween.prop ];
			}

			// passing any value as a 4th parameter to .css will automatically
			// attempt a parseFloat and fallback to a string if the parse fails
			// so, simple values such as "10px" are parsed to Float.
			// complex values such as "rotate(1rad)" are returned as is.
			result = jQuery.css( tween.elem, tween.prop, false, "" );
			// Empty strings, null, undefined and "auto" are converted to 0.
			return !result || result === "auto" ? 0 : result;
		},
		set: function( tween ) {
			// use step hook for back compat - use cssHook if its there - use .style if its
			// available and use plain properties where available
			if ( jQuery.fx.step[ tween.prop ] ) {
				jQuery.fx.step[ tween.prop ]( tween );
			} else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) {
				jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
			} else {
				tween.elem[ tween.prop ] = tween.now;
			}
		}
	}
};

// Remove in 2.0 - this supports IE8's panic based approach
// to setting things on disconnected nodes

Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
	set: function( tween ) {
		if ( tween.elem.nodeType && tween.elem.parentNode ) {
			tween.elem[ tween.prop ] = tween.now;
		}
	}
};

jQuery.each([ "toggle", "show", "hide" ], function( i, name ) {
	var cssFn = jQuery.fn[ name ];
	jQuery.fn[ name ] = function( speed, easing, callback ) {
		return speed == null || typeof speed === "boolean" ||
			// special check for .toggle( handler, handler, ... )
			( !i && jQuery.isFunction( speed ) && jQuery.isFunction( easing ) ) ?
			cssFn.apply( this, arguments ) :
			this.animate( genFx( name, true ), speed, easing, callback );
	};
});

jQuery.fn.extend({
	fadeTo: function( speed, to, easing, callback ) {

		// show any hidden elements after setting opacity to 0
		return this.filter( isHidden ).css( "opacity", 0 ).show()

			// animate to the value specified
			.end().animate({ opacity: to }, speed, easing, callback );
	},
	animate: function( prop, speed, easing, callback ) {
		var empty = jQuery.isEmptyObject( prop ),
			optall = jQuery.speed( speed, easing, callback ),
			doAnimation = function() {
				// Operate on a copy of prop so per-property easing won't be lost
				var anim = Animation( this, jQuery.extend( {}, prop ), optall );

				// Empty animations resolve immediately
				if ( empty ) {
					anim.stop( true );
				}
			};

		return empty || optall.queue === false ?
			this.each( doAnimation ) :
			this.queue( optall.queue, doAnimation );
	},
	stop: function( type, clearQueue, gotoEnd ) {
		var stopQueue = function( hooks ) {
			var stop = hooks.stop;
			delete hooks.stop;
			stop( gotoEnd );
		};

		if ( typeof type !== "string" ) {
			gotoEnd = clearQueue;
			clearQueue = type;
			type = undefined;
		}
		if ( clearQueue && type !== false ) {
			this.queue( type || "fx", [] );
		}

		return this.each(function() {
			var dequeue = true,
				index = type != null && type + "queueHooks",
				timers = jQuery.timers,
				data = jQuery._data( this );

			if ( index ) {
				if ( data[ index ] && data[ index ].stop ) {
					stopQueue( data[ index ] );
				}
			} else {
				for ( index in data ) {
					if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
						stopQueue( data[ index ] );
					}
				}
			}

			for ( index = timers.length; index--; ) {
				if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) {
					timers[ index ].anim.stop( gotoEnd );
					dequeue = false;
					timers.splice( index, 1 );
				}
			}

			// start the next in the queue if the last step wasn't forced
			// timers currently will call their complete callbacks, which will dequeue
			// but only if they were gotoEnd
			if ( dequeue || !gotoEnd ) {
				jQuery.dequeue( this, type );
			}
		});
	}
});

// Generate parameters to create a standard animation
function genFx( type, includeWidth ) {
	var which,
		attrs = { height: type },
		i = 0;

	// if we include width, step value is 1 to do all cssExpand values,
	// if we don't include width, step value is 2 to skip over Left and Right
	includeWidth = includeWidth? 1 : 0;
	for( ; i < 4 ; i += 2 - includeWidth ) {
		which = cssExpand[ i ];
		attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
	}

	if ( includeWidth ) {
		attrs.opacity = attrs.width = type;
	}

	return attrs;
}

// Generate shortcuts for custom animations
jQuery.each({
	slideDown: genFx("show"),
	slideUp: genFx("hide"),
	slideToggle: genFx("toggle"),
	fadeIn: { opacity: "show" },
	fadeOut: { opacity: "hide" },
	fadeToggle: { opacity: "toggle" }
}, function( name, props ) {
	jQuery.fn[ name ] = function( speed, easing, callback ) {
		return this.animate( props, speed, easing, callback );
	};
});

jQuery.speed = function( speed, easing, fn ) {
	var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
		complete: fn || !fn && easing ||
			jQuery.isFunction( speed ) && speed,
		duration: speed,
		easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
	};

	opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
		opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;

	// normalize opt.queue - true/undefined/null -> "fx"
	if ( opt.queue == null || opt.queue === true ) {
		opt.queue = "fx";
	}

	// Queueing
	opt.old = opt.complete;

	opt.complete = function() {
		if ( jQuery.isFunction( opt.old ) ) {
			opt.old.call( this );
		}

		if ( opt.queue ) {
			jQuery.dequeue( this, opt.queue );
		}
	};

	return opt;
};

jQuery.easing = {
	linear: function( p ) {
		return p;
	},
	swing: function( p ) {
		return 0.5 - Math.cos( p*Math.PI ) / 2;
	}
};

jQuery.timers = [];
jQuery.fx = Tween.prototype.init;
jQuery.fx.tick = function() {
	var timer,
		timers = jQuery.timers,
		i = 0;

	for ( ; i < timers.length; i++ ) {
		timer = timers[ i ];
		// Checks the timer has not already been removed
		if ( !timer() && timers[ i ] === timer ) {
			timers.splice( i--, 1 );
		}
	}

	if ( !timers.length ) {
		jQuery.fx.stop();
	}
};

jQuery.fx.timer = function( timer ) {
	if ( timer() && jQuery.timers.push( timer ) && !timerId ) {
		timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval );
	}
};

jQuery.fx.interval = 13;

jQuery.fx.stop = function() {
	clearInterval( timerId );
	timerId = null;
};

jQuery.fx.speeds = {
	slow: 600,
	fast: 200,
	// Default speed
	_default: 400
};

// Back Compat <1.8 extension point
jQuery.fx.step = {};

if ( jQuery.expr && jQuery.expr.filters ) {
	jQuery.expr.filters.animated = function( elem ) {
		return jQuery.grep(jQuery.timers, function( fn ) {
			return elem === fn.elem;
		}).length;
	};
}
var rroot = /^(?:body|html)$/i;

jQuery.fn.offset = function( options ) {
	if ( arguments.length ) {
		return options === undefined ?
			this :
			this.each(function( i ) {
				jQuery.offset.setOffset( this, options, i );
			});
	}

	var docElem, body, win, clientTop, clientLeft, scrollTop, scrollLeft,
		box = { top: 0, left: 0 },
		elem = this[ 0 ],
		doc = elem && elem.ownerDocument;

	if ( !doc ) {
		return;
	}

	if ( (body = doc.body) === elem ) {
		return jQuery.offset.bodyOffset( elem );
	}

	docElem = doc.documentElement;

	// Make sure it's not a disconnected DOM node
	if ( !jQuery.contains( docElem, elem ) ) {
		return box;
	}

	// If we don't have gBCR, just use 0,0 rather than error
	// BlackBerry 5, iOS 3 (original iPhone)
	if ( typeof elem.getBoundingClientRect !== "undefined" ) {
		box = elem.getBoundingClientRect();
	}
	win = getWindow( doc );
	clientTop  = docElem.clientTop  || body.clientTop  || 0;
	clientLeft = docElem.clientLeft || body.clientLeft || 0;
	scrollTop  = win.pageYOffset || docElem.scrollTop;
	scrollLeft = win.pageXOffset || docElem.scrollLeft;
	return {
		top: box.top  + scrollTop  - clientTop,
		left: box.left + scrollLeft - clientLeft
	};
};

jQuery.offset = {

	bodyOffset: function( body ) {
		var top = body.offsetTop,
			left = body.offsetLeft;

		if ( jQuery.support.doesNotIncludeMarginInBodyOffset ) {
			top  += parseFloat( jQuery.css(body, "marginTop") ) || 0;
			left += parseFloat( jQuery.css(body, "marginLeft") ) || 0;
		}

		return { top: top, left: left };
	},

	setOffset: function( elem, options, i ) {
		var position = jQuery.css( elem, "position" );

		// set position first, in-case top/left are set even on static elem
		if ( position === "static" ) {
			elem.style.position = "relative";
		}

		var curElem = jQuery( elem ),
			curOffset = curElem.offset(),
			curCSSTop = jQuery.css( elem, "top" ),
			curCSSLeft = jQuery.css( elem, "left" ),
			calculatePosition = ( position === "absolute" || position === "fixed" ) && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1,
			props = {}, curPosition = {}, curTop, curLeft;

		// need to be able to calculate position if either top or left is auto and position is either absolute or fixed
		if ( calculatePosition ) {
			curPosition = curElem.position();
			curTop = curPosition.top;
			curLeft = curPosition.left;
		} else {
			curTop = parseFloat( curCSSTop ) || 0;
			curLeft = parseFloat( curCSSLeft ) || 0;
		}

		if ( jQuery.isFunction( options ) ) {
			options = options.call( elem, i, curOffset );
		}

		if ( options.top != null ) {
			props.top = ( options.top - curOffset.top ) + curTop;
		}
		if ( options.left != null ) {
			props.left = ( options.left - curOffset.left ) + curLeft;
		}

		if ( "using" in options ) {
			options.using.call( elem, props );
		} else {
			curElem.css( props );
		}
	}
};


jQuery.fn.extend({

	position: function() {
		if ( !this[0] ) {
			return;
		}

		var elem = this[0],

		// Get *real* offsetParent
		offsetParent = this.offsetParent(),

		// Get correct offsets
		offset       = this.offset(),
		parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset();

		// Subtract element margins
		// note: when an element has margin: auto the offsetLeft and marginLeft
		// are the same in Safari causing offset.left to incorrectly be 0
		offset.top  -= parseFloat( jQuery.css(elem, "marginTop") ) || 0;
		offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0;

		// Add offsetParent borders
		parentOffset.top  += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0;
		parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0;

		// Subtract the two offsets
		return {
			top:  offset.top  - parentOffset.top,
			left: offset.left - parentOffset.left
		};
	},

	offsetParent: function() {
		return this.map(function() {
			var offsetParent = this.offsetParent || document.body;
			while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) {
				offsetParent = offsetParent.offsetParent;
			}
			return offsetParent || document.body;
		});
	}
});


// Create scrollLeft and scrollTop methods
jQuery.each( {scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function( method, prop ) {
	var top = /Y/.test( prop );

	jQuery.fn[ method ] = function( val ) {
		return jQuery.access( this, function( elem, method, val ) {
			var win = getWindow( elem );

			if ( val === undefined ) {
				return win ? (prop in win) ? win[ prop ] :
					win.document.documentElement[ method ] :
					elem[ method ];
			}

			if ( win ) {
				win.scrollTo(
					!top ? val : jQuery( win ).scrollLeft(),
					 top ? val : jQuery( win ).scrollTop()
				);

			} else {
				elem[ method ] = val;
			}
		}, method, val, arguments.length, null );
	};
});

function getWindow( elem ) {
	return jQuery.isWindow( elem ) ?
		elem :
		elem.nodeType === 9 ?
			elem.defaultView || elem.parentWindow :
			false;
}
// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
	jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) {
		// margin is only for outerHeight, outerWidth
		jQuery.fn[ funcName ] = function( margin, value ) {
			var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
				extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );

			return jQuery.access( this, function( elem, type, value ) {
				var doc;

				if ( jQuery.isWindow( elem ) ) {
					// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there
					// isn't a whole lot we can do. See pull request at this URL for discussion:
					// https://github.com/jquery/jquery/pull/764
					return elem.document.documentElement[ "client" + name ];
				}

				// Get document width or height
				if ( elem.nodeType === 9 ) {
					doc = elem.documentElement;

					// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest
					// unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it.
					return Math.max(
						elem.body[ "scroll" + name ], doc[ "scroll" + name ],
						elem.body[ "offset" + name ], doc[ "offset" + name ],
						doc[ "client" + name ]
					);
				}

				return value === undefined ?
					// Get width or height on the element, requesting but not forcing parseFloat
					jQuery.css( elem, type, value, extra ) :

					// Set width or height on the element
					jQuery.style( elem, type, value, extra );
			}, type, chainable ? margin : undefined, chainable, null );
		};
	});
});
// Expose jQuery to the global object
window.jQuery = window.$ = jQuery;

// Expose jQuery as an AMD module, but only for AMD loaders that
// understand the issues with loading multiple versions of jQuery
// in a page that all might call define(). The loader will indicate
// they have special allowances for multiple jQuery versions by
// specifying define.amd.jQuery = true. Register as a named module,
// since jQuery can be concatenated with other files that may use define,
// but not use a proper concatenation script that understands anonymous
// AMD modules. A named AMD is safest and most robust way to register.
// Lowercase jquery is used because AMD module names are derived from
// file names, and jQuery is normally delivered in a lowercase file name.
// Do this after creating the global so that if an AMD module wants to call
// noConflict to hide this version of jQuery, it will work.
if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
	define( "jquery", [], function () { return jQuery; } );
}

})( window );
/**
 * jVectorMap version 1.2.2
 *
 * Copyright 2011-2013, Kirill Lebedev
 * Licensed under the MIT license.
 *
 */(function(e){var t={set:{colors:1,values:1,backgroundColor:1,scaleColors:1,normalizeFunction:1,focus:1},get:{selectedRegions:1,selectedMarkers:1,mapObject:1,regionName:1}};e.fn.vectorMap=function(e){var n,r,i,n=this.children(".jvectormap-container").data("mapObject");if(e==="addMap")jvm.WorldMap.maps[arguments[1]]=arguments[2];else{if(!(e!=="set"&&e!=="get"||!t[e][arguments[1]]))return r=arguments[1].charAt(0).toUpperCase()+arguments[1].substr(1),n[e+r].apply(n,Array.prototype.slice.call(arguments,2));e=e||{},e.container=this,n=new jvm.WorldMap(e)}return this}})(jQuery),function(e){function r(t){var n=t||window.event,r=[].slice.call(arguments,1),i=0,s=!0,o=0,u=0;return t=e.event.fix(n),t.type="mousewheel",n.wheelDelta&&(i=n.wheelDelta/120),n.detail&&(i=-n.detail/3),u=i,n.axis!==undefined&&n.axis===n.HORIZONTAL_AXIS&&(u=0,o=-1*i),n.wheelDeltaY!==undefined&&(u=n.wheelDeltaY/120),n.wheelDeltaX!==undefined&&(o=-1*n.wheelDeltaX/120),r.unshift(t,i,o,u),(e.event.dispatch||e.event.handle).apply(this,r)}var t=["DOMMouseScroll","mousewheel"];if(e.event.fixHooks)for(var n=t.length;n;)e.event.fixHooks[t[--n]]=e.event.mouseHooks;e.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var e=t.length;e;)this.addEventListener(t[--e],r,!1);else this.onmousewheel=r},teardown:function(){if(this.removeEventListener)for(var e=t.length;e;)this.removeEventListener(t[--e],r,!1);else this.onmousewheel=null}},e.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}})}(jQuery);var jvm={inherits:function(e,t){function n(){}n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.parentClass=t},mixin:function(e,t){var n;for(n in t.prototype)t.prototype.hasOwnProperty(n)&&(e.prototype[n]=t.prototype[n])},min:function(e){var t=Number.MAX_VALUE,n;if(e instanceof Array)for(n=0;n<e.length;n++)e[n]<t&&(t=e[n]);else for(n in e)e[n]<t&&(t=e[n]);return t},max:function(e){var t=Number.MIN_VALUE,n;if(e instanceof Array)for(n=0;n<e.length;n++)e[n]>t&&(t=e[n]);else for(n in e)e[n]>t&&(t=e[n]);return t},keys:function(e){var t=[],n;for(n in e)t.push(n);return t},values:function(e){var t=[],n,r;for(r=0;r<arguments.length;r++){e=arguments[r];for(n in e)t.push(e[n])}return t}};jvm.$=jQuery,jvm.AbstractElement=function(e,t){this.node=this.createElement(e),this.name=e,this.properties={},t&&this.set(t)},jvm.AbstractElement.prototype.set=function(e,t){var n;if(typeof e=="object")for(n in e)this.properties[n]=e[n],this.applyAttr(n,e[n]);else this.properties[e]=t,this.applyAttr(e,t)},jvm.AbstractElement.prototype.get=function(e){return this.properties[e]},jvm.AbstractElement.prototype.applyAttr=function(e,t){this.node.setAttribute(e,t)},jvm.AbstractElement.prototype.remove=function(){jvm.$(this.node).remove()},jvm.AbstractCanvasElement=function(e,t,n){this.container=e,this.setSize(t,n),this.rootElement=new jvm[this.classPrefix+"GroupElement"],this.node.appendChild(this.rootElement.node),this.container.appendChild(this.node)},jvm.AbstractCanvasElement.prototype.add=function(e,t){t=t||this.rootElement,t.add(e),e.canvas=this},jvm.AbstractCanvasElement.prototype.addPath=function(e,t,n){var r=new jvm[this.classPrefix+"PathElement"](e,t);return this.add(r,n),r},jvm.AbstractCanvasElement.prototype.addCircle=function(e,t,n){var r=new jvm[this.classPrefix+"CircleElement"](e,t);return this.add(r,n),r},jvm.AbstractCanvasElement.prototype.addGroup=function(e){var t=new jvm[this.classPrefix+"GroupElement"];return e?e.node.appendChild(t.node):this.node.appendChild(t.node),t.canvas=this,t},jvm.AbstractShapeElement=function(e,t,n){this.style=n||{},this.style.current={},this.isHovered=!1,this.isSelected=!1,this.updateStyle()},jvm.AbstractShapeElement.prototype.setHovered=function(e){this.isHovered!==e&&(this.isHovered=e,this.updateStyle())},jvm.AbstractShapeElement.prototype.setSelected=function(e){this.isSelected!==e&&(this.isSelected=e,this.updateStyle(),jvm.$(this.node).trigger("selected",[e]))},jvm.AbstractShapeElement.prototype.setStyle=function(e,t){var n={};typeof e=="object"?n=e:n[e]=t,jvm.$.extend(this.style.current,n),this.updateStyle()},jvm.AbstractShapeElement.prototype.updateStyle=function(){var e={};jvm.AbstractShapeElement.mergeStyles(e,this.style.initial),jvm.AbstractShapeElement.mergeStyles(e,this.style.current),this.isHovered&&jvm.AbstractShapeElement.mergeStyles(e,this.style.hover),this.isSelected&&(jvm.AbstractShapeElement.mergeStyles(e,this.style.selected),this.isHovered&&jvm.AbstractShapeElement.mergeStyles(e,this.style.selectedHover)),this.set(e)},jvm.AbstractShapeElement.mergeStyles=function(e,t){var n;t=t||{};for(n in t)t[n]===null?delete e[n]:e[n]=t[n]},jvm.SVGElement=function(e,t){jvm.SVGElement.parentClass.apply(this,arguments)},jvm.inherits(jvm.SVGElement,jvm.AbstractElement),jvm.SVGElement.svgns="http://www.w3.org/2000/svg",jvm.SVGElement.prototype.createElement=function(e){return document.createElementNS(jvm.SVGElement.svgns,e)},jvm.SVGElement.prototype.addClass=function(e){this.node.setAttribute("class",e)},jvm.SVGElement.prototype.getElementCtr=function(e){return jvm["SVG"+e]},jvm.SVGElement.prototype.getBBox=function(){return this.node.getBBox()},jvm.SVGGroupElement=function(){jvm.SVGGroupElement.parentClass.call(this,"g")},jvm.inherits(jvm.SVGGroupElement,jvm.SVGElement),jvm.SVGGroupElement.prototype.add=function(e){this.node.appendChild(e.node)},jvm.SVGCanvasElement=function(e,t,n){this.classPrefix="SVG",jvm.SVGCanvasElement.parentClass.call(this,"svg"),jvm.AbstractCanvasElement.apply(this,arguments)},jvm.inherits(jvm.SVGCanvasElement,jvm.SVGElement),jvm.mixin(jvm.SVGCanvasElement,jvm.AbstractCanvasElement),jvm.SVGCanvasElement.prototype.setSize=function(e,t){this.width=e,this.height=t,this.node.setAttribute("width",e),this.node.setAttribute("height",t)},jvm.SVGCanvasElement.prototype.applyTransformParams=function(e,t,n){this.scale=e,this.transX=t,this.transY=n,this.rootElement.node.setAttribute("transform","scale("+e+") translate("+t+", "+n+")")},jvm.SVGShapeElement=function(e,t,n){jvm.SVGShapeElement.parentClass.call(this,e,t),jvm.AbstractShapeElement.apply(this,arguments)},jvm.inherits(jvm.SVGShapeElement,jvm.SVGElement),jvm.mixin(jvm.SVGShapeElement,jvm.AbstractShapeElement),jvm.SVGPathElement=function(e,t){jvm.SVGPathElement.parentClass.call(this,"path",e,t),this.node.setAttribute("fill-rule","evenodd")},jvm.inherits(jvm.SVGPathElement,jvm.SVGShapeElement),jvm.SVGCircleElement=function(e,t){jvm.SVGCircleElement.parentClass.call(this,"circle",e,t)},jvm.inherits(jvm.SVGCircleElement,jvm.SVGShapeElement),jvm.VMLElement=function(e,t){jvm.VMLElement.VMLInitialized||jvm.VMLElement.initializeVML(),jvm.VMLElement.parentClass.apply(this,arguments)},jvm.inherits(jvm.VMLElement,jvm.AbstractElement),jvm.VMLElement.VMLInitialized=!1,jvm.VMLElement.initializeVML=function(){try{document.namespaces.rvml||document.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),jvm.VMLElement.prototype.createElement=function(e){return document.createElement("<rvml:"+e+' class="rvml">')}}catch(e){jvm.VMLElement.prototype.createElement=function(e){return document.createElement("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}document.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)"),jvm.VMLElement.VMLInitialized=!0},jvm.VMLElement.prototype.getElementCtr=function(e){return jvm["VML"+e]},jvm.VMLElement.prototype.addClass=function(e){jvm.$(this.node).addClass(e)},jvm.VMLElement.prototype.applyAttr=function(e,t){this.node[e]=t},jvm.VMLElement.prototype.getBBox=function(){var e=jvm.$(this.node);return{x:e.position().left/this.canvas.scale,y:e.position().top/this.canvas.scale,width:e.width()/this.canvas.scale,height:e.height()/this.canvas.scale}},jvm.VMLGroupElement=function(){jvm.VMLGroupElement.parentClass.call(this,"group"),this.node.style.left="0px",this.node.style.top="0px",this.node.coordorigin="0 0"},jvm.inherits(jvm.VMLGroupElement,jvm.VMLElement),jvm.VMLGroupElement.prototype.add=function(e){this.node.appendChild(e.node)},jvm.VMLCanvasElement=function(e,t,n){this.classPrefix="VML",jvm.VMLCanvasElement.parentClass.call(this,"group"),jvm.AbstractCanvasElement.apply(this,arguments),this.node.style.position="absolute"},jvm.inherits(jvm.VMLCanvasElement,jvm.VMLElement),jvm.mixin(jvm.VMLCanvasElement,jvm.AbstractCanvasElement),jvm.VMLCanvasElement.prototype.setSize=function(e,t){var n,r,i,s;this.width=e,this.height=t,this.node.style.width=e+"px",this.node.style.height=t+"px",this.node.coordsize=e+" "+t,this.node.coordorigin="0 0";if(this.rootElement){n=this.rootElement.node.getElementsByTagName("shape");for(i=0,s=n.length;i<s;i++)n[i].coordsize=e+" "+t,n[i].style.width=e+"px",n[i].style.height=t+"px";r=this.node.getElementsByTagName("group");for(i=0,s=r.length;i<s;i++)r[i].coordsize=e+" "+t,r[i].style.width=e+"px",r[i].style.height=t+"px"}},jvm.VMLCanvasElement.prototype.applyTransformParams=function(e,t,n){this.scale=e,this.transX=t,this.transY=n,this.rootElement.node.coordorigin=this.width-t-this.width/100+","+(this.height-n-this.height/100),this.rootElement.node.coordsize=this.width/e+","+this.height/e},jvm.VMLShapeElement=function(e,t){jvm.VMLShapeElement.parentClass.call(this,e,t),this.fillElement=new jvm.VMLElement("fill"),this.strokeElement=new jvm.VMLElement("stroke"),this.node.appendChild(this.fillElement.node),this.node.appendChild(this.strokeElement.node),this.node.stroked=!1,jvm.AbstractShapeElement.apply(this,arguments)},jvm.inherits(jvm.VMLShapeElement,jvm.VMLElement),jvm.mixin(jvm.VMLShapeElement,jvm.AbstractShapeElement),jvm.VMLShapeElement.prototype.applyAttr=function(e,t){switch(e){case"fill":this.node.fillcolor=t;break;case"fill-opacity":this.fillElement.node.opacity=Math.round(t*100)+"%";break;case"stroke":t==="none"?this.node.stroked=!1:this.node.stroked=!0,this.node.strokecolor=t;break;case"stroke-opacity":this.strokeElement.node.opacity=Math.round(t*100)+"%";break;case"stroke-width":parseInt(t,10)===0?this.node.stroked=!1:this.node.stroked=!0,this.node.strokeweight=t;break;case"d":this.node.path=jvm.VMLPathElement.pathSvgToVml(t);break;default:jvm.VMLShapeElement.parentClass.prototype.applyAttr.apply(this,arguments)}},jvm.VMLPathElement=function(e,t){var n=new jvm.VMLElement("skew");jvm.VMLPathElement.parentClass.call(this,"shape",e,t),this.node.coordorigin="0 0",n.node.on=!0,n.node.matrix="0.01,0,0,0.01,0,0",n.node.offset="0,0",this.node.appendChild(n.node)},jvm.inherits(jvm.VMLPathElement,jvm.VMLShapeElement),jvm.VMLPathElement.prototype.applyAttr=function(e,t){e==="d"?this.node.path=jvm.VMLPathElement.pathSvgToVml(t):jvm.VMLShapeElement.prototype.applyAttr.call(this,e,t)},jvm.VMLPathElement.pathSvgToVml=function(e){var t="",n=0,r=0,i,s;return e=e.replace(/(-?\d+)e(-?\d+)/g,"0"),e.replace(/([MmLlHhVvCcSs])\s*((?:-?\d*(?:\.\d+)?\s*,?\s*)+)/g,function(e,t,o,u){o=o.replace(/(\d)-/g,"$1,-").replace(/^\s+/g,"").replace(/\s+$/g,"").replace(/\s+/g,",").split(","),o[0]||o.shift();for(var a=0,f=o.length;a<f;a++)o[a]=Math.round(100*o[a]);switch(t){case"m":return n+=o[0],r+=o[1],"t"+o.join(",");case"M":return n=o[0],r=o[1],"m"+o.join(",");case"l":return n+=o[0],r+=o[1],"r"+o.join(",");case"L":return n=o[0],r=o[1],"l"+o.join(",");case"h":return n+=o[0],"r"+o[0]+",0";case"H":return n=o[0],"l"+n+","+r;case"v":return r+=o[0],"r0,"+o[0];case"V":return r=o[0],"l"+n+","+r;case"c":return i=n+o[o.length-4],s=r+o[o.length-3],n+=o[o.length-2],r+=o[o.length-1],"v"+o.join(",");case"C":return i=o[o.length-4],s=o[o.length-3],n=o[o.length-2],r=o[o.length-1],"c"+o.join(",");case"s":return o.unshift(r-s),o.unshift(n-i),i=n+o[o.length-4],s=r+o[o.length-3],n+=o[o.length-2],r+=o[o.length-1],"v"+o.join(",");case"S":return o.unshift(r+r-s),o.unshift(n+n-i),i=o[o.length-4],s=o[o.length-3],n=o[o.length-2],r=o[o.length-1],"c"+o.join(",")}return""}).replace(/z/g,"e")},jvm.VMLCircleElement=function(e,t){jvm.VMLCircleElement.parentClass.call(this,"oval",e,t)},jvm.inherits(jvm.VMLCircleElement,jvm.VMLShapeElement),jvm.VMLCircleElement.prototype.applyAttr=function(e,t){switch(e){case"r":this.node.style.width=t*2+"px",this.node.style.height=t*2+"px",this.applyAttr("cx",this.get("cx")||0),this.applyAttr("cy",this.get("cy")||0);break;case"cx":if(!t)return;this.node.style.left=t-(this.get("r")||0)+"px";break;case"cy":if(!t)return;this.node.style.top=t-(this.get("r")||0)+"px";break;default:jvm.VMLCircleElement.parentClass.prototype.applyAttr.call(this,e,t)}},jvm.VectorCanvas=function(e,t,n){return this.mode=window.SVGAngle?"svg":"vml",this.mode=="svg"?this.impl=new jvm.SVGCanvasElement(e,t,n):this.impl=new jvm.VMLCanvasElement(e,t,n),this.impl},jvm.SimpleScale=function(e){this.scale=e},jvm.SimpleScale.prototype.getValue=function(e){return e},jvm.OrdinalScale=function(e){this.scale=e},jvm.OrdinalScale.prototype.getValue=function(e){return this.scale[e]},jvm.NumericScale=function(e,t,n,r){this.scale=[],t=t||"linear",e&&this.setScale(e),t&&this.setNormalizeFunction(t),n&&this.setMin(n),r&&this.setMax(r)},jvm.NumericScale.prototype={setMin:function(e){this.clearMinValue=e,typeof this.normalize=="function"?this.minValue=this.normalize(e):this.minValue=e},setMax:function(e){this.clearMaxValue=e,typeof this.normalize=="function"?this.maxValue=this.normalize(e):this.maxValue=e},setScale:function(e){var t;for(t=0;t<e.length;t++)this.scale[t]=[e[t]]},setNormalizeFunction:function(e){e==="polynomial"?this.normalize=function(e){return Math.pow(e,.2)}:e==="linear"?delete this.normalize:this.normalize=e,this.setMin(this.clearMinValue),this.setMax(this.clearMaxValue)},getValue:function(e){var t=[],n=0,r,i=0,s;typeof this.normalize=="function"&&(e=this.normalize(e));for(i=0;i<this.scale.length-1;i++)r=this.vectorLength(this.vectorSubtract(this.scale[i+1],this.scale[i])),t.push(r),n+=r;s=(this.maxValue-this.minValue)/n;for(i=0;i<t.length;i++)t[i]*=s;i=0,e-=this.minValue;while(e-t[i]>=0)e-=t[i],i++;return i==this.scale.length-1?e=this.vectorToNum(this.scale[i]):e=this.vectorToNum(this.vectorAdd(this.scale[i],this.vectorMult(this.vectorSubtract(this.scale[i+1],this.scale[i]),e/t[i]))),e},vectorToNum:function(e){var t=0,n;for(n=0;n<e.length;n++)t+=Math.round(e[n])*Math.pow(256,e.length-n-1);return t},vectorSubtract:function(e,t){var n=[],r;for(r=0;r<e.length;r++)n[r]=e[r]-t[r];return n},vectorAdd:function(e,t){var n=[],r;for(r=0;r<e.length;r++)n[r]=e[r]+t[r];return n},vectorMult:function(e,t){var n=[],r;for(r=0;r<e.length;r++)n[r]=e[r]*t;return n},vectorLength:function(e){var t=0,n;for(n=0;n<e.length;n++)t+=e[n]*e[n];return Math.sqrt(t)}},jvm.ColorScale=function(e,t,n,r){jvm.ColorScale.parentClass.apply(this,arguments)},jvm.inherits(jvm.ColorScale,jvm.NumericScale),jvm.ColorScale.prototype.setScale=function(e){var t;for(t=0;t<e.length;t++)this.scale[t]=jvm.ColorScale.rgbToArray(e[t])},jvm.ColorScale.prototype.getValue=function(e){return jvm.ColorScale.numToRgb(jvm.ColorScale.parentClass.prototype.getValue.call(this,e))},jvm.ColorScale.arrayToRgb=function(e){var t="#",n,r;for(r=0;r<e.length;r++)n=e[r].toString(16),t+=n.length==1?"0"+n:n;return t},jvm.ColorScale.numToRgb=function(e){e=e.toString(16);while(e.length<6)e="0"+e;return"#"+e},jvm.ColorScale.rgbToArray=function(e){return e=e.substr(1),[parseInt(e.substr(0,2),16),parseInt(e.substr(2,2),16),parseInt(e.substr(4,2),16)]},jvm.DataSeries=function(e,t){var n;e=e||{},e.attribute=e.attribute||"fill",this.elements=t,this.params=e,e.attributes&&this.setAttributes(e.attributes),jvm.$.isArray(e.scale)?(n=e.attribute==="fill"||e.attribute==="stroke"?jvm.ColorScale:jvm.NumericScale,this.scale=new n(e.scale,e.normalizeFunction,e.min,e.max)):e.scale?this.scale=new jvm.OrdinalScale(e.scale):this.scale=new jvm.SimpleScale(e.scale),this.values=e.values||{},this.setValues(this.values)},jvm.DataSeries.prototype={setAttributes:function(e,t){var n=e,r;if(typeof e=="string")this.elements[e]&&this.elements[e].setStyle(this.params.attribute,t);else for(r in n)this.elements[r]&&this.elements[r].element.setStyle(this.params.attribute,n[r])},setValues:function(e){var t=Number.MIN_VALUE,n=Number.MAX_VALUE,r,i,s={};if(this.scale instanceof jvm.OrdinalScale||this.scale instanceof jvm.SimpleScale)for(i in e)e[i]?s[i]=this.scale.getValue(e[i]):s[i]=this.elements[i].element.style.initial[this.params.attribute];else{if(!this.params.min||!this.params.max){for(i in e)r=parseFloat(e[i]),r>t&&(t=e[i]),r<n&&(n=r);this.params.min||this.scale.setMin(n),this.params.max||this.scale.setMax(t),this.params.min=n,this.params.max=t}for(i in e)r=parseFloat(e[i]),isNaN(r)?s[i]=this.elements[i].element.style.initial[this.params.attribute]:s[i]=this.scale.getValue(r)}this.setAttributes(s),jvm.$.extend(this.values,e)},clear:function(){var e,t={};for(e in this.values)this.elements[e]&&(t[e]=this.elements[e].element.style.initial[this.params.attribute]);this.setAttributes(t),this.values={}},setScale:function(e){this.scale.setScale(e),this.values&&this.setValues(this.values)},setNormalizeFunction:function(e){this.scale.setNormalizeFunction(e),this.values&&this.setValues(this.values)}},jvm.Proj={degRad:180/Math.PI,radDeg:Math.PI/180,radius:6381372,sgn:function(e){return e>0?1:e<0?-1:e},mill:function(e,t,n){return{x:this.radius*(t-n)*this.radDeg,y:-this.radius*Math.log(Math.tan((45+.4*e)*this.radDeg))/.8}},mill_inv:function(e,t,n){return{lat:(2.5*Math.atan(Math.exp(.8*t/this.radius))-5*Math.PI/8)*this.degRad,lng:(n*this.radDeg+e/this.radius)*this.degRad}},merc:function(e,t,n){return{x:this.radius*(t-n)*this.radDeg,y:-this.radius*Math.log(Math.tan(Math.PI/4+e*Math.PI/360))}},merc_inv:function(e,t,n){return{lat:(2*Math.atan(Math.exp(t/this.radius))-Math.PI/2)*this.degRad,lng:(n*this.radDeg+e/this.radius)*this.degRad}},aea:function(e,t,n){var r=0,i=n*this.radDeg,s=29.5*this.radDeg,o=45.5*this.radDeg,u=e*this.radDeg,a=t*this.radDeg,f=(Math.sin(s)+Math.sin(o))/2,l=Math.cos(s)*Math.cos(s)+2*f*Math.sin(s),c=f*(a-i),h=Math.sqrt(l-2*f*Math.sin(u))/f,p=Math.sqrt(l-2*f*Math.sin(r))/f;return{x:h*Math.sin(c)*this.radius,y:-(p-h*Math.cos(c))*this.radius}},aea_inv:function(e,t,n){var r=e/this.radius,i=t/this.radius,s=0,o=n*this.radDeg,u=29.5*this.radDeg,a=45.5*this.radDeg,f=(Math.sin(u)+Math.sin(a))/2,l=Math.cos(u)*Math.cos(u)+2*f*Math.sin(u),c=Math.sqrt(l-2*f*Math.sin(s))/f,h=Math.sqrt(r*r+(c-i)*(c-i)),p=Math.atan(r/(c-i));return{lat:Math.asin((l-h*h*f*f)/(2*f))*this.degRad,lng:(o+p/f)*this.degRad}},lcc:function(e,t,n){var r=0,i=n*this.radDeg,s=t*this.radDeg,o=33*this.radDeg,u=45*this.radDeg,a=e*this.radDeg,f=Math.log(Math.cos(o)*(1/Math.cos(u)))/Math.log(Math.tan(Math.PI/4+u/2)*(1/Math.tan(Math.PI/4+o/2))),l=Math.cos(o)*Math.pow(Math.tan(Math.PI/4+o/2),f)/f,c=l*Math.pow(1/Math.tan(Math.PI/4+a/2),f),h=l*Math.pow(1/Math.tan(Math.PI/4+r/2),f);return{x:c*Math.sin(f*(s-i))*this.radius,y:-(h-c*Math.cos(f*(s-i)))*this.radius}},lcc_inv:function(e,t,n){var r=e/this.radius,i=t/this.radius,s=0,o=n*this.radDeg,u=33*this.radDeg,a=45*this.radDeg,f=Math.log(Math.cos(u)*(1/Math.cos(a)))/Math.log(Math.tan(Math.PI/4+a/2)*(1/Math.tan(Math.PI/4+u/2))),l=Math.cos(u)*Math.pow(Math.tan(Math.PI/4+u/2),f)/f,c=l*Math.pow(1/Math.tan(Math.PI/4+s/2),f),h=this.sgn(f)*Math.sqrt(r*r+(c-i)*(c-i)),p=Math.atan(r/(c-i));return{lat:(2*Math.atan(Math.pow(l/h,1/f))-Math.PI/2)*this.degRad,lng:(o+p/f)*this.degRad}}},jvm.WorldMap=function(e){var t=this,n;this.params=jvm.$.extend(!0,{},jvm.WorldMap.defaultParams,e);if(!jvm.WorldMap.maps[this.params.map])throw new Error("Attempt to use map which was not loaded: "+this.params.map);this.mapData=jvm.WorldMap.maps[this.params.map],this.markers={},this.regions={},this.regionsColors={},this.regionsData={},this.container=jvm.$("<div>").css({width:"100%",height:"100%"}).addClass("jvectormap-container"),this.params.container.append(this.container),this.container.data("mapObject",this),this.container.css({position:"relative",overflow:"hidden"}),this.defaultWidth=this.mapData.width,this.defaultHeight=this.mapData.height,this.setBackgroundColor(this.params.backgroundColor),this.onResize=function(){t.setSize()},jvm.$(window).resize(this.onResize);for(n in jvm.WorldMap.apiEvents)this.params[n]&&this.container.bind(jvm.WorldMap.apiEvents[n]+".jvectormap",this.params[n]);this.canvas=new jvm.VectorCanvas(this.container[0],this.width,this.height),"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch?this.params.bindTouchEvents&&this.bindContainerTouchEvents():this.bindContainerEvents(),this.bindElementEvents(),this.createLabel(),this.params.zoomButtons&&this.bindZoomButtons(),this.createRegions(),this.createMarkers(this.params.markers||{}),this.setSize(),this.params.focusOn&&(typeof this.params.focusOn=="object"?this.setFocus.call(this,this.params.focusOn.scale,this.params.focusOn.x,this.params.focusOn.y):this.setFocus.call(this,this.params.focusOn)),this.params.selectedRegions&&this.setSelectedRegions(this.params.selectedRegions),this.params.selectedMarkers&&this.setSelectedMarkers(this.params.selectedMarkers),this.params.series&&this.createSeries()},jvm.WorldMap.prototype={transX:0,transY:0,scale:1,baseTransX:0,baseTransY:0,baseScale:1,width:0,height:0,setBackgroundColor:function(e){this.container.css("background-color",e)},resize:function(){var e=this.baseScale;this.width/this.height>this.defaultWidth/this.defaultHeight?(this.baseScale=this.height/this.defaultHeight,this.baseTransX=Math.abs(this.width-this.defaultWidth*this.baseScale)/(2*this.baseScale)):(this.baseScale=this.width/this.defaultWidth,this.baseTransY=Math.abs(this.height-this.defaultHeight*this.baseScale)/(2*this.baseScale)),this.scale*=this.baseScale/e,this.transX*=this.baseScale/e,this.transY*=this.baseScale/e},setSize:function(){this.width=this.container.width(),this.height=this.container.height(),this.resize(),this.canvas.setSize(this.width,this.height),this.applyTransform()},reset:function(){var e,t;for(e in this.series)for(t=0;t<this.series[e].length;t++)this.series[e][t].clear();this.scale=this.baseScale,this.transX=this.baseTransX,this.transY=this.baseTransY,this.applyTransform()},applyTransform:function(){var e,t,n,r;this.defaultWidth*this.scale<=this.width?(e=(this.width-this.defaultWidth*this.scale)/(2*this.scale),n=(this.width-this.defaultWidth*this.scale)/(2*this.scale)):(e=0,n=(this.width-this.defaultWidth*this.scale)/this.scale),this.defaultHeight*this.scale<=this.height?(t=(this.height-this.defaultHeight*this.scale)/(2*this.scale),r=(this.height-this.defaultHeight*this.scale)/(2*this.scale)):(t=0,r=(this.height-this.defaultHeight*this.scale)/this.scale),this.transY>t?this.transY=t:this.transY<r&&(this.transY=r),this.transX>e?this.transX=e:this.transX<n&&(this.transX=n),this.canvas.applyTransformParams(this.scale,this.transX,this.transY),this.markers&&this.repositionMarkers(),this.container.trigger("viewportChange",[this.scale/this.baseScale,this.transX,this.transY])},bindContainerEvents:function(){var e=!1,t,n,r=this;this.container.mousemove(function(i){return e&&(r.transX-=(t-i.pageX)/r.scale,r.transY-=(n-i.pageY)/r.scale,r.applyTransform(),t=i.pageX,n=i.pageY),!1}).mousedown(function(r){return e=!0,t=r.pageX,n=r.pageY,!1}),jvm.$("body").mouseup(function(){e=!1}),this.params.zoomOnScroll&&this.container.mousewheel(function(e,t,n,i){var s=jvm.$(r.container).offset(),o=e.pageX-s.left,u=e.pageY-s.top,a=Math.pow(1.3,i);r.label.hide(),r.setScale(r.scale*a,o,u),e.preventDefault()})},bindContainerTouchEvents:function(){var e,t,n=this,r,i,s,o,u,a=function(a){var f=a.originalEvent.touches,l,c,h,p;a.type=="touchstart"&&(u=0),f.length==1?(u==1&&(h=n.transX,p=n.transY,n.transX-=(r-f[0].pageX)/n.scale,n.transY-=(i-f[0].pageY)/n.scale,n.applyTransform(),n.label.hide(),(h!=n.transX||p!=n.transY)&&a.preventDefault()),r=f[0].pageX,i=f[0].pageY):f.length==2&&(u==2?(c=Math.sqrt(Math.pow(f[0].pageX-f[1].pageX,2)+Math.pow(f[0].pageY-f[1].pageY,2))/t,n.setScale(e*c,s,o),n.label.hide(),a.preventDefault()):(l=jvm.$(n.container).offset(),f[0].pageX>f[1].pageX?s=f[1].pageX+(f[0].pageX-f[1].pageX)/2:s=f[0].pageX+(f[1].pageX-f[0].pageX)/2,f[0].pageY>f[1].pageY?o=f[1].pageY+(f[0].pageY-f[1].pageY)/2:o=f[0].pageY+(f[1].pageY-f[0].pageY)/2,s-=l.left,o-=l.top,e=n.scale,t=Math.sqrt(Math.pow(f[0].pageX-f[1].pageX,2)+Math.pow(f[0].pageY-f[1].pageY,2)))),u=f.length};jvm.$(this.container).bind("touchstart",a),jvm.$(this.container).bind("touchmove",a)},bindElementEvents:function(){var e=this,t;this.container.mousemove(function(){t=!0}),this.container.delegate("[class~='jvectormap-element']","mouseover mouseout",function(t){var n=this,r=jvm.$(this).attr("class").baseVal?jvm.$(this).attr("class").baseVal:jvm.$(this).attr("class"),i=r.indexOf("jvectormap-region")===-1?"marker":"region",s=i=="region"?jvm.$(this).attr("data-code"):jvm.$(this).attr("data-index"),o=i=="region"?e.regions[s].element:e.markers[s].element,u=i=="region"?e.mapData.paths[s].name:e.markers[s].config.name||"",a=jvm.$.Event(i+"LabelShow.jvectormap"),f=jvm.$.Event(i+"Over.jvectormap");t.type=="mouseover"?(e.container.trigger(f,[s]),f.isDefaultPrevented()||o.setHovered(!0),e.label.text(u),e.container.trigger(a,[e.label,s]),a.isDefaultPrevented()||(e.label.show(),e.labelWidth=e.label.width(),e.labelHeight=e.label.height())):(o.setHovered(!1),e.label.hide(),e.container.trigger(i+"Out.jvectormap",[s]))}),this.container.delegate("[class~='jvectormap-element']","mousedown",function(e){t=!1}),this.container.delegate("[class~='jvectormap-element']","mouseup",function(n){var r=this,i=jvm.$(this).attr("class").baseVal?jvm.$(this).attr("class").baseVal:jvm.$(this).attr("class"),s=i.indexOf("jvectormap-region")===-1?"marker":"region",o=s=="region"?jvm.$(this).attr("data-code"):jvm.$(this).attr("data-index"),u=jvm.$.Event(s+"Click.jvectormap"),a=s=="region"?e.regions[o].element:e.markers[o].element;if(!t){e.container.trigger(u,[o]);if(s==="region"&&e.params.regionsSelectable||s==="marker"&&e.params.markersSelectable)u.isDefaultPrevented()||(e.params[s+"sSelectableOne"]&&e.clearSelected(s+"s"),a.setSelected(!a.isSelected))}})},bindZoomButtons:function(){var e=this;jvm.$("<div/>").addClass("jvectormap-zoomin").text("+").appendTo(this.container),jvm.$("<div/>").addClass("jvectormap-zoomout").html("&#x2212;").appendTo(this.container),this.container.find(".jvectormap-zoomin").click(function(){e.setScale(e.scale*e.params.zoomStep,e.width/2,e.height/2)}),this.container.find(".jvectormap-zoomout").click(function(){e.setScale(e.scale/e.params.zoomStep,e.width/2,e.height/2)})},createLabel:function(){var e=this;this.label=jvm.$("<div/>").addClass("jvectormap-label").appendTo(jvm.$("body")),this.container.mousemove(function(t){var n=t.pageX-15-e.labelWidth,r=t.pageY-15-e.labelHeight;n<5&&(n=t.pageX+15),r<5&&(r=t.pageY+15),e.label.is(":visible")&&e.label.css({left:n,top:r})})},setScale:function(e,t,n,r){var i,s=jvm.$.Event("zoom.jvectormap");e>this.params.zoomMax*this.baseScale?e=this.params.zoomMax*this.baseScale:e<this.params.zoomMin*this.baseScale&&(e=this.params.zoomMin*this.baseScale),typeof t!="undefined"&&typeof n!="undefined"&&(i=e/this.scale,r?(this.transX=t+this.defaultWidth*(this.width/(this.defaultWidth*e))/2,this.transY=n+this.defaultHeight*(this.height/(this.defaultHeight*e))/2):(this.transX-=(i-1)/e*t,this.transY-=(i-1)/e*n)),this.scale=e,this.applyTransform(),this.container.trigger(s,[e/this.baseScale])},setFocus:function(e,t,n){var r,i,s,o,u;if(jvm.$.isArray(e)||this.regions[e]){jvm.$.isArray(e)?o=e:o=[e];for(u=0;u<o.length;u++)this.regions[o[u]]&&(i=this.regions[o[u]].element.getBBox(),i&&(typeof r=="undefined"?r=i:(s={x:Math.min(r.x,i.x),y:Math.min(r.y,i.y),width:Math.max(r.x+r.width,i.x+i.width)-Math.min(r.x,i.x),height:Math.max(r.y+r.height,i.y+i.height)-Math.min(r.y,i.y)},r=s)));this.setScale(Math.min(this.width/r.width,this.height/r.height),-(r.x+r.width/2),-(r.y+r.height/2),!0)}else e*=this.baseScale,this.setScale(e,-t*this.defaultWidth,-n*this.defaultHeight,!0)},getSelected:function(e){var t,n=[];for(t in this[e])this[e][t].element.isSelected&&n.push(t);return n},getSelectedRegions:function(){return this.getSelected("regions")},getSelectedMarkers:function(){return this.getSelected("markers")},setSelected:function(e,t){var n;typeof t!="object"&&(t=[t]);if(jvm.$.isArray(t))for(n=0;n<t.length;n++)this[e][t[n]].element.setSelected(!0);else for(n in t)this[e][n].element.setSelected(!!t[n])},setSelectedRegions:function(e){this.setSelected("regions",e)},setSelectedMarkers:function(e){this.setSelected("markers",e)},clearSelected:function(e){var t={},n=this.getSelected(e),r;for(r=0;r<n.length;r++)t[n[r]]=!1;this.setSelected(e,t)},clearSelectedRegions:function(){this.clearSelected("regions")},clearSelectedMarkers:function(){this.clearSelected("markers")},getMapObject:function(){return this},getRegionName:function(e){return this.mapData.paths[e].name},createRegions:function(){var e,t,n=this;for(e in this.mapData.paths)t=this.canvas.addPath({d:this.mapData.paths[e].path,"data-code":e},jvm.$.extend(!0,{},this.params.regionStyle)),jvm.$(t.node).bind("selected",function(e,t){n.container.trigger("regionSelected.jvectormap",[jvm.$(this).attr("data-code"),t,n.getSelectedRegions()])}),t.addClass("jvectormap-region jvectormap-element"),this.regions[e]={element:t,config:this.mapData.paths[e]}},createMarkers:function(e){var t,n,r,i,s,o=this;this.markersGroup=this.markersGroup||this.canvas.addGroup();if(jvm.$.isArray(e)){s=e.slice(),e={};for(t=0;t<s.length;t++)e[t]=s[t]}for(t in e)i=e[t]instanceof Array?{latLng:e[t]}:e[t],r=this.getMarkerPosition(i),r!==!1&&(n=this.canvas.addCircle({"data-index":t,cx:r.x,cy:r.y},jvm.$.extend(!0,{},this.params.markerStyle,{initial:i.style||{}}),this.markersGroup),n.addClass("jvectormap-marker jvectormap-element"),jvm.$(n.node).bind("selected",function(e,t){o.container.trigger("markerSelected.jvectormap",[jvm.$(this).attr("data-index"),t,o.getSelectedMarkers()])}),this.markers[t]&&this.removeMarkers([t]),this.markers[t]={element:n,config:i})},repositionMarkers:function(){var e,t;for(e in this.markers)t=this.getMarkerPosition(this.markers[e].config),t!==!1&&this.markers[e].element.setStyle({cx:t.x,cy:t.y})},getMarkerPosition:function(e){return jvm.WorldMap.maps[this.params.map].projection?this.latLngToPoint.apply(this,e.latLng||[0,0]):{x:e.coords[0]*this.scale+this.transX*this.scale,y:e.coords[1]*this.scale+this.transY*this.scale}},addMarker:function(e,t,n){var r={},i=[],s,o,n=n||[];r[e]=t;for(o=0;o<n.length;o++)s={},s[e]=n[o],i.push(s);this.addMarkers(r,i)},addMarkers:function(e,t){var n;t=t||[],this.createMarkers(e);for(n=0;n<t.length;n++)this.series.markers[n].setValues(t[n]||{})},removeMarkers:function(e){var t;for(t=0;t<e.length;t++)this.markers[e[t]].element.remove(),delete this.markers[e[t]]},removeAllMarkers:function(){var e,t=[];for(e in this.markers)t.push(e);this.removeMarkers(t)},latLngToPoint:function(e,t){var n,r=jvm.WorldMap.maps[this.params.map].projection,i=r.centralMeridian,s=this.width-this.baseTransX*2*this.baseScale,o=this.height-this.baseTransY*2*this.baseScale,u,a,f=this.scale/this.baseScale;return t<-180+i&&(t+=360),n=jvm.Proj[r.type](e,t,i),u=this.getInsetForPoint(n.x,n.y),u?(a=u.bbox,n.x=(n.x-a[0].x)/(a[1].x-a[0].x)*u.width*this.scale,n.y=(n.y-a[0].y)/(a[1].y-a[0].y)*u.height*this.scale,{x:n.x+this.transX*this.scale+u.left*this.scale,y:n.y+this.transY*this.scale+u.top*this.scale}):!1},pointToLatLng:function(e,t){var n=jvm.WorldMap.maps[this.params.map].projection,r=n.centralMeridian,i=jvm.WorldMap.maps[this.params.map].insets,s,o,u,a,f;for(s=0;s<i.length;s++){o=i[s],u=o.bbox,a=e-(this.transX*this.scale+o.left*this.scale),f=t-(this.transY*this.scale+o.top*this.scale),a=a/(o.width*this.scale)*(u[1].x-u[0].x)+u[0].x,f=f/(o.height*this.scale)*(u[1].y-u[0].y)+u[0].y;if(a>u[0].x&&a<u[1].x&&f>u[0].y&&f<u[1].y)return jvm.Proj[n.type+"_inv"](a,-f,r)}return!1},getInsetForPoint:function(e,t){var n=jvm.WorldMap.maps[this.params.map].insets,r,i;for(r=0;r<n.length;r++){i=n[r].bbox;if(e>i[0].x&&e<i[1].x&&t>i[0].y&&t<i[1].y)return n[r]}},createSeries:function(){var e,t;this.series={markers:[],regions:[]};for(t in this.params.series)for(e=0;e<this.params.series[t].length;e++)this.series[t][e]=new jvm.DataSeries(this.params.series[t][e],this[t])},remove:function(){this.label.remove(),this.container.remove(),jvm.$(window).unbind("resize",this.onResize)}},jvm.WorldMap.maps={},jvm.WorldMap.defaultParams={map:"world_mill_en",backgroundColor:"#505050",zoomButtons:!0,zoomOnScroll:!0,zoomMax:8,zoomMin:1,zoomStep:1.6,regionsSelectable:!1,markersSelectable:!1,bindTouchEvents:!0,regionStyle:{initial:{fill:"white","fill-opacity":1,stroke:"none","stroke-width":0,"stroke-opacity":1},hover:{"fill-opacity":.8},selected:{fill:"yellow"},selectedHover
:{}},markerStyle:{initial:{fill:"grey",stroke:"#505050","fill-opacity":1,"stroke-width":1,"stroke-opacity":1,r:5},hover:{stroke:"black","stroke-width":2},selected:{fill:"blue"},selectedHover:{}}},jvm.WorldMap.apiEvents={onRegionLabelShow:"regionLabelShow",onRegionOver:"regionOver",onRegionOut:"regionOut",onRegionClick:"regionClick",onRegionSelected:"regionSelected",onMarkerLabelShow:"markerLabelShow",onMarkerOver:"markerOver",onMarkerOut:"markerOut",onMarkerClick:"markerClick",onMarkerSelected:"markerSelected",onViewportChange:"viewportChange"};
$.fn.vectorMap('addMap', 'world_mill_en',{"insets": [{"width": 900.0, "top": 0, "height": 440.7063107441331, "bbox": [{"y": -12671671.123330014, "x": -20004297.151525836}, {"y": 6930392.025135122, "x": 20026572.394749384}], "left": 0}], "paths": {"BD": {"path": "M652.71,228.85l-0.04,1.38l-0.46,-0.21l-0.42,0.3l0.05,0.65l-0.17,-1.37l-0.48,-1.26l-1.08,-1.6l-0.23,-0.13l-2.31,-0.11l-0.31,0.36l0.21,0.98l-0.6,1.11l-0.8,-0.4l-0.37,0.09l-0.23,0.3l-0.54,-0.21l-0.78,-0.19l-0.38,-2.04l-0.83,-1.89l0.4,-1.5l-0.16,-0.35l-1.24,-0.57l0.36,-0.62l1.5,-0.95l0.02,-0.49l-1.62,-1.26l0.64,-1.31l1.7,1.0l0.12,0.04l0.96,0.11l0.19,1.62l0.25,0.26l2.38,0.37l2.32,-0.04l1.06,0.33l-0.92,1.79l-0.97,0.13l-0.23,0.16l-0.77,1.51l0.05,0.35l1.37,1.37l0.5,-0.14l0.35,-1.46l0.24,-0.0l1.24,3.92Z", "name": "Bangladesh"}, "BE": {"path": "M429.28,143.95l1.76,0.25l0.13,-0.01l2.16,-0.64l1.46,1.34l1.26,0.71l-0.23,1.8l-0.44,0.08l-0.24,0.25l-0.2,1.36l-1.8,-1.22l-0.23,-0.05l-1.14,0.23l-1.62,-1.43l-1.15,-1.31l-0.21,-0.1l-0.95,-0.04l-0.21,-0.68l1.66,-0.54Z", "name": "Belgium"}, "BF": {"path": "M413.48,260.21l-1.22,-0.46l-0.13,-0.02l-1.17,0.1l-0.15,0.06l-0.73,0.53l-0.87,-0.41l-0.39,-0.75l-0.13,-0.13l-0.98,-0.48l-0.14,-1.2l0.63,-0.99l0.05,-0.18l-0.05,-0.73l1.9,-2.01l0.08,-0.14l0.35,-1.65l0.49,-0.44l1.05,0.3l0.21,-0.02l1.05,-0.52l0.13,-0.13l0.3,-0.58l1.87,-1.1l0.11,-0.1l0.43,-0.72l2.23,-1.01l1.21,-0.32l0.51,0.4l0.19,0.06l1.25,-0.01l-0.14,0.89l0.01,0.13l0.34,1.16l0.06,0.11l1.35,1.59l0.07,1.13l0.24,0.28l2.64,0.53l-0.05,1.39l-0.42,0.59l-1.11,0.21l-0.22,0.17l-0.46,0.99l-0.69,0.23l-2.12,-0.05l-1.14,-0.2l-0.19,0.03l-0.72,0.36l-1.07,-0.17l-4.35,0.12l-0.29,0.29l-0.06,1.44l0.25,1.45Z", "name": "Burkina Faso"}, "BG": {"path": "M477.63,166.84l0.51,0.9l0.33,0.14l0.9,-0.21l1.91,0.47l3.68,0.16l0.17,-0.05l1.2,-0.75l2.78,-0.67l1.72,1.05l1.02,0.24l-0.97,0.97l-0.91,2.17l0.0,0.24l0.56,1.19l-1.58,-0.3l-0.16,0.01l-2.55,0.95l-0.2,0.28l-0.02,1.23l-1.92,0.24l-1.68,-0.99l-0.27,-0.02l-1.94,0.8l-1.52,-0.07l-0.15,-1.72l-0.12,-0.21l-0.99,-0.76l0.18,-0.18l0.02,-0.39l-0.17,-0.22l0.33,-0.75l0.91,-0.91l0.01,-0.42l-1.16,-1.25l-0.18,-0.89l0.24,-0.27Z", "name": "Bulgaria"}, "BA": {"path": "M468.39,164.66l0.16,0.04l0.43,-0.0l-0.43,0.93l0.06,0.34l1.08,1.06l-0.28,1.09l-0.5,0.13l-0.47,0.28l-0.86,0.74l-0.1,0.16l-0.28,1.29l-1.81,-0.94l-0.9,-1.22l-1.0,-0.73l-1.1,-1.1l-0.55,-0.96l-1.11,-1.3l0.3,-0.75l0.59,0.46l0.42,-0.04l0.46,-0.54l1.0,-0.06l2.11,0.5l1.72,-0.03l1.06,0.64Z", "name": "Bosnia and Herzegovina"}, "BN": {"path": "M707.34,273.57l0.76,-0.72l1.59,-1.03l-0.18,1.93l-0.9,-0.06l-0.28,0.14l-0.31,0.51l-0.68,-0.78Z", "name": "Brunei"}, "BO": {"path": "M263.83,340.79l-0.23,-0.12l-2.86,-0.11l-0.28,0.17l-0.77,1.67l-1.17,-1.51l-0.18,-0.11l-3.28,-0.64l-0.28,0.1l-2.02,2.3l-1.43,0.29l-0.91,-3.35l-1.31,-2.88l0.75,-2.41l-0.09,-0.32l-1.23,-1.03l-0.31,-1.76l-0.05,-0.12l-1.12,-1.6l1.49,-2.62l0.01,-0.28l-1.0,-2.0l0.48,-0.72l0.02,-0.29l-0.37,-0.78l0.87,-1.13l0.06,-0.18l0.05,-2.17l0.12,-1.71l0.5,-0.8l0.01,-0.3l-1.9,-3.58l1.3,0.15l1.34,-0.05l0.23,-0.12l0.51,-0.7l2.12,-0.99l1.31,-0.93l2.81,-0.37l-0.21,1.51l0.01,0.13l0.29,0.91l-0.19,1.64l0.11,0.27l2.72,2.27l0.15,0.07l2.71,0.41l0.92,0.88l0.12,0.07l1.64,0.49l1.0,0.71l0.18,0.06l1.5,-0.02l1.24,0.64l0.1,1.31l0.05,0.14l0.44,0.68l0.02,0.73l-0.44,0.03l-0.27,0.39l0.96,2.99l0.28,0.21l4.43,0.1l-0.28,1.12l0.0,0.15l0.27,1.02l0.15,0.19l1.27,0.67l0.52,1.42l-0.42,1.91l-0.66,1.1l-0.04,0.2l0.21,1.3l-0.19,0.13l-0.01,-0.27l-0.15,-0.24l-2.33,-1.33l-0.14,-0.04l-2.38,-0.03l-4.36,0.76l-0.21,0.16l-1.2,2.29l-0.03,0.13l-0.06,1.37l-0.79,2.53l-0.05,-0.08Z", "name": "Bolivia"}, "JP": {"path": "M781.17,166.78l1.8,0.67l0.28,-0.04l1.38,-1.01l0.43,2.67l-3.44,0.77l-0.18,0.12l-2.04,2.79l-3.71,-1.94l-0.42,0.15l-1.29,3.11l-2.32,0.04l-0.3,-2.63l1.12,-2.1l2.51,-0.16l0.28,-0.25l0.73,-4.22l0.58,-1.9l2.59,2.84l2.0,1.1ZM773.66,187.36l-0.92,2.24l-0.01,0.2l0.4,1.3l-1.18,1.81l-3.06,1.28l-4.35,0.17l-0.19,0.08l-3.4,3.06l-1.36,-0.87l-0.1,-1.95l-0.34,-0.28l-4.35,0.62l-2.99,1.33l-2.87,0.05l-0.28,0.2l0.09,0.33l2.37,1.93l-1.57,4.44l-1.35,0.97l-0.9,-0.79l0.57,-2.32l-0.15,-0.34l-1.5,-0.77l-0.81,-1.53l2.04,-0.75l0.14,-0.1l1.28,-1.72l2.47,-1.43l1.84,-1.92l4.83,-0.82l2.62,0.57l0.33,-0.16l2.45,-4.77l1.38,1.14l0.38,0.0l5.1,-4.02l0.09,-0.11l1.57,-3.57l0.02,-0.16l-0.42,-3.22l0.94,-1.67l2.27,-0.47l1.26,3.82l-0.07,2.23l-2.26,2.86l-0.06,0.19l0.04,2.93ZM757.85,196.18l0.22,0.66l-1.11,1.33l-0.8,-0.7l-0.33,-0.04l-1.28,0.65l-0.14,0.15l-0.54,1.34l-1.17,-0.57l0.02,-1.03l1.2,-1.45l1.24,0.28l0.29,-0.1l0.9,-1.03l1.51,0.5Z", "name": "Japan"}, "BI": {"path": "M494.7,295.83l-0.14,-2.71l-0.04,-0.13l-0.34,-0.62l0.93,0.12l0.3,-0.16l0.67,-1.25l0.9,0.11l0.11,0.76l0.08,0.16l0.46,0.48l0.02,0.56l-0.55,0.48l-0.96,1.29l-0.82,0.82l-0.61,0.07Z", "name": "Burundi"}, "BJ": {"path": "M427.4,268.94l-1.58,0.22l-0.52,-1.45l0.11,-5.73l-0.08,-0.21l-0.43,-0.44l-0.09,-1.13l-0.09,-0.19l-1.52,-1.52l0.24,-1.01l0.7,-0.23l0.18,-0.16l0.45,-0.97l1.07,-0.21l0.19,-0.12l0.53,-0.73l0.73,-0.65l0.68,-0.0l1.69,1.3l-0.08,0.67l0.02,0.14l0.52,1.38l-0.44,0.9l-0.01,0.24l0.2,0.52l-1.1,1.42l-0.76,0.76l-0.08,0.13l-0.47,1.59l0.05,1.69l-0.13,3.79Z", "name": "Benin"}, "BT": {"path": "M650.38,213.78l0.88,0.75l-0.13,1.24l-1.77,0.07l-2.1,-0.18l-1.57,0.4l-2.02,-0.91l-0.02,-0.24l1.54,-1.87l1.18,-0.6l1.67,0.59l1.32,0.08l1.01,0.67Z", "name": "Bhutan"}, "JM": {"path": "M226.67,238.37l1.64,0.23l1.2,0.56l0.11,0.19l-1.25,0.03l-0.14,0.04l-0.65,0.37l-1.24,-0.37l-1.17,-0.77l0.11,-0.22l0.86,-0.15l0.52,0.08Z", "name": "Jamaica"}, "BW": {"path": "M484.91,331.96l0.53,0.52l0.82,1.53l2.83,2.86l0.14,0.08l0.85,0.22l0.03,0.81l0.74,1.66l0.21,0.17l1.87,0.39l1.17,0.87l-3.13,1.71l-2.3,2.01l-0.07,0.1l-0.82,1.74l-0.66,0.88l-1.24,0.19l-0.24,0.2l-0.65,1.98l-1.4,0.55l-1.9,-0.12l-1.2,-0.74l-1.06,-0.32l-0.22,0.02l-1.22,0.62l-0.14,0.14l-0.58,1.21l-1.16,0.79l-1.18,1.13l-1.5,0.23l-0.4,-0.68l0.22,-1.53l-0.04,-0.19l-1.48,-2.54l-0.11,-0.11l-0.53,-0.31l-0.0,-7.25l2.18,-0.08l0.29,-0.3l0.07,-9.0l1.63,-0.08l3.69,-0.86l0.84,0.93l0.38,0.05l1.53,-0.97l0.79,-0.03l1.3,-0.53l0.23,0.1l0.92,1.96Z", "name": "Botswana"}, "BR": {"path": "M259.49,274.87l1.42,0.25l1.97,0.62l0.28,-0.05l0.67,-0.55l1.76,-0.38l2.8,-0.94l0.12,-0.08l0.92,-0.96l0.05,-0.33l-0.15,-0.32l0.73,-0.06l0.36,0.35l-0.27,0.93l0.17,0.36l0.76,0.34l0.44,0.9l-0.58,0.73l-0.06,0.13l-0.4,2.13l0.03,0.19l0.62,1.22l0.17,1.11l0.11,0.19l1.54,1.18l0.15,0.06l1.23,0.12l0.29,-0.15l0.2,-0.36l0.71,-0.11l1.13,-0.44l0.79,-0.63l1.25,0.19l0.65,-0.08l1.32,0.2l0.32,-0.18l0.23,-0.51l-0.05,-0.31l-0.31,-0.37l0.11,-0.31l0.75,0.17l0.13,0.0l1.1,-0.24l1.34,0.5l1.08,0.51l0.33,-0.05l0.67,-0.58l0.27,0.05l0.28,0.57l0.31,0.17l1.2,-0.18l0.17,-0.08l1.03,-1.05l0.76,-1.82l1.39,-2.16l0.49,-0.07l0.52,1.17l1.4,4.37l0.2,0.2l1.14,0.35l0.05,1.39l-1.8,1.97l0.01,0.42l0.78,0.75l0.18,0.08l4.16,0.37l0.08,2.25l0.5,0.22l1.78,-1.54l2.98,0.85l4.07,1.5l1.07,1.28l-0.37,1.23l0.36,0.38l2.83,-0.75l4.8,1.3l3.75,-0.09l3.6,2.02l3.27,2.84l1.93,0.72l2.13,0.11l0.76,0.66l1.22,4.56l-0.96,4.03l-1.22,1.58l-3.52,3.51l-1.63,2.91l-1.75,2.09l-0.5,0.04l-0.26,0.19l-0.72,1.99l0.18,4.76l-0.95,5.56l-0.74,0.96l-0.06,0.15l-0.43,3.39l-2.49,3.34l-0.06,0.13l-0.4,2.56l-1.9,1.07l-0.13,0.16l-0.51,1.38l-2.59,0.0l-3.94,1.01l-1.82,1.19l-2.85,0.81l-3.01,2.17l-2.12,2.65l-0.06,0.13l-0.36,2.0l0.01,0.13l0.4,1.42l-0.45,2.63l-0.53,1.23l-1.76,1.53l-2.76,4.79l-2.16,2.15l-1.69,1.29l-0.09,0.12l-1.12,2.6l-1.3,1.26l-0.45,-1.02l0.99,-1.18l0.01,-0.37l-1.5,-1.95l-1.98,-1.54l-2.58,-1.77l-0.2,-0.05l-0.81,0.07l-2.42,-2.05l-0.25,-0.07l-0.77,0.14l2.75,-3.07l2.8,-2.61l1.67,-1.09l2.11,-1.49l0.13,-0.24l0.05,-2.15l-0.07,-0.2l-1.26,-1.54l-0.35,-0.09l-0.64,0.27l0.3,-0.95l0.34,-1.57l0.01,-1.52l-0.16,-0.26l-0.9,-0.48l-0.27,-0.01l-0.86,0.39l-0.65,-0.08l-0.23,-0.8l-0.23,-2.39l-0.04,-0.12l-0.47,-0.79l-0.14,-0.12l-1.69,-0.71l-0.25,0.01l-0.93,0.47l-2.29,-0.44l0.15,-3.3l-0.03,-0.15l-0.62,-1.22l0.57,-0.39l0.13,-0.3l-0.22,-1.37l0.67,-1.13l0.44,-2.04l-0.01,-0.17l-0.59,-1.61l-0.14,-0.16l-1.25,-0.66l-0.22,-0.82l0.35,-1.41l-0.28,-0.37l-4.59,-0.1l-0.78,-2.41l0.34,-0.02l0.28,-0.31l-0.03,-1.1l-0.05,-0.16l-0.45,-0.68l-0.1,-1.4l-0.16,-0.24l-1.45,-0.76l-0.14,-0.03l-1.48,0.02l-1.04,-0.73l-1.62,-0.48l-0.93,-0.9l-0.16,-0.08l-2.72,-0.41l-2.53,-2.12l0.18,-1.54l-0.01,-0.13l-0.29,-0.91l0.26,-1.83l-0.34,-0.34l-3.28,0.43l-0.14,0.05l-1.3,0.93l-2.16,1.01l-0.12,0.09l-0.47,0.65l-1.12,0.05l-1.84,-0.21l-0.12,0.01l-1.33,0.41l-0.82,-0.21l0.16,-3.6l-0.48,-0.26l-1.97,1.43l-1.96,-0.06l-0.86,-1.23l-0.22,-0.13l-1.23,-0.11l0.34,-0.69l-0.05,-0.33l-1.36,-1.5l-0.92,-2.0l0.45,-0.32l0.13,-0.25l-0.0,-0.87l1.34,-0.64l0.17,-0.32l-0.23,-1.23l0.56,-0.77l0.05,-0.13l0.16,-1.03l2.7,-1.61l2.01,-0.47l0.16,-0.09l0.24,-0.27l2.11,0.11l0.31,-0.25l1.13,-6.87l0.06,-1.12l-0.4,-1.53l-0.1,-0.15l-1.0,-0.82l0.01,-1.45l1.08,-0.32l0.39,0.2l0.44,-0.24l0.08,-0.96l-0.25,-0.32l-1.22,-0.22l-0.02,-1.01l4.57,0.05l0.22,-0.09l0.6,-0.63l0.44,0.5l0.47,1.42l0.45,0.16l0.27,-0.18l1.21,1.16l0.23,0.08l1.95,-0.16l0.23,-0.14l0.43,-0.67l1.76,-0.55l1.05,-0.42l0.18,-0.2l0.25,-0.92l1.65,-0.66l0.18,-0.35l-0.14,-0.53l-0.26,-0.22l-1.91,-0.19l-0.29,-1.33l0.1,-1.64l-0.15,-0.28l-0.44,-0.25Z", "name": "Brazil"}, "BS": {"path": "M227.51,216.69l0.3,0.18l-0.24,1.07l0.03,-1.04l-0.09,-0.21ZM226.5,224.03l-0.13,0.03l-0.54,-1.3l-0.09,-0.12l-0.78,-0.64l0.4,-1.26l0.33,0.05l0.79,2.0l0.01,1.24ZM225.76,216.5l-2.16,0.34l-0.07,-0.41l0.85,-0.16l1.36,0.07l0.02,0.16Z", "name": "The Bahamas"}, "BY": {"path": "M480.08,135.28l2.09,0.02l0.13,-0.03l2.72,-1.3l0.16,-0.19l0.55,-1.83l1.94,-1.06l0.15,-0.31l-0.2,-1.33l1.33,-0.52l2.58,-1.3l2.39,0.8l0.3,0.75l0.37,0.17l1.22,-0.39l2.18,0.75l0.2,1.36l-0.48,0.85l0.01,0.32l1.57,2.26l0.92,0.6l-0.1,0.41l0.19,0.35l1.61,0.57l0.48,0.6l-0.64,0.49l-1.91,-0.11l-0.18,0.05l-0.48,0.32l-0.1,0.39l0.57,1.1l0.51,1.78l-1.79,0.17l-0.18,0.08l-0.77,0.73l-0.09,0.19l-0.13,1.31l-0.75,-0.22l-2.11,0.15l-0.56,-0.66l-0.39,-0.06l-0.8,0.49l-0.79,-0.4l-0.13,-0.03l-1.94,-0.07l-2.76,-0.79l-2.58,-0.27l-1.98,0.07l-0.15,0.05l-1.31,0.86l-0.8,0.09l-0.04,-1.16l-0.03,-0.12l-0.63,-1.28l1.22,-0.56l0.17,-0.27l0.01,-1.35l-0.04,-0.15l-0.66,-1.24l-0.08,-1.12Z", "name": "Belarus"}, "BZ": {"path": "M198.03,239.7l0.28,0.19l0.43,-0.1l0.82,-1.42l0.0,0.07l0.29,0.29l0.16,0.0l-0.02,0.35l-0.39,1.08l0.02,0.25l0.16,0.29l-0.23,0.8l0.04,0.24l0.09,0.14l-0.25,1.12l-0.38,0.53l-0.33,0.06l-0.21,0.15l-0.41,0.74l-0.25,0.0l0.17,-2.58l0.01,-2.2Z", "name": "Belize"}, "RU": {"path": "M688.57,38.85l0.63,2.39l0.44,0.19l2.22,-1.23l7.18,0.07l5.54,2.49l1.85,1.77l-0.55,2.34l-2.64,1.42l-6.57,2.76l-1.95,1.5l0.12,0.53l3.09,0.68l3.69,1.23l0.21,-0.01l1.98,-0.81l1.16,2.84l0.5,0.08l1.03,-1.18l3.86,-0.74l7.79,0.78l0.56,2.05l0.27,0.22l10.47,0.71l0.32,-0.29l0.13,-3.34l4.98,0.8l3.96,-0.02l3.88,2.43l1.06,2.79l-1.38,1.83l0.01,0.38l3.15,3.64l0.1,0.08l3.94,1.86l0.4,-0.14l2.28,-4.56l3.75,1.94l0.22,0.02l4.18,-1.22l4.76,1.4l0.26,-0.04l1.74,-1.23l3.98,0.63l0.32,-0.41l-1.71,-4.1l3.0,-1.86l22.39,3.04l2.06,2.67l0.1,0.08l6.55,3.51l0.17,0.03l10.08,-0.86l4.86,0.73l1.91,1.72l-0.29,3.13l0.18,0.31l3.08,1.26l0.19,0.01l3.32,-0.9l4.37,-0.11l4.78,0.87l4.61,-0.48l4.26,3.82l0.32,0.05l3.1,-1.4l0.12,-0.45l-1.91,-2.67l0.92,-1.64l7.78,1.22l5.22,-0.26l7.12,2.1l9.6,5.22l6.4,4.15l-0.2,2.44l0.14,0.28l1.69,1.04l0.45,-0.31l-0.51,-2.66l6.31,0.58l4.52,3.61l-2.1,1.52l-4.02,0.42l-0.27,0.29l-0.06,3.83l-0.81,0.67l-2.14,-0.11l-1.91,-1.39l-3.19,-1.13l-0.51,-1.63l-0.21,-0.2l-2.54,-0.67l-0.13,-0.0l-2.69,0.5l-1.12,-1.19l0.48,-1.36l-0.38,-0.39l-3.0,0.98l-0.17,0.44l1.02,1.76l-1.27,1.55l-3.09,1.71l-3.15,-0.29l-0.3,0.18l0.07,0.34l2.22,2.1l1.47,3.22l1.15,1.09l0.25,1.41l-0.48,0.76l-4.47,-0.81l-0.17,0.02l-6.97,2.9l-2.2,0.44l-0.11,0.05l-3.83,2.68l-3.63,2.32l-0.1,0.11l-0.76,1.4l-3.3,-2.4l-0.3,-0.03l-6.31,2.85l-0.99,-1.21l-0.4,-0.06l-2.32,1.54l-3.23,-0.49l-0.33,0.2l-0.79,2.39l-2.97,3.51l-0.07,0.21l0.09,1.47l0.22,0.27l2.62,0.74l-0.3,4.7l-2.06,0.12l-0.26,0.2l-1.07,2.94l0.04,0.27l0.83,1.19l-4.03,1.63l-0.18,0.21l-0.83,3.72l-3.55,0.79l-0.23,0.23l-0.73,3.32l-3.22,2.76l-0.76,-1.88l-1.07,-4.88l-1.39,-7.59l1.17,-4.76l2.05,-2.08l0.09,-0.19l0.11,-1.46l3.67,-0.77l0.15,-0.08l4.47,-4.61l4.29,-3.82l4.48,-3.01l0.11,-0.14l2.01,-5.43l-0.31,-0.4l-3.04,0.33l-0.24,0.17l-1.47,3.11l-5.98,3.94l-1.91,-4.36l-0.33,-0.17l-6.46,1.3l-0.15,0.08l-6.27,6.33l-0.01,0.41l1.7,1.87l-5.04,0.87l-3.51,0.34l0.16,-2.32l-0.26,-0.32l-3.89,-0.56l-0.19,0.04l-3.02,1.77l-7.63,-0.63l-8.24,1.1l-0.16,0.07l-8.11,7.09l-9.6,8.31l0.16,0.52l3.79,0.42l1.16,2.03l0.17,0.14l2.43,0.76l0.31,-0.08l1.5,-1.61l2.49,0.2l3.46,3.6l0.08,2.67l-1.91,3.26l-0.04,0.14l-0.21,3.91l-1.11,5.09l-3.73,4.55l-0.87,2.21l-6.73,7.14l-1.59,1.77l-3.23,1.72l-1.38,0.03l-1.48,-1.39l-0.37,-0.03l-3.36,2.22l-0.11,0.14l-0.16,0.42l-0.01,-1.09l1.0,-0.06l0.28,-0.27l0.36,-3.6l-0.61,-2.51l1.85,-0.94l2.94,0.53l0.32,-0.15l1.71,-3.1l0.84,-3.38l0.97,-1.18l1.32,-2.88l-0.34,-0.42l-4.14,0.95l-2.18,1.25l-3.51,-0.0l-0.95,-2.81l-0.1,-0.14l-2.97,-2.3l-0.11,-0.05l-4.19,-1.0l-0.89,-3.08l-0.87,-2.03l-0.95,-1.46l-1.54,-3.37l-0.12,-0.14l-2.27,-1.28l-3.83,-1.02l-3.37,0.1l-3.11,0.61l-0.13,0.06l-2.07,1.69l0.04,0.49l1.23,0.72l0.03,1.53l-1.34,1.05l-2.26,3.51l-0.05,0.17l0.02,1.27l-3.25,1.9l-2.87,-1.17l-0.14,-0.02l-2.86,0.26l-1.22,-1.02l-0.12,-0.06l-1.5,-0.35l-0.23,0.04l-3.62,2.27l-3.24,0.53l-2.28,0.79l-3.08,-0.51l-2.24,0.03l-1.49,-1.61l-2.45,-1.57l-0.11,-0.04l-2.6,-0.43l-3.17,0.43l-2.31,0.59l-3.31,-1.28l-0.45,-2.31l-0.21,-0.23l-2.94,-0.85l-2.26,-0.39l-2.77,-1.36l-0.37,0.09l-2.59,3.45l-0.03,0.32l0.91,1.74l-2.15,2.01l-3.47,-0.79l-2.44,-0.12l-1.59,-1.46l-0.2,-0.08l-2.55,-0.05l-2.12,-0.98l-0.24,-0.01l-3.85,1.57l-4.74,2.79l-2.59,0.55l-0.79,0.21l-1.21,-1.81l-0.29,-0.13l-3.05,0.41l-0.96,-1.25l-0.14,-0.1l-1.65,-0.6l-1.15,-1.82l-0.13,-0.12l-1.38,-0.6l-0.19,-0.02l-3.49,0.82l-3.35,-1.85l-0.38,0.08l-1.08,1.4l-5.36,-8.17l-3.02,-2.52l0.72,-0.85l0.01,-0.38l-0.37,-0.08l-6.22,3.21l-1.98,0.16l0.17,-1.51l-0.2,-0.31l-3.22,-1.17l-0.19,-0.0l-2.3,0.74l-0.72,-3.27l-0.24,-0.23l-4.5,-0.75l-0.21,0.04l-2.2,1.42l-6.21,1.27l-0.11,0.05l-1.16,0.81l-9.3,1.19l-0.18,0.09l-1.15,1.17l-0.02,0.39l1.56,2.01l-2.02,0.74l-0.16,0.42l0.35,0.68l-2.18,1.49l0.02,0.51l3.83,2.16l-0.45,1.13l-3.31,-0.13l-0.25,0.12l-0.57,0.77l-2.97,-1.59l-0.15,-0.04l-3.97,0.07l-0.13,0.03l-2.53,1.32l-2.84,-1.28l-5.52,-2.3l-0.12,-0.02l-3.91,0.09l-0.16,0.05l-5.17,3.6l-0.13,0.21l-0.25,1.89l-2.17,-1.6l-0.44,0.1l-2.0,3.59l0.06,0.37l0.55,0.5l-1.32,2.23l0.04,0.36l2.13,2.17l0.23,0.09l1.7,-0.08l1.42,1.89l-0.23,1.5l0.19,0.32l0.94,0.38l-0.89,1.44l-2.3,0.49l-0.17,0.11l-2.49,3.2l0.0,0.37l2.2,2.81l-0.23,1.93l0.06,0.22l2.56,3.32l-1.27,1.02l-0.4,0.66l-0.8,-0.15l-1.65,-1.75l-0.18,-0.09l-0.66,-0.09l-1.45,-0.64l-0.72,-1.16l-0.18,-0.13l-2.34,-0.63l-0.17,0.0l-1.32,0.41l-0.31,-0.4l-0.12,-0.09l-3.49,-1.48l-3.67,-0.49l-2.1,-0.52l-0.3,0.1l-0.12,0.14l-2.96,-2.4l-2.89,-1.19l-1.69,-1.42l1.27,-0.35l0.16,-0.1l2.08,-2.61l-0.04,-0.41l-1.02,-0.9l3.21,-1.12l0.2,-0.31l-0.07,-0.69l-0.37,-0.26l-1.86,0.42l0.05,-0.86l1.11,-0.76l2.35,-0.23l0.25,-0.19l0.39,-1.07l0.0,-0.19l-0.51,-1.64l0.95,-1.58l0.04,-0.16l-0.03,-0.95l-0.22,-0.28l-3.69,-1.06l-1.43,0.02l-1.45,-1.44l-0.29,-0.08l-1.83,0.49l-2.88,-1.04l0.04,-0.42l-0.04,-0.18l-0.89,-1.43l-0.23,-0.14l-1.77,-0.14l-0.13,-0.66l0.52,-0.56l0.01,-0.4l-1.6,-1.9l-0.27,-0.1l-2.55,0.32l-0.71,-0.16l-0.3,0.1l-0.53,0.63l-0.58,-0.08l-0.56,-1.97l-0.48,-0.94l0.17,-0.11l1.92,0.11l0.2,-0.06l0.97,-0.74l0.05,-0.42l-0.72,-0.91l-0.13,-0.1l-1.43,-0.51l0.09,-0.36l-0.13,-0.33l-0.97,-0.59l-1.43,-2.06l0.44,-0.77l0.04,-0.19l-0.25,-1.64l-0.2,-0.24l-2.45,-0.84l-0.19,-0.0l-1.05,0.34l-0.25,-0.62l-0.18,-0.17l-2.5,-0.84l-0.74,-1.93l-0.21,-1.7l-0.13,-0.21l-0.92,-0.63l0.83,-0.89l0.07,-0.27l-0.71,-3.26l1.69,-2.01l0.03,-0.34l-0.24,-0.41l2.63,-1.9l-0.01,-0.49l-2.31,-1.57l5.08,-4.61l2.33,-2.24l1.01,-2.08l-0.09,-0.37l-3.52,-2.56l0.94,-2.38l-0.04,-0.29l-2.14,-2.86l1.61,-3.35l-0.01,-0.29l-2.81,-4.58l2.19,-3.04l-0.06,-0.42l-3.7,-2.76l0.32,-2.67l1.87,-0.38l4.26,-1.77l2.46,-1.47l3.96,2.58l0.12,0.05l6.81,1.04l9.37,4.87l1.81,1.92l0.15,2.55l-2.61,2.06l-3.95,1.07l-11.1,-3.15l-0.17,0.0l-1.84,0.53l-0.1,0.53l3.97,2.97l0.15,1.77l0.16,4.14l0.19,0.27l3.21,1.22l1.94,1.03l0.44,-0.22l0.32,-1.94l-0.07,-0.25l-1.32,-1.52l1.25,-1.2l5.87,2.45l0.24,-0.01l2.11,-0.98l0.13,-0.42l-1.55,-2.75l5.52,-3.84l2.13,0.22l2.28,1.42l0.43,-0.12l1.46,-2.87l-0.04,-0.33l-1.97,-2.37l1.14,-2.38l-0.02,-0.3l-1.42,-2.07l6.15,1.22l1.14,1.92l-2.74,0.46l-0.25,0.3l0.02,2.36l0.12,0.24l1.97,1.44l0.25,0.05l3.87,-0.91l0.22,-0.23l0.58,-2.55l5.09,-1.98l8.67,-3.69l1.22,0.14l-2.06,2.2l0.18,0.5l3.11,0.45l0.23,-0.07l1.71,-1.41l4.59,-0.12l0.12,-0.03l3.53,-1.72l2.7,2.48l0.42,-0.01l2.85,-2.88l-0.0,-0.43l-2.42,-2.35l1.0,-1.13l7.2,1.31l3.42,1.36l9.06,4.97l0.39,-0.08l1.67,-2.27l-0.04,-0.4l-2.46,-2.23l-0.06,-0.82l-0.26,-0.27l-2.64,-0.38l0.69,-1.76l0.0,-0.22l-1.32,-3.47l-0.07,-1.27l4.52,-4.09l0.08,-0.11l1.6,-4.18l1.67,-0.84l6.33,1.2l0.46,2.31l-2.31,3.67l0.05,0.38l1.49,1.41l0.77,3.04l-0.56,6.05l0.09,0.24l2.62,2.54l-0.99,2.65l-4.87,5.96l0.17,0.48l2.86,0.61l0.31,-0.13l0.94,-1.42l2.67,-1.04l0.18,-0.19l0.64,-2.01l2.11,-1.98l0.05,-0.37l-1.38,-2.32l1.11,-2.74l-0.24,-0.41l-2.53,-0.33l-0.53,-2.16l1.96,-4.42l-0.05,-0.32l-3.03,-3.48l4.21,-2.94l0.12,-0.3l-0.52,-3.04l0.72,-0.06l1.18,2.35l-0.97,4.39l0.2,0.35l2.68,0.84l0.37,-0.38l-1.05,-3.07l3.89,-1.71l5.05,-0.24l4.55,2.62l0.36,-0.05l0.05,-0.36l-2.19,-3.84l-0.23,-4.78l4.07,-0.92l5.98,0.21l5.47,-0.64l0.2,-0.48l-1.88,-2.37l2.65,-2.99l2.75,-0.13l0.12,-0.03l4.82,-2.48l6.56,-0.67l0.23,-0.14l0.76,-1.27l6.33,-0.46l1.97,1.11l0.28,0.01l5.55,-2.71l4.53,0.08l0.29,-0.21l0.67,-2.18l2.29,-2.15l5.75,-2.13l3.48,1.4l-2.7,1.03l-0.19,0.31l0.26,0.26l5.47,0.78ZM871.83,65.73l0.25,-0.15l1.99,0.01l3.3,1.2l-0.08,0.22l-2.41,1.03l-5.73,0.49l-0.31,-1.0l2.99,-1.8ZM797.64,48.44l-2.22,1.51l-3.85,-0.43l-4.35,-1.85l0.42,-1.13l4.42,0.72l5.59,1.17ZM783.82,46.06l-1.71,3.25l-9.05,-0.14l-4.11,1.15l-4.64,-3.04l1.21,-3.13l3.11,-0.91l6.53,0.22l8.66,2.59ZM780.37,145.71l2.28,5.23l-3.09,-0.89l-0.37,0.19l-1.54,4.65l0.04,0.27l2.38,3.17l-0.05,1.4l-1.41,-1.41l-0.46,0.04l-1.23,1.81l-0.33,-1.86l0.28,-3.1l-0.28,-3.41l0.58,-2.46l0.11,-4.39l-0.03,-0.13l-1.44,-3.2l0.21,-4.39l2.19,-1.49l0.09,-0.41l-0.81,-1.3l0.48,-0.21l0.56,1.94l0.86,3.23l-0.05,3.36l1.03,3.35ZM780.16,57.18l-3.4,0.03l-5.06,-0.53l1.97,-1.59l2.95,-0.42l3.35,1.75l0.18,0.77ZM683.84,31.18l-13.29,1.97l4.16,-6.56l1.88,-0.58l1.77,0.34l6.08,3.02l-0.6,1.8ZM670.94,28.02l-5.18,0.65l-6.89,-1.58l-4.03,-2.07l-1.88,-3.98l-0.18,-0.16l-2.8,-0.93l5.91,-3.62l5.25,-1.29l4.73,2.88l5.63,5.44l-0.57,4.66ZM564.37,68.98l-0.85,0.23l-7.93,-0.57l-0.6,-1.84l-0.21,-0.2l-4.34,-1.18l-0.3,-2.08l2.34,-0.92l0.19,-0.29l-0.08,-2.43l4.85,-4.0l-0.12,-0.52l-1.68,-0.43l5.47,-3.94l0.11,-0.33l-0.6,-2.02l5.36,-2.55l8.22,-3.27l8.29,-0.96l4.34,-1.94l4.67,-0.65l1.45,1.72l-1.43,1.37l-8.8,2.52l-7.65,2.42l-7.92,4.84l-3.73,4.75l-3.92,4.58l-0.07,0.23l0.51,3.88l0.11,0.2l4.32,3.39ZM548.86,18.57l-3.28,0.75l-2.25,0.44l-0.22,0.19l-0.3,0.81l-2.67,0.86l-2.27,-1.14l1.2,-1.51l-0.23,-0.49l-3.14,-0.1l2.48,-0.54l3.55,-0.07l0.44,1.36l0.49,0.12l1.4,-1.35l2.2,-0.9l3.13,1.08l-0.54,0.49ZM477.5,133.25l-4.21,0.05l-2.69,-0.34l0.39,-1.03l3.24,-1.06l2.51,0.58l0.85,0.43l-0.2,0.71l-0.0,0.15l0.12,0.52Z", "name": "Russia"}, "RW": {"path": "M497.03,288.12l0.78,1.11l-0.12,1.19l-0.49,0.21l-1.25,-0.15l-0.3,0.16l-0.67,1.24l-1.01,-0.13l0.16,-0.92l0.22,-0.12l0.15,-0.24l0.09,-1.37l0.49,-0.48l0.42,0.18l0.25,-0.01l1.26,-0.65Z", "name": "Rwanda"}, "RS": {"path": "M469.75,168.65l0.21,-0.21l0.36,-1.44l-0.08,-0.29l-1.06,-1.03l0.54,-1.16l-0.28,-0.43l-0.26,0.0l0.55,-0.67l-0.01,-0.39l-0.77,-0.86l-0.45,-0.89l1.56,-0.67l1.39,0.12l1.22,1.1l0.26,0.91l0.16,0.19l1.38,0.66l0.17,1.12l0.14,0.21l1.46,0.9l0.35,-0.03l0.62,-0.54l0.09,0.06l-0.28,0.25l-0.03,0.42l0.29,0.34l-0.44,0.5l-0.07,0.26l0.22,1.12l0.07,0.14l1.02,1.1l-0.81,0.84l-0.42,0.96l0.04,0.3l0.12,0.15l-0.15,0.16l-1.04,0.04l-0.39,0.08l0.33,-0.81l-0.29,-0.41l-0.21,0.01l-0.39,-0.45l-0.13,-0.09l-0.32,-0.11l-0.27,-0.4l-0.14,-0.11l-0.4,-0.16l-0.31,-0.37l-0.34,-0.09l-0.45,0.17l-0.18,0.18l-0.29,0.84l-0.96,-0.65l-0.81,-0.33l-0.32,-0.37l-0.22,-0.18Z", "name": "Republic of Serbia"}, "LT": {"path": "M478.13,133.31l-0.14,-0.63l0.25,-0.88l-0.15,-0.35l-1.17,-0.58l-2.43,-0.57l-0.45,-2.51l2.58,-0.97l4.14,0.22l2.3,-0.32l0.26,0.54l0.22,0.17l1.26,0.22l2.25,1.6l0.19,1.23l-1.87,1.01l-0.14,0.18l-0.54,1.83l-2.54,1.21l-2.18,-0.02l-0.52,-0.91l-0.18,-0.14l-1.11,-0.32Z", "name": "Lithuania"}, "LU": {"path": "M435.95,147.99l0.33,0.49l-0.11,1.07l-0.39,0.04l-0.29,-0.15l0.21,-1.4l0.25,-0.05Z", "name": "Luxembourg"}, "LR": {"path": "M401.37,273.67l-0.32,0.01l-2.48,-1.15l-2.24,-1.89l-2.14,-1.38l-1.47,-1.42l0.44,-0.59l0.05,-0.13l0.12,-0.65l1.07,-1.3l1.08,-1.09l0.52,-0.07l0.43,-0.18l0.84,1.24l-0.15,0.89l0.07,0.25l0.49,0.54l0.22,0.1l0.71,0.01l0.27,-0.16l0.42,-0.83l0.19,0.02l-0.06,0.52l0.23,1.12l-0.5,1.03l0.06,0.35l0.73,0.69l0.14,0.08l0.71,0.15l0.92,0.91l0.06,0.76l-0.17,0.22l-0.06,0.15l-0.17,1.8Z", "name": "Liberia"}, "RO": {"path": "M477.94,155.19l1.02,-0.64l1.49,0.33l1.52,0.01l1.09,0.73l0.32,0.01l0.81,-0.46l1.8,-0.3l0.18,-0.1l0.54,-0.64l0.86,0.0l0.64,0.26l0.71,0.87l0.8,1.35l1.39,1.81l0.07,1.25l-0.26,1.3l0.01,0.15l0.45,1.42l0.15,0.18l1.12,0.57l0.25,0.01l1.05,-0.45l0.86,0.4l0.03,0.43l-0.92,0.51l-0.63,-0.24l-0.4,0.22l-0.64,3.41l-1.12,-0.24l-1.78,-1.09l-0.23,-0.04l-2.95,0.71l-1.25,0.77l-3.55,-0.16l-1.89,-0.47l-0.14,-0.0l-0.75,0.17l-0.61,-1.07l-0.3,-0.36l0.36,-0.32l-0.04,-0.48l-0.62,-0.38l-0.36,0.03l-0.62,0.54l-1.15,-0.71l-0.18,-1.14l-0.17,-0.22l-1.4,-0.67l-0.24,-0.86l-0.09,-0.14l-0.96,-0.87l1.49,-0.44l0.16,-0.11l1.51,-2.14l1.15,-2.09l1.44,-0.63Z", "name": "Romania"}, "GW": {"path": "M383.03,256.73l-1.12,-0.88l-0.14,-0.06l-0.94,-0.15l-0.43,-0.54l0.01,-0.27l-0.13,-0.26l-0.68,-0.48l-0.05,-0.16l0.99,-0.31l0.77,0.08l0.15,-0.02l0.61,-0.26l4.25,0.1l-0.02,0.44l-0.19,0.18l-0.08,0.29l0.17,0.66l-0.17,0.14l-0.44,0.0l-0.16,0.05l-0.57,0.37l-0.66,-0.04l-0.24,0.1l-0.92,1.03Z", "name": "Guinea Bissau"}, "GT": {"path": "M195.13,249.89l-1.05,-0.35l-1.5,-0.04l-1.06,-0.47l-1.19,-0.93l0.04,-0.53l0.27,-0.55l-0.03,-0.31l-0.24,-0.32l1.02,-1.77l3.04,-0.01l0.3,-0.28l0.06,-0.88l-0.19,-0.3l-0.3,-0.11l-0.23,-0.45l-0.11,-0.12l-0.9,-0.58l-0.35,-0.33l0.37,-0.0l0.3,-0.3l0.0,-1.15l4.05,0.02l-0.02,1.74l-0.2,2.89l0.3,0.32l0.67,-0.0l0.75,0.42l0.4,-0.11l-0.62,0.53l-1.17,0.7l-0.13,0.16l-0.18,0.49l0.0,0.21l0.14,0.34l-0.35,0.44l-0.49,0.13l-0.2,0.41l0.03,0.06l-0.27,0.16l-0.86,0.64l-0.12,0.22ZM199.35,245.38l0.07,-0.13l0.05,0.02l-0.13,0.11Z", "name": "Guatemala"}, "GR": {"path": "M487.2,174.55l-0.64,1.54l-0.43,0.24l-1.41,-0.08l-1.28,-0.28l-0.14,0.0l-3.03,0.77l-0.13,0.51l1.39,1.34l-0.78,0.29l-1.2,0.0l-1.23,-1.42l-0.47,0.02l-0.47,0.65l-0.04,0.27l0.56,1.76l0.06,0.11l1.02,1.12l-0.66,0.45l-0.04,0.46l1.39,1.35l1.15,0.79l0.02,1.06l-1.91,-0.63l-0.36,0.42l0.56,1.12l-1.2,0.23l-0.22,0.4l0.8,2.14l-1.15,0.02l-1.89,-1.15l-0.89,-2.19l-0.43,-1.91l-0.05,-0.11l-0.98,-1.35l-1.24,-1.62l-0.13,-0.63l1.07,-1.32l0.06,-0.14l0.13,-0.81l0.68,-0.36l0.16,-0.25l0.03,-0.54l1.4,-0.23l0.12,-0.05l0.87,-0.6l1.26,0.05l0.25,-0.11l0.34,-0.43l0.33,-0.07l1.81,0.08l0.13,-0.02l1.87,-0.77l1.64,0.97l0.19,0.04l2.28,-0.28l0.26,-0.29l0.02,-0.95l0.56,0.36ZM480.44,192.0l1.05,0.74l0.01,0.0l-1.26,-0.23l0.2,-0.51ZM481.76,192.79l1.86,-0.15l1.53,0.17l-0.02,0.19l0.34,0.3l-2.28,0.15l0.01,-0.13l-0.25,-0.31l-1.19,-0.22ZM485.65,193.28l0.65,-0.16l-0.05,0.12l-0.6,0.04Z", "name": "Greece"}, "GQ": {"path": "M444.81,282.04l-0.21,-0.17l0.74,-2.4l3.56,0.05l0.02,2.42l-3.34,-0.02l-0.76,0.13Z", "name": "Equatorial Guinea"}, "GY": {"path": "M271.34,264.25l1.43,0.81l1.44,1.53l0.06,1.19l0.28,0.28l0.84,0.05l2.13,1.92l-0.34,1.93l-1.37,0.59l-0.17,0.34l0.12,0.51l-0.43,1.21l0.03,0.26l1.11,1.82l0.26,0.14l0.56,0.0l0.32,1.29l1.25,1.78l-0.08,0.01l-1.34,-0.21l-0.24,0.06l-0.78,0.64l-1.06,0.41l-0.76,0.1l-0.22,0.15l-0.18,0.32l-0.95,-0.1l-1.38,-1.05l-0.19,-1.13l-0.6,-1.18l0.37,-1.96l0.65,-0.83l0.03,-0.32l-0.57,-1.17l-0.15,-0.14l-0.62,-0.27l0.25,-0.85l-0.08,-0.3l-0.58,-0.58l-0.24,-0.09l-1.15,0.1l-1.41,-1.58l0.48,-0.49l0.09,-0.22l-0.04,-0.92l1.31,-0.34l0.73,-0.52l0.04,-0.44l-0.75,-0.82l0.16,-0.66l1.74,-1.3Z", "name": "Guyana"}, "GE": {"path": "M525.41,174.19l0.26,-0.88l-0.0,-0.17l-0.63,-2.06l-0.1,-0.15l-1.45,-1.12l-0.11,-0.05l-1.31,-0.33l-0.66,-0.69l1.97,0.48l3.65,0.49l3.3,1.41l0.39,0.5l0.33,0.1l1.43,-0.45l2.14,0.58l0.7,1.14l0.13,0.12l1.06,0.47l-0.18,0.11l-0.08,0.43l1.08,1.41l-0.06,0.06l-1.16,-0.15l-1.82,-0.84l-0.31,0.04l-0.55,0.44l-3.29,0.44l-2.32,-1.41l-0.17,-0.04l-2.25,0.12Z", "name": "Georgia"}, "GB": {"path": "M412.82,118.6l-2.31,3.4l-0.0,0.33l0.31,0.13l2.52,-0.49l2.34,0.02l-0.56,2.51l-2.22,3.13l0.22,0.47l2.43,0.21l2.35,4.35l0.17,0.14l1.58,0.51l1.49,3.78l0.73,1.37l0.2,0.15l2.76,0.59l-0.25,1.75l-1.18,0.91l-0.08,0.39l0.87,1.49l-1.96,1.51l-3.31,-0.02l-4.15,0.88l-1.07,-0.59l-0.35,0.04l-1.55,1.44l-2.17,-0.35l-0.22,0.05l-1.61,1.15l-0.78,-0.38l3.31,-3.12l2.18,-0.7l0.21,-0.31l-0.26,-0.27l-3.78,-0.54l-0.48,-0.9l2.3,-0.92l0.13,-0.46l-1.29,-1.71l0.39,-1.83l3.46,0.29l0.32,-0.24l0.37,-1.99l-0.06,-0.24l-1.71,-2.17l-0.18,-0.11l-2.91,-0.58l-0.43,-0.68l0.82,-1.4l-0.03,-0.35l-0.82,-0.97l-0.46,0.01l-0.85,1.05l-0.11,-2.6l-0.05,-0.16l-1.19,-1.7l0.86,-3.53l1.81,-2.75l1.88,0.26l2.38,-0.24ZM406.39,132.84l-1.09,1.92l-1.65,-0.62l-1.26,0.02l0.41,-1.46l0.0,-0.16l-0.42,-1.51l1.62,-0.11l2.39,1.92Z", "name": "United Kingdom"}, "GA": {"path": "M448.76,294.47l-2.38,-2.34l-1.63,-2.04l-1.46,-2.48l0.06,-0.66l0.54,-0.81l0.61,-1.82l0.46,-1.69l0.63,-0.11l3.62,0.03l0.3,-0.3l-0.02,-2.75l0.88,-0.12l1.47,0.32l0.13,0.0l1.39,-0.3l-0.13,0.87l0.03,0.19l0.7,1.29l0.3,0.16l1.74,-0.19l0.36,0.29l-1.01,2.7l0.05,0.29l1.13,1.42l0.25,1.82l-0.3,1.56l-0.64,0.99l-1.93,-0.09l-1.26,-1.13l-0.5,0.17l-0.16,0.91l-1.48,0.27l-0.12,0.05l-0.86,0.63l-0.08,0.39l0.81,1.42l-1.48,1.08Z", "name": "Gabon"}, "GN": {"path": "M399.83,265.31l-0.69,-0.06l-0.3,0.16l-0.43,0.85l-0.39,-0.01l-0.3,-0.33l0.14,-0.87l-0.05,-0.22l-1.05,-1.54l-0.37,-0.11l-0.61,0.27l-0.84,0.12l0.02,-0.54l-0.04,-0.17l-0.35,-0.57l0.07,-0.63l-0.03,-0.17l-0.57,-1.11l-0.7,-0.9l-0.24,-0.12l-2.0,-0.0l-0.19,0.07l-0.51,0.42l-0.6,0.05l-0.21,0.11l-0.43,0.55l-0.3,0.7l-1.04,0.86l-0.91,-1.24l-1.0,-1.02l-0.69,-0.37l-0.52,-0.42l-0.3,-1.11l-0.37,-0.56l-0.1,-0.1l-0.4,-0.23l0.77,-0.85l0.62,0.04l0.18,-0.05l0.58,-0.38l0.46,-0.0l0.19,-0.07l0.39,-0.34l0.1,-0.3l-0.17,-0.67l0.15,-0.14l0.09,-0.2l0.03,-0.57l0.87,0.02l1.76,0.6l0.13,0.01l0.55,-0.06l0.22,-0.13l0.08,-0.12l1.18,0.17l0.17,-0.02l0.09,0.56l0.3,0.25l0.4,-0.0l0.14,-0.03l0.56,-0.29l0.23,0.05l0.63,0.59l0.15,0.07l1.07,0.2l0.24,-0.06l0.65,-0.52l0.77,-0.32l0.55,-0.32l0.3,0.04l0.44,0.45l0.34,0.74l0.84,0.87l-0.35,0.45l-0.06,0.15l-0.1,0.82l0.42,0.31l0.35,-0.16l0.05,0.04l-0.1,0.59l0.09,0.27l0.42,0.4l-0.06,0.02l-0.18,0.21l-0.2,0.86l0.03,0.21l0.56,1.02l0.52,1.71l-0.65,0.21l-0.15,0.12l-0.24,0.35l-0.03,0.28l0.16,0.41l-0.1,0.76l-0.12,0.0Z", "name": "Guinea"}, "GM": {"path": "M379.18,251.48l0.15,-0.55l2.51,-0.07l0.21,-0.09l0.48,-0.52l0.58,-0.03l0.91,0.58l0.16,0.05l0.78,0.01l0.14,-0.03l0.59,-0.31l0.16,0.24l-0.71,0.38l-0.94,-0.04l-1.02,-0.51l-0.3,0.01l-0.86,0.55l-0.37,0.02l-0.14,0.04l-0.53,0.31l-1.81,-0.04Z", "name": "Gambia"}, "GL": {"path": "M304.13,6.6l8.19,-3.63l8.72,0.28l0.19,-0.06l3.12,-2.28l8.75,-0.61l19.94,0.8l14.93,4.75l-3.92,2.01l-9.52,0.27l-13.48,0.6l-0.27,0.2l0.09,0.33l1.26,1.09l0.22,0.07l8.81,-0.67l7.49,2.07l0.19,-0.01l4.68,-1.78l1.76,1.84l-2.59,3.26l-0.01,0.36l0.34,0.11l6.35,-2.2l12.09,-2.32l7.31,1.14l1.17,2.13l-9.9,4.05l-1.43,1.32l-7.91,0.98l-0.26,0.31l0.29,0.29l5.25,0.25l-2.63,3.72l-2.02,3.61l-0.04,0.15l0.08,6.05l0.07,0.19l2.61,3.0l-3.4,0.2l-4.12,1.66l-0.04,0.54l4.5,2.67l0.53,3.9l-2.39,0.42l-0.19,0.48l2.91,3.83l-5.0,0.32l-0.27,0.22l0.12,0.33l2.69,1.84l-0.65,1.35l-3.36,0.71l-3.46,0.01l-0.21,0.51l3.05,3.15l0.02,1.53l-4.54,-1.79l-0.32,0.06l-1.29,1.26l0.11,0.5l3.33,1.15l3.17,2.74l0.85,3.29l-4.0,0.78l-1.83,-1.66l-3.1,-2.64l-0.36,-0.02l-0.13,0.33l0.8,2.92l-2.76,2.26l-0.09,0.33l0.28,0.2l6.59,0.19l2.47,0.18l-5.86,3.38l-6.76,3.43l-7.26,1.48l-2.73,0.02l-0.16,0.05l-2.67,1.72l-3.44,4.42l-5.28,2.86l-1.73,0.18l-3.33,1.01l-3.59,0.96l-0.15,0.1l-2.15,2.52l-0.07,0.19l-0.03,2.76l-1.21,2.49l-4.03,3.1l-0.1,0.33l0.98,2.94l-2.31,6.57l-3.21,0.21l-3.6,-3.0l-0.19,-0.07l-4.9,-0.02l-2.29,-1.97l-1.69,-3.78l-4.31,-4.86l-1.23,-2.52l-0.34,-3.58l-0.08,-0.17l-3.35,-3.67l0.85,-2.92l-0.09,-0.31l-1.5,-1.34l2.33,-4.7l3.67,-1.57l0.15,-0.13l1.02,-1.93l0.52,-3.47l-0.44,-0.31l-2.85,1.57l-1.33,0.64l-2.12,0.59l-2.81,-1.32l-0.15,-2.79l0.88,-2.17l2.09,-0.06l5.07,1.2l0.34,-0.17l-0.11,-0.37l-4.3,-2.9l-2.24,-1.58l-0.25,-0.05l-2.38,0.62l-1.7,-0.93l2.62,-4.1l-0.03,-0.36l-1.51,-1.75l-1.97,-3.3l-3.01,-5.21l-0.1,-0.11l-3.04,-1.85l0.03,-1.94l-0.18,-0.28l-6.82,-3.01l-5.35,-0.38l-6.69,0.21l-6.03,0.37l-2.81,-1.59l-3.84,-2.9l5.94,-1.5l5.01,-0.28l0.28,-0.29l-0.26,-0.31l-10.68,-1.38l-5.38,-2.1l0.27,-1.68l9.3,-2.6l9.18,-2.68l0.19,-0.16l0.97,-2.05l-0.18,-0.42l-6.29,-1.91l1.81,-1.9l8.58,-4.05l3.6,-0.63l0.23,-0.4l-0.92,-2.37l5.59,-1.5l7.66,-0.95l7.58,-0.05l2.65,1.84l0.31,0.02l6.52,-3.29l5.85,2.24l3.55,0.49l5.17,1.95l0.38,-0.16l-0.13,-0.39l-5.77,-3.16l0.29,-2.26Z", "name": "Greenland"}, "KW": {"path": "M540.87,207.81l0.41,0.94l-0.18,0.51l0.0,0.21l0.65,1.66l-1.15,0.05l-0.54,-1.12l-0.24,-0.17l-1.73,-0.2l1.44,-2.06l1.33,0.18Z", "name": "Kuwait"}, "GH": {"path": "M423.16,269.88l-3.58,1.34l-1.41,0.87l-2.13,0.69l-1.91,-0.61l0.09,-0.75l-0.03,-0.17l-1.04,-2.07l0.62,-2.7l1.04,-2.08l0.03,-0.19l-1.0,-5.46l0.05,-1.12l4.04,-0.11l1.08,0.18l0.18,-0.03l0.72,-0.36l0.75,0.13l-0.11,0.48l0.06,0.26l0.98,1.22l-0.0,1.77l0.24,1.99l0.05,0.13l0.55,0.81l-0.52,2.14l0.19,1.37l0.69,1.66l0.38,0.62Z", "name": "Ghana"}, "OM": {"path": "M568.16,231.0l-0.08,0.1l-0.84,1.61l-0.93,-0.11l-0.27,0.11l-0.58,0.73l-0.4,1.32l-0.01,0.14l0.29,1.61l-0.07,0.09l-1.0,-0.01l-0.16,0.04l-1.56,0.97l-0.14,0.2l-0.23,1.17l-0.41,0.4l-1.44,-0.02l-0.17,0.05l-0.98,0.65l-0.13,0.25l0.01,0.87l-0.97,0.57l-1.27,-0.22l-0.19,0.03l-1.63,0.84l-0.88,0.11l-2.55,-5.57l7.2,-2.49l0.19,-0.19l1.67,-5.23l-0.03,-0.25l-1.1,-1.78l0.05,-0.89l0.68,-1.03l0.05,-0.16l0.01,-0.89l0.96,-0.44l0.07,-0.5l-0.32,-0.26l0.16,-1.31l0.85,-0.01l1.03,1.67l0.09,0.09l1.4,0.96l0.11,0.05l1.82,0.34l1.37,0.45l1.75,2.32l0.13,0.1l0.7,0.26l-0.0,0.3l-1.25,2.19l-1.01,0.8ZM561.88,218.47l-0.01,0.02l-0.15,-0.29l0.3,-0.38l-0.14,0.65Z", "name": "Oman"}, "_3": {"path": "M543.2,261.06l-1.07,1.46l-1.65,1.99l-1.91,0.01l-8.08,-2.95l-0.89,-0.84l-0.9,-1.19l-0.81,-1.23l0.44,-0.73l0.76,-1.12l0.49,0.28l0.52,1.05l1.13,1.06l0.2,0.08l1.24,0.01l2.42,-0.65l2.77,-0.31l2.17,-0.78l1.31,-0.19l0.84,-0.43l1.03,-0.06l-0.01,4.54Z", "name": "Somaliland"}, "_2": {"path": "M384.23,230.37l0.07,-0.06l0.28,-0.89l0.99,-1.13l0.07,-0.13l0.8,-3.54l3.4,-2.8l0.09,-0.13l0.76,-2.17l0.07,5.5l-2.07,0.21l-0.24,0.17l-0.61,1.36l-0.02,0.16l0.43,3.46l-4.01,-0.01ZM391.82,218.2l0.07,-0.06l0.75,-1.93l1.86,-0.25l0.94,0.34l1.14,0.0l0.18,-0.06l0.73,-0.56l1.41,-0.08l-0.0,2.72l-7.08,-0.12Z", "name": "Western Sahara"}, "_1": {"path": "M472.71,172.84l-0.07,-0.43l-0.16,-0.22l-0.53,-0.27l-0.38,-0.58l0.3,-0.43l0.51,-0.19l0.18,-0.18l0.3,-0.87l0.12,-0.04l0.22,0.26l0.12,0.09l0.38,0.15l0.28,0.41l0.15,0.12l0.34,0.12l0.43,0.5l0.15,0.07l-0.12,0.3l-0.27,0.32l-0.03,0.18l-0.31,0.06l-1.48,0.47l-0.15,0.17Z", "name": "Kosovo"}, "_0": {"path": "M503.54,192.92l0.09,-0.17l0.41,0.01l-0.08,0.01l-0.42,0.15ZM504.23,192.76l1.02,0.02l0.4,-0.13l-0.09,0.29l0.03,0.08l-0.35,0.16l-0.24,-0.04l-0.06,-0.1l-0.18,-0.17l-0.19,-0.08l-0.33,-0.02Z", "name": "Northern Cyprus"}, "JO": {"path": "M510.26,200.93l0.28,-0.57l2.53,1.0l0.27,-0.02l4.57,-2.77l0.84,2.84l-0.28,0.25l-4.95,1.37l-0.14,0.49l2.24,2.48l-0.5,0.28l-0.13,0.14l-0.35,0.78l-1.76,0.35l-0.2,0.14l-0.57,0.94l-0.94,0.73l-2.45,-0.38l-0.03,-0.12l1.23,-4.32l-0.04,-1.1l0.34,-0.75l0.03,-0.12l0.0,-1.63Z", "name": "Jordan"}, "HR": {"path": "M455.49,162.73l1.53,0.09l0.24,-0.1l0.29,-0.34l0.64,0.38l0.14,0.04l0.98,0.06l0.32,-0.3l-0.01,-0.66l0.67,-0.25l0.19,-0.22l0.21,-1.11l1.72,-0.72l0.65,0.32l1.94,1.37l2.07,0.6l0.22,-0.02l0.67,-0.33l0.47,0.94l0.67,0.76l-0.63,0.77l-0.91,-0.55l-0.16,-0.04l-1.69,0.04l-2.2,-0.51l-1.17,0.07l-0.21,0.11l-0.36,0.42l-0.67,-0.53l-0.46,0.12l-0.52,1.29l0.05,0.31l1.21,1.42l0.58,0.99l1.15,1.14l0.95,0.68l0.92,1.23l0.1,0.09l1.75,0.91l-1.87,-0.89l-1.5,-1.11l-2.23,-0.88l-1.77,-1.9l0.12,-0.06l0.1,-0.47l-1.07,-1.22l-0.04,-0.94l-0.21,-0.27l-1.61,-0.49l-0.35,0.14l-0.53,0.93l-0.41,-0.57l0.04,-0.73Z", "name": "Croatia"}, "HT": {"path": "M237.82,234.68l1.35,0.1l1.95,0.37l0.18,1.15l-0.16,0.83l-0.51,0.37l-0.06,0.44l0.57,0.68l-0.02,0.22l-1.31,-0.35l-1.26,0.17l-1.49,-0.18l-0.15,0.02l-1.03,0.43l-1.02,-0.61l0.09,-0.36l2.04,0.32l1.9,0.21l0.19,-0.05l0.9,-0.58l0.05,-0.47l-1.05,-1.03l0.02,-0.86l-0.23,-0.3l-1.13,-0.29l0.18,-0.23Z", "name": "Haiti"}, "HU": {"path": "M461.96,157.92l0.68,-1.66l-0.03,-0.29l-0.15,-0.22l0.84,-0.0l0.3,-0.26l0.12,-0.84l0.88,0.57l0.98,0.38l0.16,0.01l2.1,-0.39l0.23,-0.21l0.14,-0.45l0.88,-0.1l1.06,-0.43l0.13,0.1l0.28,0.04l1.18,-0.4l0.14,-0.1l0.52,-0.67l0.63,-0.15l2.6,0.95l0.26,-0.03l0.38,-0.23l1.12,0.7l0.1,0.49l-1.31,0.57l-0.14,0.13l-1.18,2.14l-1.44,2.04l-1.85,0.55l-1.51,-0.13l-0.14,0.02l-1.92,0.82l-0.85,0.42l-1.91,-0.55l-1.83,-1.31l-0.74,-0.37l-0.44,-0.97l-0.26,-0.18Z", "name": "Hungary"}, "HN": {"path": "M202.48,251.87l-0.33,-0.62l-0.18,-0.14l-0.5,-0.15l0.13,-0.76l-0.11,-0.28l-0.34,-0.28l-0.6,-0.23l-0.18,-0.01l-0.81,0.22l-0.16,-0.24l-0.72,-0.39l-0.51,-0.48l-0.12,-0.07l-0.31,-0.09l0.24,-0.3l0.04,-0.3l-0.16,-0.4l0.1,-0.28l1.14,-0.69l1.0,-0.86l0.09,0.04l0.3,-0.05l0.47,-0.39l0.49,-0.03l0.14,0.13l0.29,0.06l0.31,-0.1l1.16,0.22l1.24,-0.08l0.81,-0.28l0.29,-0.25l0.63,0.1l0.69,0.18l0.65,-0.06l0.49,-0.2l1.04,0.32l0.38,0.06l0.7,0.44l0.71,0.56l0.92,0.41l0.1,0.11l-0.11,-0.01l-0.23,0.09l-0.3,0.3l-0.76,0.29l-0.58,0.0l-0.15,0.04l-0.45,0.26l-0.31,-0.07l-0.37,-0.34l-0.28,-0.07l-0.26,0.07l-0.18,0.15l-0.23,0.43l-0.04,-0.0l-0.33,0.28l-0.03,0.4l-0.76,0.61l-0.45,0.3l-0.15,0.16l-0.51,-0.36l-0.41,0.06l-0.45,0.56l-0.41,-0.01l-0.59,0.06l-0.27,0.31l0.04,0.96l-0.07,0.0l-0.25,0.16l-0.24,0.45l-0.42,0.06Z", "name": "Honduras"}, "LV": {"path": "M473.99,127.16l0.07,-2.15l1.15,-2.11l2.05,-1.07l1.84,2.48l0.25,0.12l2.01,-0.07l0.29,-0.25l0.45,-2.58l1.85,-0.56l0.98,0.4l2.13,1.33l0.16,0.05l1.97,0.01l1.02,0.7l0.21,1.67l0.71,1.84l-2.44,1.23l-1.36,0.53l-2.28,-1.62l-0.12,-0.05l-1.18,-0.2l-0.28,-0.6l-0.31,-0.17l-2.43,0.35l-4.17,-0.23l-0.12,0.02l-2.45,0.93Z", "name": "Latvia"}, "PR": {"path": "M254.95,238.31l1.15,0.21l0.2,0.23l-0.36,0.36l-1.76,-0.01l-1.2,0.07l-0.09,-0.69l0.17,-0.18l1.89,0.01Z", "name": "Puerto Rico"}, "PS": {"path": "M509.66,201.06l-0.0,1.44l-0.29,0.63l-0.59,0.19l0.02,-0.11l0.52,-0.31l-0.02,-0.53l-0.41,-0.2l0.36,-1.28l0.41,0.17Z", "name": "West Bank"}, "PT": {"path": "M398.65,173.6l0.75,-0.63l0.7,-0.3l0.51,1.2l0.28,0.18l1.48,-0.0l0.2,-0.08l0.33,-0.3l1.16,0.08l0.52,1.11l-0.95,0.66l-0.13,0.24l-0.03,2.2l-0.33,0.35l-0.08,0.18l-0.08,1.17l-0.86,0.19l-0.2,0.44l0.93,1.64l-0.64,1.79l0.07,0.31l0.72,0.72l-0.24,0.56l-0.9,1.05l-0.07,0.26l0.17,0.77l-0.73,0.54l-1.18,-0.36l-0.16,-0.0l-0.85,0.21l0.31,-1.81l-0.23,-1.87l-0.23,-0.25l-0.99,-0.24l-0.49,-0.91l0.18,-1.72l0.93,-0.99l0.08,-0.16l0.17,-1.17l0.52,-1.76l-0.04,-1.36l-0.51,-1.14l-0.09,-0.8Z", "name": "Portugal"}, "PY": {"path": "M264.33,341.43l0.93,-2.96l0.07,-1.42l1.1,-2.1l4.19,-0.73l2.22,0.04l2.12,1.21l0.07,0.76l0.7,1.38l-0.16,3.48l0.24,0.31l2.64,0.5l0.19,-0.03l0.9,-0.45l1.47,0.62l0.38,0.64l0.23,2.35l0.3,1.07l0.25,0.21l0.93,0.12l0.16,-0.02l0.8,-0.37l0.61,0.33l-0.0,1.25l-0.33,1.53l-0.5,1.57l-0.39,2.26l-2.14,1.94l-1.85,0.4l-2.74,-0.4l-2.13,-0.62l2.26,-3.75l0.03,-0.24l-0.36,-1.18l-0.17,-0.19l-2.55,-1.03l-3.04,-1.95l-2.07,-0.43l-4.4,-4.12Z", "name": "Paraguay"}, "PA": {"path": "M213.65,263.79l0.18,-0.43l0.02,-0.18l-0.06,-0.28l0.23,-0.18l-0.01,-0.48l-0.4,-0.29l-0.01,-0.62l0.57,-0.13l0.68,0.69l-0.04,0.39l0.26,0.33l1.0,0.11l0.27,-0.1l0.49,0.44l0.24,0.07l1.34,-0.22l1.04,-0.62l1.49,-0.5l0.86,-0.73l0.99,0.11l0.18,0.28l1.35,0.08l1.02,0.4l0.78,0.72l0.71,0.53l-0.1,0.12l-0.05,0.3l0.53,1.34l-0.28,0.44l-0.6,-0.13l-0.36,0.22l-0.2,0.76l-0.41,-0.36l-0.44,-1.12l0.49,-0.53l-0.14,-0.49l-0.51,-0.14l-0.41,-0.72l-0.11,-0.11l-1.25,-0.7l-0.19,-0.04l-1.1,0.16l-0.22,0.15l-0.47,0.81l-0.9,0.56l-0.49,0.08l-0.22,0.17l-0.25,0.52l0.05,0.32l0.93,1.07l-0.41,0.21l-0.29,0.3l-0.81,0.09l-0.36,-1.26l-0.53,-0.1l-0.21,0.28l-0.5,-0.09l-0.44,-0.88l-0.22,-0.16l-0.99,-0.16l-0.61,-0.28l-0.13,-0.03l-1.0,0.0Z", "name": "Panama"}, "PG": {"path": "M808.4,298.6l0.62,0.46l1.19,1.56l1.04,0.77l-0.18,0.37l-0.42,0.15l-0.92,-0.82l-1.05,-1.53l-0.27,-0.96ZM804.09,296.06l-0.3,0.26l-0.36,-1.11l-0.66,-1.06l-2.55,-1.89l-1.42,-0.59l0.17,-0.15l1.16,0.6l0.85,0.55l1.01,0.58l0.97,1.02l0.9,0.76l0.24,1.03ZM796.71,297.99l0.15,0.82l0.34,0.24l1.43,-0.19l0.19,-0.11l0.68,-0.82l1.36,-0.87l0.13,-0.31l-0.21,-1.13l1.04,-0.03l0.3,0.25l-0.04,1.17l-0.74,1.34l-1.17,0.18l-0.22,0.15l-0.35,0.62l-2.51,1.13l-1.21,-0.0l-1.99,-0.71l-1.19,-0.58l0.07,-0.28l1.98,0.32l1.46,-0.2l0.24,-0.21l0.25,-0.79ZM789.24,303.52l0.11,0.15l2.19,1.62l1.6,2.62l0.27,0.14l1.09,-0.06l-0.07,0.77l0.23,0.32l1.23,0.27l-0.14,0.09l0.05,0.53l2.39,0.95l-0.11,0.28l-1.33,0.14l-0.51,-0.55l-0.18,-0.09l-4.59,-0.65l-1.87,-1.55l-1.38,-1.35l-1.28,-2.17l-0.16,-0.13l-3.27,-1.1l-0.19,0.0l-2.12,0.72l-1.58,0.85l-0.15,0.31l0.28,1.63l-1.65,0.73l-1.37,-0.4l-2.3,-0.09l-0.08,-15.65l3.95,1.57l4.58,1.42l1.67,1.25l1.32,1.19l0.36,1.39l0.19,0.21l4.06,1.51l0.39,0.85l-1.9,0.22l-0.25,0.39l0.55,1.68Z", "name": "Papua New Guinea"}, "PE": {"path": "M246.44,329.21l-0.63,1.25l-1.05,0.54l-2.25,-1.33l-0.19,-0.93l-0.16,-0.21l-4.95,-2.58l-4.46,-2.79l-1.87,-1.52l-0.94,-1.91l0.33,-0.6l-0.01,-0.31l-2.11,-3.33l-2.46,-4.66l-2.36,-5.02l-1.04,-1.18l-0.77,-1.81l-0.08,-0.11l-1.95,-1.64l-1.54,-0.88l0.61,-0.85l0.02,-0.31l-1.15,-2.27l0.69,-1.56l1.59,-1.26l0.12,0.42l-0.56,0.47l-0.11,0.25l0.07,0.92l0.36,0.27l0.97,-0.19l0.85,0.23l0.99,1.19l0.41,0.05l1.42,-1.03l0.11,-0.16l0.46,-1.64l1.45,-2.06l2.92,-0.96l0.11,-0.07l2.73,-2.62l0.84,-1.72l0.02,-0.18l-0.3,-1.65l0.28,-0.1l1.49,1.06l0.77,1.14l0.1,0.09l1.08,0.6l1.43,2.55l0.21,0.15l1.86,0.31l0.18,-0.03l1.25,-0.6l0.77,0.37l0.17,0.03l1.4,-0.2l1.57,0.96l-1.45,2.29l0.23,0.46l0.63,0.05l0.66,0.7l-1.51,-0.08l-0.24,0.1l-0.27,0.31l-1.96,0.46l-2.95,1.74l-0.14,0.21l-0.17,1.1l-0.6,0.82l-0.05,0.23l0.21,1.13l-1.31,0.63l-0.17,0.27l0.0,0.91l-0.53,0.37l-0.1,0.37l1.04,2.27l1.31,1.46l-0.44,0.9l0.24,0.43l1.52,0.13l0.87,1.23l0.24,0.13l2.21,0.07l0.18,-0.06l1.55,-1.13l-0.14,3.22l0.23,0.3l1.14,0.29l0.16,-0.0l1.18,-0.36l1.97,3.71l-0.45,0.71l-0.04,0.14l-0.12,1.8l-0.05,2.07l-0.92,1.2l-0.03,0.31l0.38,0.8l-0.48,0.72l-0.02,0.3l1.01,2.02l-1.5,2.64Z", "name": "Peru"}, "PK": {"path": "M609.08,187.76l1.66,1.21l0.71,2.11l0.2,0.19l3.62,1.01l-1.98,1.95l-2.65,0.4l-3.75,-0.68l-0.26,0.08l-1.23,1.22l-0.07,0.31l0.89,2.46l0.88,1.92l0.1,0.12l1.67,1.14l-1.8,1.35l-0.12,0.25l0.04,1.85l-2.35,2.67l-1.59,2.79l-2.5,2.72l-2.76,-0.2l-0.24,0.09l-2.76,2.83l0.04,0.45l1.54,1.13l0.27,1.94l0.09,0.17l1.34,1.29l0.4,1.83l-5.14,-0.01l-0.22,0.09l-1.53,1.63l-1.52,-0.56l-0.76,-1.88l-1.93,-2.03l-0.25,-0.09l-4.6,0.5l-4.05,0.05l-3.1,0.33l0.77,-2.53l3.48,-1.33l0.19,-0.33l-0.21,-1.24l-0.19,-0.23l-1.01,-0.37l-0.06,-2.18l-0.17,-0.26l-2.32,-1.16l-0.96,-1.57l-0.56,-0.65l3.16,1.05l0.14,0.01l2.45,-0.4l1.44,0.33l0.3,-0.1l0.4,-0.47l1.58,0.22l0.14,-0.01l3.25,-1.14l0.2,-0.27l0.08,-2.23l1.23,-1.38l1.73,0.0l0.28,-0.2l0.22,-0.61l1.68,-0.32l0.86,0.24l0.27,-0.05l0.98,-0.78l0.11,-0.26l-0.13,-1.57l0.96,-1.52l1.51,-0.67l0.14,-0.41l-0.74,-1.4l1.86,0.07l0.26,-0.13l0.69,-1.01l0.05,-0.2l-0.09,-0.94l1.14,-1.09l0.09,-0.28l-0.29,-1.41l-0.51,-1.07l1.23,-1.05l2.6,-0.58l2.86,-0.33l1.33,-0.54l1.3,-0.29Z", "name": "Pakistan"}, "PH": {"path": "M737.11,263.82l0.25,1.66l0.14,1.34l-0.54,1.46l-0.64,-1.79l-0.5,-0.1l-1.17,1.28l-0.05,0.32l0.74,1.71l-0.49,0.81l-2.6,-1.28l-0.61,-1.57l0.68,-1.07l-0.07,-0.4l-1.59,-1.19l-0.42,0.06l-0.69,0.91l-1.01,-0.08l-0.21,0.06l-1.58,1.2l-0.17,-0.3l0.87,-1.88l1.48,-0.66l1.18,-0.81l0.71,0.92l0.34,0.1l1.9,-0.69l0.18,-0.18l0.34,-0.94l1.57,-0.06l0.29,-0.32l-0.1,-1.38l1.41,0.83l0.36,2.06ZM734.94,254.42l0.56,2.24l-1.41,-0.49l-0.4,0.3l0.07,0.94l0.51,1.3l-0.54,0.26l-0.08,-1.34l-0.25,-0.28l-0.56,-0.1l-0.23,-0.91l1.03,0.14l0.34,-0.31l-0.03,-0.96l-0.06,-0.18l-1.14,-1.44l1.62,0.04l0.57,0.78ZM724.68,238.33l1.48,0.71l0.33,-0.04l0.44,-0.38l0.05,0.13l-0.37,0.97l0.01,0.23l0.81,1.75l-0.59,1.92l-1.37,0.79l-0.14,0.2l-0.39,2.07l0.01,0.14l0.56,2.04l0.23,0.21l1.33,0.28l0.14,-0.0l1.0,-0.27l2.82,1.28l-0.2,1.16l0.12,0.29l0.66,0.5l-0.13,0.56l-1.54,-0.99l-0.89,-1.29l-0.49,0.0l-0.44,0.65l-1.34,-1.28l-0.26,-0.08l-2.18,0.36l-0.96,-0.44l0.09,-0.72l0.69,-0.57l-0.01,-0.47l-0.75,-0.59l-0.47,0.14l-0.15,0.43l-0.86,-1.02l-0.34,-1.02l-0.07,-1.74l0.49,0.41l0.49,-0.21l0.26,-3.99l0.73,-2.1l1.23,0.0ZM731.12,258.92l-0.82,0.75l-0.83,1.64l-0.52,0.5l-1.17,-1.33l0.36,-0.47l0.62,-0.7l0.07,-0.15l0.24,-1.35l0.73,-0.08l-0.31,1.29l0.16,0.34l0.37,-0.09l1.21,-1.6l-0.12,1.24ZM726.66,255.58l0.85,0.45l0.14,0.03l1.28,-0.0l-0.03,0.62l-1.04,0.96l-1.15,0.55l-0.05,-0.71l0.17,-1.26l-0.01,-0.13l-0.16,-0.51ZM724.92,252.06l-0.45,1.5l-0.7,-0.83l-0.95,-1.43l1.44,0.06l0.67,0.7ZM717.48,261.28l-1.87,1.35l0.21,-0.3l1.81,-1.57l1.5,-1.75l0.97,-1.84l0.23,1.08l-1.56,1.33l-1.29,1.7Z", "name": "Philippines"}, "PL": {"path": "M458.8,144.25l-0.96,-1.98l0.18,-1.06l-0.01,-0.15l-0.62,-1.8l-0.82,-1.11l0.56,-0.73l0.05,-0.28l-0.51,-1.51l1.48,-0.87l3.88,-1.58l3.06,-1.14l2.23,0.52l0.15,0.66l0.29,0.23l2.4,0.04l3.11,0.39l4.56,-0.05l1.12,0.32l0.51,0.89l0.1,1.45l0.03,0.12l0.66,1.23l-0.01,1.08l-1.33,0.61l-0.14,0.41l0.74,1.5l0.07,1.53l1.22,2.79l-0.19,0.66l-1.09,0.33l-0.14,0.09l-2.27,2.72l-0.04,0.31l0.35,0.8l-2.22,-1.16l-0.21,-0.02l-1.72,0.44l-1.1,-0.31l-0.21,0.02l-1.3,0.61l-1.11,-1.02l-0.32,-0.05l-0.81,0.35l-1.15,-1.61l-0.21,-0.12l-1.65,-0.17l-0.19,-0.82l-0.23,-0.23l-1.72,-0.37l-0.34,0.17l-0.25,0.56l-0.88,-0.44l0.12,-0.69l-0.25,-0.35l-1.78,-0.27l-1.08,-0.97Z", "name": "Poland"}, "ZM": {"path": "M502.81,308.32l1.09,1.04l0.58,1.94l-0.39,0.66l-0.5,2.05l-0.0,0.14l0.45,1.95l-0.69,0.77l-0.06,0.11l-0.76,2.37l0.15,0.36l0.62,0.31l-6.85,1.9l-0.22,0.33l0.2,1.54l-1.62,0.3l-0.12,0.05l-1.43,1.02l-0.11,0.15l-0.25,0.73l-0.73,0.17l-0.14,0.08l-2.18,2.12l-1.33,1.6l-0.65,0.05l-0.83,-0.29l-2.75,-0.28l-0.24,-0.1l-0.15,-0.27l-0.99,-0.58l-0.12,-0.04l-1.73,-0.14l-1.88,0.54l-1.5,-1.48l-1.61,-2.01l0.11,-7.73l4.92,0.03l0.29,-0.37l-0.19,-0.79l0.34,-0.86l0.0,-0.21l-0.41,-1.11l0.26,-1.14l-0.01,-0.16l-0.12,-0.36l0.18,0.01l0.1,0.56l0.31,0.25l1.14,-0.06l1.44,0.21l0.76,1.05l0.19,0.12l2.01,0.35l0.19,-0.03l1.24,-0.65l0.44,1.03l0.22,0.18l1.81,0.34l0.85,0.99l1.02,1.39l0.24,0.12l1.92,0.02l0.3,-0.32l-0.21,-2.74l-0.47,-0.23l-0.53,0.36l-1.58,-0.89l-0.51,-0.34l0.29,-2.36l0.44,-2.99l-0.03,-0.18l-0.5,-0.99l0.61,-1.38l0.53,-0.24l3.26,-0.41l0.89,0.23l1.01,0.62l1.04,0.44l1.6,0.43l1.35,0.72Z", "name": "Zambia"}, "EE": {"path": "M482.19,120.88l0.23,-1.68l-0.43,-0.31l-0.75,0.37l-1.34,-1.1l-0.18,-1.75l2.92,-0.95l3.07,-0.53l2.66,0.6l2.48,-0.1l0.18,0.31l-1.65,1.96l-0.06,0.26l0.71,3.25l-0.88,0.94l-1.85,-0.01l-2.08,-1.3l-1.14,-0.47l-0.2,-0.01l-1.69,0.51Z", "name": "Estonia"}, "EG": {"path": "M508.07,208.8l-0.66,1.06l-0.53,2.03l-0.64,1.32l-0.32,0.26l-1.74,-1.85l-1.77,-3.86l-0.48,-0.09l-0.26,0.25l-0.07,0.32l1.04,2.88l1.55,2.76l1.89,4.18l0.94,1.48l0.83,1.54l2.08,2.73l-0.3,0.28l-0.1,0.23l0.08,1.72l0.11,0.22l2.91,2.37l-28.78,0.0l0.0,-19.06l-0.73,-2.2l0.61,-1.59l0.0,-0.2l-0.34,-1.04l0.73,-1.08l3.13,-0.04l2.36,0.72l2.48,0.81l1.15,0.43l0.23,-0.01l1.93,-0.87l1.02,-0.78l2.08,-0.21l1.59,0.31l0.62,1.24l0.52,0.03l0.46,-0.71l1.86,0.59l1.95,0.16l0.17,-0.04l0.92,-0.52l1.48,4.24Z", "name": "Egypt"}, "ZA": {"path": "M467.06,373.27l-0.13,-0.29l0.01,-1.58l-0.02,-0.12l-0.71,-1.64l0.59,-0.37l0.14,-0.26l-0.07,-2.13l-0.05,-0.15l-1.63,-2.58l-1.25,-2.31l-1.71,-3.37l0.88,-0.98l0.7,0.52l0.39,1.08l0.23,0.19l1.1,0.19l1.55,0.51l0.14,0.01l1.35,-0.2l0.11,-0.04l2.24,-1.39l0.14,-0.25l0.0,-9.4l0.16,0.09l1.39,2.38l-0.22,1.53l0.04,0.19l0.56,0.94l0.3,0.14l1.79,-0.27l0.16,-0.08l1.23,-1.18l1.17,-0.79l0.1,-0.12l0.57,-1.19l1.02,-0.52l0.9,0.28l1.16,0.73l0.14,0.05l2.04,0.13l0.13,-0.02l1.6,-0.62l0.18,-0.19l0.63,-1.93l1.18,-0.19l0.19,-0.12l0.78,-1.05l0.81,-1.71l2.18,-1.91l3.44,-1.88l0.89,0.02l1.17,0.43l0.21,-0.0l0.76,-0.29l1.07,0.21l1.15,3.55l0.63,1.82l-0.44,2.9l0.1,0.52l-0.74,-0.29l-0.18,-0.01l-0.72,0.19l-0.21,0.2l-0.22,0.74l-0.66,0.97l-0.05,0.18l0.02,0.93l0.09,0.21l1.49,1.46l0.27,0.08l1.47,-0.29l0.22,-0.18l0.43,-1.01l1.29,0.02l-0.51,1.63l-0.29,2.2l-0.59,1.12l-2.2,1.78l-1.06,1.39l-0.72,1.44l-1.39,1.93l-2.81,2.84l-1.75,1.65l-1.85,1.24l-2.55,1.06l-1.23,0.14l-0.24,0.18l-0.22,0.54l-1.27,-0.35l-0.2,0.01l-1.15,0.5l-2.62,-0.52l-0.12,0.0l-1.46,0.33l-0.98,-0.14l-0.16,0.02l-2.55,1.1l-2.11,0.44l-1.59,1.07l-0.93,0.06l-0.97,-0.92l-0.19,-0.08l-0.72,-0.04l-1.0,-1.16l-0.25,0.05ZM493.72,359.24l-1.12,-0.86l-0.31,-0.03l-1.23,0.59l-1.36,1.07l-1.39,1.78l0.01,0.38l1.88,2.11l0.31,0.09l0.9,-0.27l0.18,-0.15l0.4,-0.77l1.28,-0.39l0.18,-0.16l0.42,-0.88l0.76,-1.32l-0.05,-0.37l-0.87,-0.82Z", "name": "South Africa"}, "EC": {"path": "M220.2,293.48l1.25,-1.76l0.02,-0.31l-0.54,-1.09l-0.5,-0.06l-0.78,0.94l-1.03,-0.75l0.33,-0.46l0.05,-0.23l-0.38,-2.04l0.66,-0.28l0.17,-0.19l0.45,-1.52l0.93,-1.58l0.04,-0.2l-0.13,-0.78l1.19,-0.47l1.57,-0.91l2.35,1.34l0.17,0.04l0.28,-0.02l0.52,0.91l0.21,0.15l2.12,0.35l0.2,-0.03l0.55,-0.31l1.08,0.73l0.97,0.54l0.31,1.67l-0.71,1.49l-2.64,2.54l-2.95,0.97l-0.15,0.11l-1.53,2.18l-0.49,1.68l-1.1,0.8l-0.87,-1.05l-0.15,-0.1l-1.01,-0.27l-0.13,-0.0l-0.7,0.14l-0.03,-0.43l0.6,-0.5l0.1,-0.31l-0.26,-0.91Z", "name": "Ecuador"}, "AL": {"path": "M470.27,171.7l0.38,0.19l0.45,-0.18l0.4,0.61l0.11,0.1l0.46,0.24l0.13,0.87l-0.3,0.95l-0.0,0.17l0.36,1.28l0.12,0.17l0.9,0.63l-0.03,0.44l-0.67,0.35l-0.16,0.22l-0.14,0.88l-0.96,1.18l-0.06,-0.03l-0.04,-0.48l-0.12,-0.22l-1.28,-0.92l-0.19,-1.25l0.2,-1.96l0.33,-0.89l-0.06,-0.3l-0.36,-0.41l-0.13,-0.75l0.66,-0.9Z", "name": "Albania"}, "AO": {"path": "M461.62,299.93l0.55,1.67l0.73,1.54l1.56,2.18l0.28,0.12l1.66,-0.2l0.81,-0.34l1.28,0.33l0.33,-0.14l0.39,-0.67l0.56,-1.3l1.37,-0.09l0.27,-0.21l0.07,-0.23l0.67,-0.01l-0.13,0.53l0.29,0.37l2.74,-0.02l0.04,1.29l0.03,0.13l0.46,0.87l-0.35,1.52l0.18,1.55l0.07,0.16l0.75,0.85l-0.13,2.89l0.41,0.29l0.56,-0.21l1.11,0.05l1.5,-0.37l0.9,0.12l0.18,0.53l-0.27,1.15l0.01,0.17l0.4,1.08l-0.33,0.85l-0.01,0.18l0.12,0.51l-4.83,-0.03l-0.3,0.3l-0.12,8.13l0.07,0.19l1.69,2.1l1.27,1.25l-4.03,0.92l-5.93,-0.36l-1.66,-1.19l-0.18,-0.06l-10.15,0.11l-0.34,0.13l-1.35,-1.05l-0.17,-0.06l-1.62,-0.08l-1.6,0.45l-0.88,0.36l-0.17,-1.2l0.34,-2.19l0.85,-2.32l0.14,-1.13l0.79,-2.24l0.57,-1.0l1.42,-1.64l0.82,-1.15l0.05,-0.13l0.26,-1.88l-0.13,-1.51l-0.07,-0.16l-0.72,-0.87l-1.23,-2.91l0.09,-0.37l0.73,-0.95l0.05,-0.27l-1.27,-4.12l-1.19,-1.54l0.1,-0.2l0.86,-0.28l0.78,0.03l0.83,-0.29l7.12,0.03ZM451.81,298.94l-0.17,0.07l-0.5,-1.42l0.85,-0.92l0.53,-0.29l0.48,0.44l-0.56,0.32l-0.1,0.1l-0.41,0.65l-0.05,0.14l-0.07,0.91Z", "name": "Angola"}, "KZ": {"path": "M598.42,172.08l-1.37,0.54l-3.3,2.09l-0.11,0.12l-1.01,1.97l-0.56,0.01l-0.6,-1.24l-0.26,-0.17l-2.95,-0.09l-0.46,-2.22l-0.29,-0.24l-0.91,-0.02l0.17,-2.72l-0.12,-0.26l-3.0,-2.22l-0.2,-0.06l-4.29,0.24l-2.8,0.42l-2.36,-2.7l-6.4,-3.65l-0.23,-0.03l-6.45,1.83l-0.22,0.29l0.1,10.94l-0.84,0.1l-1.65,-2.21l-0.11,-0.09l-1.69,-0.84l-0.2,-0.02l-2.84,0.63l-0.14,0.07l-0.71,0.64l-0.02,-0.11l0.57,-1.17l0.0,-0.26l-0.48,-1.05l-0.17,-0.16l-2.78,-0.99l-1.08,-2.62l-0.13,-0.15l-1.24,-0.7l-0.04,-0.48l2.07,0.25l0.34,-0.29l0.09,-2.03l1.84,-0.44l2.12,0.45l0.36,-0.25l0.45,-3.04l-0.45,-2.06l-0.31,-0.23l-2.44,0.15l-2.07,-0.75l-0.23,0.01l-2.88,1.38l-2.21,0.62l-0.96,-0.38l0.22,-1.39l-0.06,-0.23l-1.6,-2.12l-0.25,-0.12l-1.72,0.08l-1.87,-1.91l1.33,-2.24l-0.06,-0.38l-0.55,-0.5l1.72,-3.08l2.3,1.7l0.48,-0.2l0.29,-2.26l4.99,-3.48l3.76,-0.08l5.46,2.27l2.96,1.33l0.26,-0.01l2.59,-1.36l3.82,-0.06l3.13,1.67l0.38,-0.09l0.63,-0.85l3.36,0.14l0.29,-0.19l0.63,-1.57l-0.13,-0.37l-3.64,-2.05l2.0,-1.36l0.1,-0.38l-0.32,-0.62l2.09,-0.76l0.13,-0.47l-1.65,-2.13l0.89,-0.91l9.27,-1.18l0.13,-0.05l1.17,-0.82l6.2,-1.27l2.26,-1.43l4.19,0.7l0.74,3.39l0.38,0.22l2.52,-0.81l2.9,1.06l-0.18,1.63l0.32,0.33l2.52,-0.23l5.0,-2.58l0.03,0.39l3.16,2.62l5.57,8.48l0.49,0.02l1.18,-1.53l3.22,1.78l0.21,0.03l3.5,-0.83l1.21,0.52l1.16,1.82l0.15,0.12l1.67,0.61l1.01,1.32l0.28,0.11l3.04,-0.41l1.1,1.64l-1.68,1.89l-1.97,0.28l-0.26,0.29l-0.12,3.09l-1.2,1.23l-4.81,-1.01l-0.35,0.2l-1.77,5.51l-1.14,0.62l-4.92,1.23l-0.2,0.41l2.14,5.06l-1.45,0.67l-0.17,0.31l0.15,1.28l-1.05,-0.3l-1.21,-1.04l-0.17,-0.07l-3.73,-0.32l-4.15,-0.08l-0.92,0.31l-3.46,-1.24l-0.22,0.01l-1.42,0.63l-0.17,0.21l-0.32,1.49l-3.82,-0.97l-0.15,0.0l-1.65,0.43l-0.2,0.17l-0.51,1.21Z", "name": "Kazakhstan"}, "ET": {"path": "M516.0,247.63l1.21,0.92l0.3,0.04l1.3,-0.53l0.46,0.41l0.19,0.08l1.65,0.03l2.05,0.96l0.67,0.88l1.07,0.79l1.0,1.45l0.7,0.68l-0.72,0.92l-0.85,1.19l-0.04,0.25l0.19,0.67l0.04,0.74l0.29,0.28l1.4,0.04l0.55,-0.15l0.23,0.19l-0.41,0.67l0.01,0.32l0.92,1.39l0.93,1.23l0.99,0.94l0.1,0.06l8.19,2.99l1.51,0.01l-6.51,6.95l-3.14,0.11l-0.18,0.06l-2.15,1.71l-1.51,0.04l-0.22,0.1l-0.6,0.69l-1.46,-0.0l-0.93,-0.78l-0.32,-0.04l-2.29,1.05l-0.12,0.1l-0.64,0.9l-1.44,-0.17l-0.51,-0.26l-0.17,-0.03l-0.56,0.07l-0.68,-0.02l-3.1,-2.08l-0.17,-0.05l-1.62,0.0l-0.68,-0.65l0.0,-1.28l-0.21,-0.29l-1.19,-0.38l-1.42,-2.63l-0.13,-0.12l-1.05,-0.53l-0.46,-1.0l-1.27,-1.23l-0.17,-0.08l-1.08,-0.13l0.53,-0.9l1.17,-0.05l0.26,-0.17l0.37,-0.77l0.03,-0.14l-0.03,-2.23l0.7,-2.49l1.08,-0.65l0.14,-0.19l0.24,-1.0l1.03,-1.85l1.47,-1.22l0.09,-0.12l1.02,-2.51l0.36,-1.96l2.62,0.48l0.33,-0.18l0.63,-1.55Z", "name": "Ethiopia"}, "ZW": {"path": "M498.95,341.2l-1.16,-0.23l-0.16,0.01l-0.74,0.28l-1.11,-0.41l-1.02,-0.04l-1.52,-1.13l-0.12,-0.05l-1.79,-0.37l-0.65,-1.46l-0.01,-0.86l-0.22,-0.29l-0.99,-0.26l-2.74,-2.77l-0.77,-1.46l-0.52,-0.5l-0.72,-1.54l2.24,0.23l0.78,0.28l0.12,0.02l0.85,-0.06l0.21,-0.11l1.38,-1.66l2.11,-2.05l0.81,-0.18l0.22,-0.2l0.27,-0.8l1.29,-0.93l1.53,-0.28l0.11,0.66l0.3,0.25l2.02,-0.05l1.04,0.48l0.5,0.59l0.18,0.1l1.13,0.18l1.11,0.7l0.01,3.06l-0.49,1.82l-0.11,1.94l0.03,0.16l0.35,0.68l-0.24,1.3l-0.27,0.17l-0.12,0.15l-0.64,1.83l-2.49,2.8Z", "name": "Zimbabwe"}, "ES": {"path": "M398.67,172.8l0.09,-1.45l-0.06,-0.2l-0.82,-1.05l3.16,-1.96l3.01,0.54l3.33,-0.02l2.64,0.52l2.14,-0.15l3.9,0.1l0.91,1.08l0.14,0.09l4.61,1.38l0.26,-0.04l0.77,-0.55l2.66,1.29l0.17,0.03l2.59,-0.35l0.1,1.28l-2.2,1.85l-3.13,0.62l-0.23,0.23l-0.21,0.92l-1.54,1.68l-0.97,2.4l0.02,0.26l0.85,1.46l-1.27,1.14l-0.09,0.14l-0.5,1.73l-1.73,0.53l-0.15,0.1l-1.68,2.1l-3.03,0.04l-2.38,-0.05l-0.17,0.05l-1.57,1.01l-0.9,1.01l-0.96,-0.19l-0.82,-0.86l-0.69,-1.6l-0.22,-0.18l-2.14,-0.41l-0.13,-0.62l0.83,-0.97l0.39,-0.86l-0.06,-0.33l-0.73,-0.73l0.63,-1.74l-0.02,-0.25l-0.8,-1.41l0.69,-0.15l0.23,-0.27l0.09,-1.29l0.33,-0.36l0.08,-0.2l0.03,-2.16l1.03,-0.72l0.1,-0.37l-0.7,-1.5l-0.25,-0.17l-1.46,-0.11l-0.22,0.07l-0.34,0.3l-1.17,0.0l-0.55,-1.29l-0.39,-0.16l-1.02,0.44l-0.45,0.36Z", "name": "Spain"}, "ER": {"path": "M527.15,253.05l-0.77,-0.74l-1.01,-1.47l-1.14,-0.86l-0.62,-0.84l-0.11,-0.09l-2.18,-1.02l-0.12,-0.03l-1.61,-0.03l-0.52,-0.46l-0.31,-0.05l-1.31,0.54l-1.38,-1.06l-0.46,0.12l-0.69,1.68l-2.49,-0.46l-0.2,-0.76l1.06,-3.69l0.24,-1.65l0.66,-0.66l1.76,-0.4l0.16,-0.1l0.97,-1.13l1.24,2.55l0.68,2.34l0.09,0.14l1.4,1.27l3.39,2.4l1.37,1.43l2.14,2.34l0.94,0.6l-0.32,0.26l-0.85,-0.17Z", "name": "Eritrea"}, "ME": {"path": "M469.05,172.9l-0.57,-0.8l-0.1,-0.09l-0.82,-0.46l0.16,-0.33l0.35,-1.57l0.72,-0.62l0.27,-0.16l0.48,0.38l0.35,0.4l0.12,0.08l0.79,0.32l0.66,0.43l-0.43,0.62l-0.28,0.11l-0.07,-0.25l-0.53,-0.1l-1.09,1.49l-0.05,0.23l0.06,0.32Z", "name": "Montenegro"}, "MD": {"path": "M488.2,153.75l0.14,-0.11l1.49,-0.28l1.75,0.95l1.06,0.14l0.92,0.7l-0.15,0.9l0.15,0.31l0.8,0.46l0.33,1.2l0.09,0.14l0.72,0.66l-0.11,0.28l0.1,0.33l-0.06,0.02l-1.25,-0.08l-0.17,-0.29l-0.39,-0.12l-0.52,0.25l-0.16,0.36l0.13,0.42l-0.6,0.88l-0.43,1.03l-0.22,0.12l-0.32,-1.0l0.25,-1.34l-0.08,-1.38l-0.06,-0.17l-1.43,-1.87l-0.81,-1.36l-0.78,-0.95l-0.12,-0.09l-0.29,-0.12Z", "name": "Moldova"}, "MG": {"path": "M544.77,316.45l0.64,1.04l0.6,1.62l0.4,3.04l0.63,1.21l-0.22,1.07l-0.15,0.26l-0.59,-1.05l-0.52,-0.01l-0.47,0.76l-0.04,0.23l0.46,1.84l-0.19,0.92l-0.61,0.53l-0.1,0.21l-0.16,2.15l-0.97,2.98l-1.24,3.59l-1.55,4.97l-0.96,3.67l-1.08,2.93l-1.94,0.61l-2.05,1.06l-3.2,-1.53l-0.62,-1.26l-0.18,-2.39l-0.87,-2.07l-0.22,-1.8l0.4,-1.69l1.01,-0.4l0.19,-0.28l0.01,-0.79l1.15,-1.91l0.04,-0.11l0.23,-1.66l-0.03,-0.17l-0.57,-1.21l-0.46,-1.58l-0.19,-2.25l0.82,-1.36l0.33,-1.51l1.11,-0.1l1.4,-0.53l0.9,-0.45l1.03,-0.03l0.21,-0.09l1.41,-1.45l2.12,-1.65l0.75,-1.29l0.03,-0.24l-0.17,-0.56l0.53,0.15l0.32,-0.1l1.38,-1.77l0.06,-0.18l0.04,-1.44l0.54,-0.74l0.62,0.77Z", "name": "Madagascar"}, "MA": {"path": "M378.66,230.13l0.07,-0.75l0.93,-0.72l0.82,-1.37l0.04,-0.21l-0.14,-0.8l0.8,-1.74l1.33,-1.61l0.79,-0.4l0.14,-0.15l0.66,-1.55l0.08,-1.46l0.83,-1.52l1.6,-0.94l0.11,-0.11l1.56,-2.71l1.2,-0.99l2.24,-0.29l0.17,-0.08l1.95,-1.83l1.3,-0.77l2.09,-2.28l0.07,-0.26l-0.61,-3.34l0.92,-2.3l0.33,-1.44l1.52,-1.79l2.48,-1.27l1.86,-1.16l0.1,-0.11l1.67,-2.93l0.72,-1.59l1.54,0.01l1.43,1.14l0.21,0.06l2.33,-0.19l2.55,0.62l0.97,0.03l0.83,1.6l0.15,1.71l0.86,2.96l0.09,0.14l0.5,0.45l-0.31,0.73l-3.11,0.44l-0.16,0.07l-1.07,0.97l-1.36,0.23l-0.25,0.28l-0.1,1.85l-2.74,1.02l-0.14,0.11l-0.9,1.3l-1.93,0.69l-2.56,0.44l-4.04,2.01l-0.17,0.27l0.02,2.91l-0.08,0.0l-0.3,0.31l0.05,1.15l-1.25,0.07l-0.16,0.06l-0.73,0.55l-0.98,0.0l-0.85,-0.33l-0.15,-0.02l-2.11,0.29l-0.24,0.19l-0.76,1.95l-0.63,0.16l-0.21,0.19l-1.15,3.29l-3.42,2.81l-0.1,0.17l-0.81,3.57l-0.98,1.12l-0.3,0.85l-5.13,0.19Z", "name": "Morocco"}, "UZ": {"path": "M587.83,186.48l0.06,-1.46l-0.19,-0.29l-3.31,-1.24l-2.57,-1.4l-1.63,-1.38l-2.79,-1.98l-1.2,-2.98l-0.12,-0.14l-0.84,-0.54l-0.18,-0.05l-2.61,0.13l-0.76,-0.48l-0.25,-2.25l-0.17,-0.24l-3.37,-1.6l-0.32,0.04l-2.08,1.73l-2.11,1.02l-0.16,0.35l0.31,1.14l-2.14,0.03l-0.09,-10.68l6.1,-1.74l6.25,3.57l2.36,2.72l0.27,0.1l2.92,-0.44l4.17,-0.23l2.78,2.06l-0.18,2.87l0.29,0.32l0.98,0.02l0.46,2.22l0.28,0.24l3.0,0.09l0.61,1.25l0.28,0.17l0.93,-0.02l0.26,-0.16l1.06,-2.06l3.21,-2.03l1.3,-0.5l0.19,0.08l-1.75,1.62l0.05,0.48l1.85,1.12l0.27,0.02l1.65,-0.69l2.4,1.27l-2.69,1.79l-1.79,-0.27l-0.89,0.06l-0.22,-0.52l0.48,-1.26l-0.34,-0.4l-3.35,0.69l-0.22,0.18l-0.78,1.87l-1.07,1.47l-1.93,-0.13l-0.29,0.16l-0.65,1.29l0.16,0.42l1.69,0.64l0.48,1.91l-1.25,2.6l-1.64,-0.53l-1.18,-0.03Z", "name": "Uzbekistan"}, "MM": {"path": "M670.1,233.39l-1.46,1.11l-1.68,0.11l-0.26,0.19l-1.1,2.7l-0.95,0.42l-0.14,0.42l1.21,2.27l1.61,1.92l0.94,1.55l-0.82,1.99l-0.77,0.42l-0.13,0.39l0.64,1.35l1.62,1.97l0.26,1.32l-0.04,1.15l0.02,0.13l0.92,2.18l-1.3,2.23l-0.79,1.69l-0.1,-0.77l0.74,-1.87l-0.02,-0.26l-0.8,-1.42l0.2,-2.68l-0.06,-0.2l-0.98,-1.27l-0.8,-2.98l-0.45,-3.22l-1.11,-2.22l-0.45,-0.1l-1.64,1.28l-2.74,1.76l-1.26,-0.2l-1.27,-0.49l0.79,-2.93l0.0,-0.14l-0.52,-2.42l-1.93,-2.97l0.26,-0.8l-0.22,-0.39l-1.37,-0.31l-1.65,-1.98l-0.12,-1.5l0.41,0.19l0.42,-0.26l0.05,-1.7l1.08,-0.54l0.16,-0.34l-0.24,-1.0l0.5,-0.79l0.05,-0.15l0.08,-2.35l1.58,0.49l0.36,-0.15l1.12,-2.19l0.15,-1.34l1.35,-2.18l0.04,-0.17l-0.07,-1.35l2.97,-1.71l1.67,0.45l0.38,-0.33l-0.18,-1.46l0.7,-0.4l0.15,-0.32l-0.13,-0.72l0.94,-0.13l0.74,1.41l0.11,0.12l0.95,0.56l0.07,1.89l-0.09,2.08l-2.28,2.15l-0.09,0.19l-0.3,3.15l0.35,0.32l2.37,-0.39l0.53,2.17l0.2,0.21l1.3,0.42l-0.63,1.9l0.14,0.36l1.86,0.99l1.1,0.49l0.24,0.0l1.45,-0.6l0.04,0.51l-2.01,1.6l-0.56,0.96l-1.34,0.56Z", "name": "Myanmar"}, "ML": {"path": "M390.79,248.2l0.67,-0.37l0.14,-0.18l0.36,-1.31l0.51,-0.04l1.68,0.69l0.21,0.0l1.34,-0.48l0.89,0.16l0.3,-0.13l0.29,-0.44l9.89,-0.04l0.29,-0.21l0.56,-1.8l-0.11,-0.33l-0.33,-0.24l-2.37,-22.1l3.41,-0.04l8.37,5.73l8.38,5.68l0.56,1.15l0.14,0.14l1.56,0.75l0.99,0.36l0.03,1.45l0.33,0.29l2.45,-0.22l0.01,5.52l-1.3,1.64l-0.06,0.15l-0.18,1.37l-1.99,0.36l-3.4,0.22l-0.19,0.09l-0.85,0.83l-1.48,0.09l-1.49,0.01l-0.54,-0.43l-0.26,-0.05l-1.38,0.36l-2.39,1.08l-0.13,0.12l-0.44,0.73l-1.88,1.11l-0.11,0.12l-0.3,0.57l-0.86,0.42l-1.1,-0.31l-0.28,0.07l-0.69,0.62l-0.09,0.16l-0.35,1.66l-1.93,2.04l-0.08,0.23l0.05,0.76l-0.63,0.99l-0.04,0.19l0.14,1.23l-0.81,0.29l-0.32,0.17l-0.27,-0.75l-0.39,-0.18l-0.65,0.26l-0.36,-0.04l-0.29,0.14l-0.37,0.6l-1.69,-0.02l-0.63,-0.34l-0.32,0.02l-0.12,0.09l-0.47,-0.45l0.1,-0.6l-0.09,-0.27l-0.31,-0.3l-0.33,-0.05l-0.05,0.02l0.02,-0.21l0.46,-0.59l-0.02,-0.39l-0.99,-1.02l-0.34,-0.74l-0.56,-0.56l-0.17,-0.09l-0.5,-0.07l-0.19,0.04l-0.58,0.35l-0.79,0.33l-0.65,0.51l-0.85,-0.16l-0.63,-0.59l-0.14,-0.07l-0.41,-0.08l-0.2,0.03l-0.59,0.31l-0.07,0.0l-0.1,-0.63l0.11,-0.85l-0.21,-0.98l-0.11,-0.17l-0.86,-0.66l-0.45,-1.34l-0.1,-1.36Z", "name": "Mali"}, "MN": {"path": "M641.06,150.59l2.41,-0.53l4.76,-2.8l3.67,-1.49l2.06,0.96l0.12,0.03l2.5,0.05l1.59,1.45l0.19,0.08l2.47,0.12l3.59,0.81l0.27,-0.07l2.43,-2.28l0.06,-0.36l-0.93,-1.77l2.33,-3.1l2.66,1.3l2.26,0.39l2.75,0.8l0.44,2.3l0.19,0.22l3.56,1.38l0.18,0.01l2.35,-0.6l3.1,-0.42l2.4,0.41l2.37,1.52l1.49,1.63l0.23,0.1l2.29,-0.03l3.13,0.52l0.15,-0.01l2.28,-0.79l3.27,-0.53l0.11,-0.04l3.56,-2.23l1.31,0.31l1.26,1.05l0.22,0.07l2.45,-0.22l-0.98,1.96l-1.77,3.21l-0.01,0.28l0.64,1.31l0.35,0.16l1.35,-0.38l2.4,0.48l0.22,-0.04l1.78,-1.09l1.82,0.92l2.11,2.07l-0.17,0.68l-1.79,-0.31l-3.74,0.45l-1.85,0.96l-1.78,2.01l-3.74,1.18l-2.46,1.61l-2.45,-0.6l-1.42,-0.28l-0.31,0.13l-1.31,1.99l0.0,0.33l0.78,1.15l0.3,0.74l-1.58,0.93l-1.75,1.59l-2.83,1.03l-3.77,0.12l-4.05,1.05l-2.81,1.54l-0.95,-0.8l-0.19,-0.07l-2.96,0.0l-3.64,-1.8l-2.55,-0.48l-3.38,0.41l-5.13,-0.67l-2.66,0.06l-1.35,-1.65l-1.12,-2.78l-0.21,-0.18l-1.5,-0.33l-2.98,-1.89l-0.12,-0.04l-3.37,-0.43l-2.84,-0.51l-0.75,-1.13l0.93,-3.54l-0.04,-0.24l-1.73,-2.55l-0.15,-0.12l-3.52,-1.18l-1.99,-1.61l-0.54,-1.85Z", "name": "Mongolia"}, "MK": {"path": "M472.73,173.87l0.08,0.01l0.32,-0.25l0.08,-0.44l1.29,-0.41l1.37,-0.28l1.03,-0.04l1.06,0.82l0.14,1.59l-0.22,0.04l-0.17,0.11l-0.32,0.4l-1.2,-0.05l-0.18,0.05l-0.9,0.61l-1.45,0.23l-0.85,-0.59l-0.3,-1.09l0.22,-0.71Z", "name": "Macedonia"}, "MW": {"path": "M507.18,313.84l-0.67,1.85l-0.01,0.16l0.7,3.31l0.31,0.24l0.75,-0.03l0.78,0.71l0.99,1.75l0.2,3.03l-0.91,0.45l-0.14,0.15l-0.59,1.38l-1.24,-1.21l-0.17,-1.62l0.49,-1.12l0.02,-0.16l-0.15,-1.03l-0.13,-0.21l-0.99,-0.65l-0.26,-0.03l-0.53,0.18l-1.31,-1.12l-1.15,-0.59l0.66,-2.06l0.75,-0.84l0.07,-0.27l-0.47,-2.04l0.48,-1.94l0.4,-0.65l0.03,-0.24l-0.64,-2.15l-0.08,-0.13l-0.44,-0.42l1.34,0.26l1.25,1.73l0.67,3.3Z", "name": "Malawi"}, "MR": {"path": "M390.54,247.66l-1.48,-1.58l-1.51,-1.88l-0.12,-0.09l-1.64,-0.67l-1.17,-0.74l-0.17,-0.05l-1.4,0.03l-0.12,0.03l-1.14,0.52l-1.15,-0.21l-0.26,0.08l-0.44,0.43l-0.11,-0.72l0.68,-1.29l0.31,-2.43l-0.28,-2.63l-0.29,-1.27l0.24,-1.24l-0.03,-0.2l-0.65,-1.24l-1.19,-1.05l0.32,-0.51l9.64,0.02l0.3,-0.34l-0.46,-3.71l0.51,-1.12l2.17,-0.22l0.27,-0.3l-0.08,-6.5l7.91,0.13l0.31,-0.3l0.01,-3.5l8.17,5.63l-2.89,0.04l-0.29,0.33l2.42,22.56l0.12,0.21l0.26,0.19l-0.43,1.38l-9.83,0.04l-0.25,0.13l-0.27,0.41l-0.77,-0.14l-0.15,0.01l-1.3,0.47l-1.64,-0.67l-0.14,-0.02l-0.79,0.06l-0.27,0.22l-0.39,1.39l-0.53,0.29Z", "name": "Mauritania"}, "UG": {"path": "M500.74,287.17l-2.84,-0.02l-0.92,0.32l-1.37,0.71l-0.29,-0.12l0.02,-1.6l0.54,-0.89l0.04,-0.13l0.14,-1.96l0.49,-1.09l0.91,-1.24l0.97,-0.68l0.8,-0.89l-0.13,-0.49l-0.79,-0.27l0.13,-2.55l0.78,-0.52l1.45,0.51l0.18,0.01l1.97,-0.57l1.72,0.01l0.18,-0.06l1.29,-0.97l0.98,1.44l0.29,1.24l1.05,2.75l-0.84,1.68l-1.94,2.66l-0.06,0.18l0.02,2.36l-4.8,0.18Z", "name": "Uganda"}, "MY": {"path": "M717.6,273.52l-1.51,0.7l-2.13,-0.41l-2.88,-0.0l-0.29,0.21l-0.84,2.77l-0.9,0.82l-0.08,0.12l-1.23,3.34l-1.81,0.47l-2.29,-0.68l-0.14,-0.01l-1.2,0.22l-0.14,0.07l-1.36,1.18l-1.47,-0.17l-0.12,0.01l-1.46,0.46l-1.51,-1.25l-0.24,-0.97l1.26,0.59l0.2,0.02l1.93,-0.47l0.22,-0.22l0.47,-1.98l0.9,-0.4l2.97,-0.54l0.17,-0.09l1.8,-1.98l1.02,-1.32l0.9,1.03l0.48,-0.04l0.43,-0.7l1.02,0.07l0.32,-0.27l0.25,-2.72l1.84,-1.67l1.23,-1.89l0.73,-0.01l1.12,1.11l0.1,0.99l0.18,0.24l1.66,0.71l1.85,0.67l-0.09,0.51l-1.45,0.11l-0.26,0.4l0.35,0.97ZM673.78,269.53l0.17,1.14l0.35,0.25l1.65,-0.3l0.18,-0.11l0.68,-0.86l0.31,0.13l1.41,1.45l0.99,1.59l0.13,1.57l-0.26,1.09l0.0,0.15l0.24,0.84l0.18,1.46l0.11,0.2l0.82,0.64l0.92,2.08l-0.03,0.52l-1.4,0.13l-2.29,-1.79l-2.86,-1.92l-0.27,-1.16l-0.07,-0.13l-1.39,-1.61l-0.33,-1.99l-0.05,-0.12l-0.84,-1.27l0.26,-1.72l-0.03,-0.18l-0.45,-0.87l0.13,-0.13l1.71,0.92Z", "name": "Malaysia"}, "MX": {"path": "M133.41,213.83l0.61,0.09l0.27,-0.09l0.93,-1.01l0.08,-0.18l0.09,-1.22l-0.09,-0.23l-1.93,-1.94l-1.46,-0.77l-2.96,-5.62l-0.86,-2.1l2.44,-0.18l2.68,-0.25l-0.03,0.08l0.17,0.4l3.79,1.35l5.81,1.97l6.96,-0.02l0.3,-0.3l0.0,-0.84l3.91,0.0l0.87,0.93l1.27,0.87l1.44,1.17l0.79,1.37l0.62,1.49l0.12,0.14l1.35,0.85l2.08,0.82l0.35,-0.1l1.49,-2.04l1.81,-0.05l1.63,1.01l1.21,1.8l0.86,1.58l1.47,1.55l0.53,1.82l0.73,1.32l0.14,0.13l1.98,0.84l1.78,0.59l0.61,-0.03l-0.78,1.89l-0.45,1.96l-0.19,3.58l-0.24,1.27l0.01,0.14l0.43,1.43l0.78,1.31l0.49,1.98l0.06,0.12l1.63,1.9l0.61,1.51l0.98,1.28l0.16,0.11l2.58,0.67l0.98,1.02l0.31,0.08l2.17,-0.71l1.91,-0.26l1.87,-0.47l1.67,-0.49l1.59,-1.06l0.11,-0.14l0.6,-1.52l0.22,-2.21l0.35,-0.62l1.58,-0.64l2.59,-0.59l2.18,0.09l1.43,-0.2l0.39,0.36l-0.07,1.02l-1.28,1.48l-0.65,1.68l0.07,0.32l0.33,0.32l-0.79,2.49l-0.28,-0.3l-0.24,-0.09l-1.0,0.08l-0.24,0.15l-0.74,1.28l-0.19,-0.13l-0.28,-0.03l-0.3,0.12l-0.19,0.29l0.0,0.06l-4.34,-0.02l-0.3,0.3l-0.0,1.16l-0.83,0.0l-0.28,0.19l0.08,0.33l0.93,0.86l0.9,0.58l0.24,0.48l0.16,0.15l0.2,0.08l-0.03,0.38l-2.94,0.01l-0.26,0.15l-1.21,2.09l0.02,0.33l0.25,0.33l-0.21,0.44l-0.04,0.22l-2.42,-2.35l-1.36,-0.87l-2.04,-0.67l-0.13,-0.01l-1.4,0.19l-2.07,0.98l-1.14,0.23l-1.72,-0.66l-1.85,-0.48l-2.31,-1.16l-1.92,-0.38l-2.79,-1.18l-2.04,-1.2l-0.6,-0.66l-0.19,-0.1l-1.37,-0.15l-2.45,-0.78l-1.07,-1.18l-2.63,-1.44l-1.2,-1.56l-0.44,-0.93l0.5,-0.15l0.2,-0.39l-0.2,-0.58l0.46,-0.55l0.07,-0.19l0.01,-0.91l-0.06,-0.18l-0.81,-1.13l-0.25,-1.08l-0.86,-1.36l-2.21,-2.63l-2.53,-2.09l-1.2,-1.63l-0.11,-0.09l-2.08,-1.06l-0.34,-0.48l0.35,-1.53l-0.16,-0.34l-1.24,-0.61l-1.39,-1.23l-0.6,-1.81l-0.24,-0.2l-1.25,-0.2l-1.38,-1.35l-1.11,-1.25l-0.1,-0.76l-0.05,-0.13l-1.33,-2.04l-0.85,-2.02l0.04,-0.99l-0.14,-0.27l-1.81,-1.1l-0.2,-0.04l-0.74,0.11l-1.34,-0.72l-0.42,0.16l-0.4,1.12l-0.0,0.19l0.41,1.3l0.24,2.04l0.06,0.15l0.88,1.16l1.84,1.86l0.4,0.61l0.12,0.1l0.27,0.14l0.29,0.82l0.31,0.2l0.2,-0.02l0.43,1.51l0.09,0.14l0.72,0.65l0.51,0.91l1.58,1.4l0.8,2.42l0.77,1.23l0.66,1.19l0.13,1.34l0.28,0.27l1.08,0.08l0.92,1.1l0.83,1.08l-0.03,0.24l-0.88,0.81l-0.13,-0.0l-0.59,-1.42l-0.07,-0.11l-1.67,-1.53l-1.81,-1.28l-1.15,-0.61l0.07,-1.85l-0.38,-1.45l-0.12,-0.17l-2.91,-2.03l-0.39,0.04l-0.11,0.11l-0.42,-0.46l-0.11,-0.08l-1.49,-0.63l-1.09,-1.16Z", "name": "Mexico"}, "VU": {"path": "M839.92,325.66l0.78,0.73l-0.18,0.07l-0.6,-0.8ZM839.13,322.74l0.27,1.36l-0.13,-0.06l-0.21,-0.02l-0.29,0.08l-0.22,-0.43l-0.03,-1.32l0.61,0.4Z", "name": "Vanuatu"}, "FR": {"path": "M444.58,172.63l-0.68,1.92l-0.72,-0.38l-0.51,-1.79l0.43,-0.95l1.15,-0.83l0.33,2.04ZM429.71,147.03l1.77,1.57l0.26,0.07l1.16,-0.23l2.12,1.44l0.56,0.28l0.16,0.03l0.61,-0.06l1.09,0.78l0.13,0.05l3.18,0.53l-1.09,1.94l-0.3,2.16l-0.48,0.38l-1.0,-0.26l-0.37,0.32l0.07,0.66l-1.73,1.68l-0.09,0.21l-0.04,1.42l0.41,0.29l0.96,-0.4l0.67,1.07l-0.09,0.78l0.04,0.19l0.61,0.97l-0.71,0.78l-0.07,0.28l0.65,2.39l0.21,0.21l1.09,0.31l-0.2,0.95l-2.08,1.58l-4.81,-0.8l-0.13,0.01l-3.65,0.99l-0.22,0.24l-0.25,1.6l-2.59,0.35l-2.74,-1.33l-0.31,0.03l-0.79,0.57l-4.38,-1.31l-0.79,-0.94l1.16,-1.64l0.05,-0.15l0.48,-6.17l-0.06,-0.21l-2.58,-3.3l-1.89,-1.65l-0.11,-0.06l-3.64,-1.17l-0.2,-1.88l2.92,-0.63l4.14,0.82l0.35,-0.36l-0.65,-3.0l1.77,1.05l0.27,0.02l5.83,-2.54l0.17,-0.19l0.71,-2.54l1.75,-0.53l0.27,0.88l0.27,0.21l1.04,0.05l1.08,1.23ZM289.1,278.45l-0.85,0.84l-0.88,0.13l-0.25,-0.51l-0.21,-0.16l-0.56,-0.1l-0.25,0.07l-0.63,0.55l-0.62,-0.29l0.5,-0.88l0.21,-1.11l0.42,-1.05l-0.03,-0.28l-0.93,-1.42l-0.18,-1.54l1.13,-1.87l2.42,0.78l2.55,2.04l0.33,0.81l-1.4,2.16l-0.77,1.84Z", "name": "France"}, "FI": {"path": "M492.26,76.42l-0.38,3.12l0.12,0.28l3.6,2.69l-2.14,2.96l-0.01,0.33l2.83,4.61l-1.61,3.36l0.03,0.31l2.15,2.87l-0.96,2.44l0.1,0.35l3.51,2.55l-0.81,1.72l-2.28,2.19l-5.28,4.79l-4.51,0.31l-4.39,1.37l-3.87,0.75l-1.34,-1.89l-0.11,-0.09l-2.23,-1.14l0.53,-3.54l-0.01,-0.14l-1.17,-3.37l1.12,-2.13l2.23,-2.44l5.69,-4.33l1.65,-0.84l0.16,-0.31l-0.26,-1.73l-0.15,-0.22l-3.4,-1.91l-0.77,-1.47l-0.07,-6.45l-0.12,-0.24l-3.91,-2.94l-3.0,-1.92l0.97,-0.76l2.6,2.17l0.21,0.07l3.2,-0.21l2.63,1.03l0.3,-0.05l2.39,-1.94l0.09,-0.13l1.18,-3.12l3.63,-1.42l2.87,1.59l-0.98,2.87Z", "name": "Finland"}, "FJ": {"path": "M869.98,327.07l-1.31,0.44l-0.14,-0.41l0.96,-0.41l0.85,-0.17l1.43,-0.78l-0.16,0.65l-1.64,0.67ZM867.58,329.12l0.54,0.47l-0.31,1.0l-1.32,0.3l-1.13,-0.26l-0.17,-0.78l0.72,-0.66l0.98,0.27l0.25,-0.04l0.43,-0.29Z", "name": "Fiji"}, "FK": {"path": "M268.15,427.89l2.6,-1.73l1.98,0.77l0.31,-0.05l1.32,-1.17l1.58,1.18l-0.54,0.84l-3.1,0.92l-1.0,-1.04l-0.39,-0.04l-1.9,1.35l-0.86,-1.04Z", "name": "Falkland Islands"}, "NI": {"path": "M202.1,252.6l0.23,-0.0l0.12,-0.11l0.68,-0.09l0.22,-0.15l0.23,-0.43l0.2,-0.01l0.28,-0.31l-0.04,-0.97l0.29,-0.03l0.5,0.02l0.25,-0.11l0.37,-0.46l0.51,0.35l0.4,-0.06l0.23,-0.28l0.45,-0.29l0.87,-0.7l0.11,-0.21l0.02,-0.26l0.23,-0.12l0.25,-0.48l0.29,0.27l0.14,0.07l0.5,0.12l0.22,-0.03l0.48,-0.28l0.66,-0.02l0.87,-0.33l0.36,-0.32l0.21,0.01l-0.11,0.48l0.0,0.14l0.22,0.8l-0.54,0.85l-0.27,1.03l-0.09,1.18l0.14,0.72l0.05,0.95l-0.24,0.15l-0.13,0.19l-0.23,1.09l0.0,0.14l0.14,0.53l-0.42,0.53l-0.06,0.24l0.12,0.69l0.08,0.15l0.18,0.19l-0.26,0.23l-0.49,-0.11l-0.35,-0.44l-0.16,-0.1l-0.79,-0.21l-0.23,0.03l-0.45,0.26l-1.51,-0.62l-0.31,0.05l-0.17,0.15l-1.81,-1.62l-0.6,-0.9l-1.04,-0.79l-0.77,-0.71Z", "name": "Nicaragua"}, "NL": {"path": "M436.22,136.65l1.82,0.08l0.36,0.89l-0.6,2.96l-0.53,1.06l-1.32,0.0l-0.3,0.34l0.35,2.89l-0.83,-0.47l-1.56,-1.43l-0.29,-0.07l-2.26,0.67l-1.02,-0.15l0.68,-0.48l0.1,-0.12l2.14,-4.84l3.25,-1.35Z", "name": "Netherlands"}, "NO": {"path": "M491.45,67.31l7.06,3.0l-2.52,0.94l-0.11,0.49l2.43,2.49l-3.82,1.59l-1.48,0.3l0.89,-2.61l-0.14,-0.36l-3.21,-1.78l-0.25,-0.02l-3.89,1.52l-0.17,0.17l-1.2,3.17l-2.19,1.78l-2.53,-0.99l-0.13,-0.02l-3.15,0.21l-2.69,-2.25l-0.38,-0.01l-1.43,1.11l-1.47,0.17l-0.26,0.26l-0.33,2.57l-4.42,-0.65l-0.33,0.22l-0.6,2.19l-2.17,-0.01l-0.27,0.16l-4.15,7.68l-3.88,5.76l-0.0,0.33l0.81,1.23l-0.7,1.27l-2.3,-0.06l-0.28,0.18l-1.63,3.72l-0.02,0.13l0.15,5.17l0.07,0.18l1.51,1.84l-0.79,4.24l-2.04,2.5l-0.92,1.75l-1.39,-1.88l-0.44,-0.05l-4.89,4.21l-3.16,0.81l-3.24,-1.74l-0.86,-3.82l-0.78,-8.6l2.18,-2.36l6.56,-3.28l5.0,-4.16l4.63,-5.74l5.99,-8.09l4.17,-3.23l6.84,-5.49l5.39,-1.92l4.06,0.24l0.23,-0.09l3.72,-3.67l4.51,0.19l4.4,-0.89ZM484.58,19.95l4.42,1.82l-3.25,2.68l-7.14,0.65l-7.16,-0.91l-0.39,-1.37l-0.28,-0.22l-3.48,-0.1l-2.25,-2.15l7.09,-1.48l3.55,1.36l0.28,-0.03l2.42,-1.66l6.18,1.41ZM481.99,33.92l-4.73,1.85l-3.76,-1.06l1.27,-1.02l0.04,-0.43l-1.18,-1.35l4.46,-0.94l0.89,1.83l0.17,0.15l2.83,0.96ZM466.5,23.95l7.64,3.87l-5.63,1.94l-0.19,0.19l-1.35,3.88l-2.08,0.96l-0.16,0.19l-1.14,4.18l-2.71,0.18l-4.94,-2.95l1.95,-1.63l-0.08,-0.51l-3.7,-1.54l-4.79,-4.54l-1.78,-4.01l6.29,-1.88l1.25,1.81l0.25,0.13l3.57,-0.08l0.26,-0.17l0.87,-1.79l3.41,-0.18l3.08,1.94Z", "name": "Norway"}, "NA": {"path": "M461.88,357.98l-1.61,-1.77l-0.94,-1.9l-0.54,-2.58l-0.62,-1.95l-0.83,-4.05l-0.06,-3.13l-0.33,-1.5l-0.07,-0.14l-0.95,-1.06l-1.27,-2.12l-1.3,-3.1l-0.59,-1.71l-1.98,-2.46l-0.13,-1.67l0.99,-0.4l1.44,-0.42l1.48,0.07l1.42,1.11l0.31,0.03l0.32,-0.15l9.99,-0.11l1.66,1.18l0.16,0.06l6.06,0.37l4.69,-1.06l2.01,-0.57l1.5,0.14l0.63,0.37l-1.0,0.41l-0.7,0.01l-0.16,0.05l-1.38,0.88l-0.79,-0.88l-0.29,-0.09l-3.83,0.9l-1.84,0.08l-0.29,0.3l-0.07,8.99l-2.18,0.08l-0.29,0.3l-0.0,17.47l-2.04,1.27l-1.21,0.18l-1.51,-0.49l-0.99,-0.18l-0.36,-1.0l-0.1,-0.14l-0.99,-0.74l-0.4,0.04l-0.98,1.09Z", "name": "Namibia"}, "NC": {"path": "M835.87,338.68l2.06,1.63l1.01,0.94l-0.49,0.32l-1.21,-0.62l-1.76,-1.16l-1.58,-1.36l-1.61,-1.79l-0.16,-0.41l0.54,0.02l1.32,0.83l1.08,0.87l0.79,0.73Z", "name": "New Caledonia"}, "NE": {"path": "M426.67,254.17l0.03,-1.04l-0.24,-0.3l-2.66,-0.53l-0.06,-1.0l-0.07,-0.17l-1.37,-1.62l-0.3,-1.04l0.15,-0.94l1.37,-0.09l0.19,-0.09l0.85,-0.83l3.34,-0.22l2.22,-0.41l0.24,-0.26l0.2,-1.5l1.32,-1.65l0.07,-0.19l-0.01,-5.74l3.4,-1.13l7.24,-5.12l8.46,-4.95l3.76,1.08l1.35,1.39l0.36,0.05l1.39,-0.77l0.55,3.66l0.12,0.2l0.82,0.6l0.03,0.69l0.1,0.21l0.87,0.74l-0.47,0.99l-0.96,5.26l-0.13,3.25l-3.08,2.34l-0.1,0.15l-1.08,3.37l0.08,0.31l0.94,0.86l-0.01,1.51l0.29,0.3l1.25,0.05l-0.14,0.66l-0.51,0.11l-0.24,0.26l-0.06,0.57l-0.04,0.0l-1.59,-2.62l-0.21,-0.14l-0.59,-0.1l-0.23,0.05l-1.83,1.33l-1.79,-0.68l-1.42,-0.17l-0.17,0.03l-0.65,0.32l-1.39,-0.07l-0.19,0.06l-1.4,1.03l-1.12,0.05l-2.97,-1.29l-0.26,0.01l-1.12,0.59l-1.08,-0.04l-0.85,-0.88l-0.11,-0.07l-2.51,-0.95l-0.14,-0.02l-2.69,0.3l-0.16,0.07l-0.65,0.55l-0.1,0.16l-0.34,1.41l-0.69,0.98l-0.05,0.15l-0.13,1.72l-1.47,-1.13l-0.18,-0.06l-0.9,0.01l-0.2,0.08l-0.32,0.28Z", "name": "Niger"}, "NG": {"path": "M442.0,272.7l-2.4,0.83l-0.88,-0.12l-0.19,0.04l-0.89,0.52l-1.78,-0.05l-1.23,-1.44l-0.88,-1.87l-1.77,-1.66l-0.21,-0.08l-3.78,0.03l0.13,-3.75l-0.06,-1.58l0.44,-1.47l0.74,-0.75l1.21,-1.56l0.04,-0.29l-0.22,-0.56l0.44,-0.9l0.01,-0.24l-0.54,-1.44l0.26,-2.97l0.72,-1.06l0.33,-1.37l0.51,-0.43l2.53,-0.28l2.38,0.9l0.89,0.91l0.2,0.09l1.28,0.04l0.15,-0.03l1.06,-0.56l2.9,1.26l0.13,0.02l1.28,-0.06l0.16,-0.06l1.39,-1.02l1.36,0.07l0.15,-0.03l0.64,-0.32l1.22,0.13l1.9,0.73l0.28,-0.04l1.86,-1.35l0.33,0.06l1.62,2.67l0.29,0.14l0.32,-0.04l0.73,0.74l-0.19,0.37l-0.12,0.74l-2.03,1.89l-0.07,0.11l-0.66,1.62l-0.35,1.28l-0.48,0.51l-0.07,0.12l-0.48,1.67l-1.26,0.98l-0.1,0.15l-0.38,1.24l-0.58,1.07l-0.2,0.91l-1.43,0.7l-1.26,-0.93l-0.19,-0.06l-0.95,0.04l-0.2,0.09l-1.41,1.39l-0.61,0.02l-0.26,0.17l-1.19,2.42l-0.61,1.67Z", "name": "Nigeria"}, "NZ": {"path": "M857.9,379.62l1.85,3.1l0.33,0.14l0.22,-0.28l0.04,-1.41l0.57,0.4l0.35,2.06l0.17,0.22l2.02,0.94l1.78,0.26l0.22,-0.06l1.31,-1.01l0.84,0.22l-0.53,2.27l-0.67,1.5l-1.71,-0.05l-0.25,0.12l-0.67,0.89l-0.05,0.23l0.21,1.15l-0.31,0.46l-2.15,3.57l-1.6,0.99l-0.28,-0.51l-0.15,-0.13l-0.72,-0.3l1.27,-2.15l0.01,-0.29l-0.82,-1.63l-0.15,-0.14l-2.5,-1.09l0.05,-0.69l1.67,-0.94l0.15,-0.21l0.42,-2.24l-0.11,-1.95l-0.03,-0.12l-0.97,-1.85l0.05,-0.41l-0.09,-0.25l-1.18,-1.17l-1.94,-2.49l-0.86,-1.64l0.38,-0.09l1.24,1.43l0.12,0.08l1.81,0.68l0.67,2.39ZM853.93,393.55l0.57,1.24l0.44,0.12l1.51,-1.03l0.52,0.91l0.0,1.09l-0.88,1.31l-1.62,2.2l-1.26,1.2l-0.05,0.38l0.64,1.02l-1.4,0.03l-0.14,0.04l-2.14,1.16l-0.14,0.17l-0.67,2.0l-1.38,3.06l-3.07,2.19l-2.12,-0.06l-1.55,-0.99l-0.14,-0.05l-2.53,-0.2l-0.31,-0.84l1.25,-2.15l3.07,-2.97l1.62,-0.59l1.81,-1.17l2.18,-1.63l1.55,-1.65l1.08,-2.18l0.9,-0.72l0.11,-0.17l0.35,-1.56l1.37,-1.07l0.4,0.91Z", "name": "New Zealand"}, "NP": {"path": "M641.26,213.53l-0.14,0.95l0.32,1.64l-0.21,0.78l-1.83,0.04l-2.98,-0.62l-1.86,-0.25l-1.37,-1.3l-0.18,-0.08l-3.38,-0.34l-3.21,-1.49l-2.38,-1.34l-2.16,-0.92l0.84,-2.2l1.51,-1.18l0.89,-0.57l1.83,0.77l2.5,1.76l1.39,0.41l0.78,1.21l0.17,0.13l1.91,0.53l2.0,1.17l2.92,0.66l2.63,0.24Z", "name": "Nepal"}, "CI": {"path": "M413.53,272.08l-0.83,0.02l-1.79,-0.49l-1.64,0.03l-3.04,0.46l-1.73,0.72l-2.4,0.89l-0.12,-0.02l0.16,-1.7l0.19,-0.25l0.06,-0.2l-0.08,-0.99l-0.09,-0.19l-1.06,-1.05l-0.15,-0.08l-0.71,-0.15l-0.51,-0.48l0.45,-0.92l0.02,-0.19l-0.24,-1.16l0.07,-0.43l0.14,-0.0l0.3,-0.26l0.15,-1.1l-0.02,-0.15l-0.13,-0.34l0.09,-0.13l0.83,-0.27l0.19,-0.37l-0.62,-2.02l-0.55,-1.0l0.14,-0.59l0.35,-0.14l0.24,-0.16l0.53,0.29l0.14,0.04l1.93,0.02l0.26,-0.14l0.36,-0.58l0.39,0.01l0.43,-0.17l0.28,0.79l0.43,0.16l0.56,-0.31l0.89,-0.32l0.92,0.45l0.39,0.75l0.14,0.13l1.13,0.53l0.3,-0.03l0.81,-0.59l1.02,-0.08l1.49,0.57l0.62,3.33l-1.03,2.09l-0.65,2.84l0.02,0.2l1.05,2.08l-0.07,0.64Z", "name": "Ivory Coast"}, "CH": {"path": "M444.71,156.27l0.05,0.3l-0.34,0.69l0.13,0.4l1.13,0.58l1.07,0.1l-0.12,0.81l-0.87,0.42l-1.75,-0.37l-0.34,0.18l-0.47,1.1l-0.86,0.07l-0.33,-0.38l-0.41,-0.04l-1.34,1.01l-1.02,0.13l-0.93,-0.58l-0.82,-1.32l-0.37,-0.12l-0.77,0.32l0.02,-0.84l1.74,-1.69l0.09,-0.25l-0.04,-0.38l0.73,0.19l0.26,-0.06l0.6,-0.48l2.02,0.02l0.24,-0.12l0.38,-0.51l2.31,0.84Z", "name": "Switzerland"}, "CO": {"path": "M232.24,284.95l-0.94,-0.52l-1.22,-0.82l-0.31,-0.01l-0.62,0.35l-1.88,-0.31l-0.54,-0.95l-0.29,-0.15l-0.37,0.03l-2.34,-1.33l-0.15,-0.35l0.57,-0.11l0.24,-0.32l-0.1,-1.15l0.46,-0.71l1.11,-0.15l0.21,-0.13l1.05,-1.57l0.95,-1.31l-0.08,-0.43l-0.73,-0.47l0.4,-1.24l0.01,-0.16l-0.53,-2.15l0.44,-0.54l0.06,-0.24l-0.4,-2.13l-0.06,-0.13l-0.93,-1.22l0.21,-0.8l0.52,0.12l0.32,-0.13l0.47,-0.75l0.03,-0.27l-0.52,-1.32l0.09,-0.11l1.14,0.07l0.22,-0.08l1.82,-1.71l0.96,-0.25l0.22,-0.28l0.02,-0.81l0.43,-2.01l1.28,-1.04l1.48,-0.05l0.27,-0.19l0.12,-0.31l1.73,0.19l0.2,-0.05l1.96,-1.28l0.97,-0.56l1.16,-1.16l0.64,0.11l0.43,0.44l-0.31,0.55l-1.49,0.39l-0.19,0.16l-0.6,1.2l-0.97,0.74l-0.73,0.94l-0.06,0.13l-0.3,1.76l-0.68,1.44l0.23,0.43l1.1,0.14l0.27,0.97l0.08,0.13l0.49,0.49l0.17,0.85l-0.27,0.86l-0.01,0.14l0.09,0.53l0.2,0.23l0.52,0.18l0.54,0.79l0.27,0.13l3.18,-0.24l1.31,0.29l1.7,2.08l0.31,0.1l0.96,-0.26l1.75,0.13l1.41,-0.27l0.56,0.27l-0.36,1.07l-0.54,0.81l-0.05,0.13l-0.2,1.8l0.51,1.79l0.07,0.12l0.65,0.68l0.05,0.32l-1.16,1.14l0.05,0.47l0.86,0.52l0.6,0.79l0.31,1.01l-0.7,-0.81l-0.44,-0.01l-0.74,0.77l-4.75,-0.05l-0.3,0.31l0.03,1.57l0.25,0.29l1.2,0.21l-0.02,0.24l-0.1,-0.05l-0.22,-0.02l-1.41,0.41l-0.22,0.29l-0.01,1.82l0.11,0.23l1.04,0.85l0.35,1.3l-0.06,1.02l-1.02,6.26l-0.84,-0.89l-0.19,-0.09l-0.25,-0.02l1.35,-2.13l-0.1,-0.42l-1.92,-1.17l-0.2,-0.04l-1.41,0.2l-0.82,-0.39l-0.26,0.0l-1.29,0.62l-1.63,-0.27l-1.4,-2.5l-0.12,-0.12l-1.1,-0.61l-0.83,-1.2l-1.67,-1.19l-0.27,-0.04l-0.54,0.19Z", "name": "Colombia"}, "CN": {"path": "M740.32,148.94l0.22,0.21l4.3,1.03l2.84,2.2l0.99,2.92l0.28,0.2l3.8,0.0l0.15,-0.04l2.13,-1.24l3.5,-0.8l-1.05,2.29l-0.95,1.13l-0.06,0.12l-0.85,3.41l-1.56,2.81l-2.83,-0.51l-0.19,0.03l-2.15,1.09l-0.15,0.34l0.65,2.59l-0.33,3.3l-1.03,0.07l-0.28,0.3l0.01,0.75l-1.09,-1.2l-0.48,0.05l-0.94,1.6l-3.76,1.26l-0.2,0.36l0.29,1.19l-1.67,-0.08l-1.11,-0.88l-0.42,0.05l-1.69,2.08l-2.71,1.57l-2.04,1.88l-3.42,0.84l-0.11,0.05l-1.8,1.34l-1.54,0.46l0.52,-0.53l0.06,-0.33l-0.44,-0.96l1.84,-1.84l0.02,-0.41l-1.32,-1.56l-0.36,-0.08l-2.23,1.08l-2.83,2.06l-1.52,1.85l-2.32,0.13l-0.2,0.09l-1.28,1.37l-0.03,0.37l1.32,1.97l0.18,0.13l1.83,0.43l0.07,1.08l0.18,0.26l1.98,0.84l0.3,-0.03l2.66,-1.96l2.06,1.04l0.12,0.03l1.4,0.07l0.27,1.0l-3.24,0.73l-0.17,0.11l-1.13,1.5l-2.38,1.4l-0.1,0.1l-1.29,1.99l0.1,0.42l2.6,1.5l0.97,2.72l1.52,2.56l1.66,2.08l-0.03,1.76l-1.4,0.67l-0.15,0.38l0.6,1.47l0.13,0.15l1.29,0.75l-0.35,2.0l-0.58,1.96l-1.22,0.21l-0.2,0.14l-1.83,2.93l-2.02,3.51l-2.29,3.13l-3.4,2.42l-3.42,2.18l-2.75,0.3l-0.15,0.06l-1.32,1.01l-0.68,-0.67l-0.41,-0.01l-1.37,1.27l-3.42,1.28l-2.62,0.4l-0.24,0.21l-0.8,2.57l-0.95,0.11l-0.53,-1.54l0.52,-0.89l-0.19,-0.44l-3.36,-0.84l-0.17,0.01l-1.09,0.4l-2.36,-0.64l-1.0,-0.9l0.35,-1.34l-0.23,-0.37l-2.22,-0.47l-1.15,-0.94l-0.36,-0.02l-2.08,1.37l-2.35,0.29l-1.98,-0.01l-0.13,0.03l-1.32,0.63l-1.28,0.38l-0.21,0.33l0.33,2.65l-0.78,-0.04l-0.14,-0.39l-0.07,-1.04l-0.41,-0.26l-1.72,0.71l-0.96,-0.43l-1.63,-0.86l0.65,-1.95l-0.19,-0.38l-1.43,-0.46l-0.56,-2.27l-0.34,-0.22l-2.26,0.38l0.25,-2.65l2.29,-2.15l0.09,-0.2l0.1,-2.21l-0.07,-2.09l-0.15,-0.25l-1.02,-0.6l-0.8,-1.52l-0.31,-0.16l-1.42,0.2l-2.16,-0.32l0.55,-0.74l0.01,-0.35l-1.17,-1.7l-0.41,-0.08l-1.67,1.07l-1.97,-0.63l-0.25,0.03l-2.89,1.73l-2.26,1.99l-1.82,0.3l-1.0,-0.66l-0.15,-0.05l-1.28,-0.06l-1.75,-0.61l-0.24,0.02l-1.35,0.69l-0.1,0.08l-1.2,1.45l-0.14,-1.41l-0.4,-0.25l-1.46,0.55l-2.83,-0.26l-2.77,-0.61l-1.99,-1.17l-1.91,-0.54l-0.78,-1.21l-0.17,-0.13l-1.36,-0.38l-2.54,-1.79l-2.01,-0.84l-0.28,0.02l-0.89,0.56l-3.31,-1.83l-2.35,-1.67l-0.57,-2.49l1.34,0.28l0.36,-0.28l0.08,-1.42l-0.05,-0.19l-0.93,-1.34l0.24,-2.18l-0.07,-0.22l-2.69,-3.32l-0.15,-0.1l-3.97,-1.11l-0.69,-2.05l-0.11,-0.15l-1.79,-1.3l-0.39,-0.73l-0.36,-1.57l0.08,-1.09l-0.18,-0.3l-1.52,-0.66l-0.22,-0.01l-0.51,0.18l-0.52,-2.21l0.59,-0.55l0.06,-0.35l-0.22,-0.44l2.12,-1.24l1.63,-0.55l2.58,0.39l0.31,-0.16l0.87,-1.75l3.05,-0.34l0.21,-0.12l0.84,-1.12l3.87,-1.59l0.15,-0.14l0.35,-0.68l0.03,-0.17l-0.17,-1.51l1.52,-0.7l0.15,-0.39l-2.12,-5.0l4.62,-1.15l1.35,-0.72l0.14,-0.17l1.72,-5.37l4.7,0.99l0.28,-0.08l1.39,-1.43l0.08,-0.2l0.11,-2.95l1.83,-0.26l0.18,-0.1l1.85,-2.08l0.61,-0.17l0.57,1.97l0.1,0.15l2.2,1.75l3.48,1.17l1.59,2.36l-0.93,3.53l0.04,0.24l0.9,1.35l0.2,0.13l2.98,0.53l3.32,0.43l2.97,1.89l1.49,0.35l1.08,2.67l1.52,1.88l0.24,0.11l2.74,-0.07l5.15,0.67l3.36,-0.41l2.39,0.43l3.67,1.81l0.13,0.03l2.92,-0.0l1.02,0.86l0.34,0.03l2.88,-1.59l3.98,-1.03l3.81,-0.13l3.02,-1.12l1.77,-1.61l1.73,-1.01l0.13,-0.37l-0.41,-1.01l-0.72,-1.07l1.09,-1.66l1.21,0.24l2.57,0.63l0.24,-0.04l2.46,-1.62l3.78,-1.19l0.13,-0.09l1.8,-2.03l1.66,-0.84l3.54,-0.41l1.93,0.35l0.34,-0.22l0.27,-1.12l-0.08,-0.29l-2.27,-2.22l-2.08,-1.07l-0.29,0.01l-1.82,1.12l-2.36,-0.47l-0.14,0.01l-1.18,0.34l-0.46,-0.94l1.69,-3.08l1.1,-2.21l2.75,1.12l0.26,-0.02l3.53,-2.06l0.15,-0.26l-0.02,-1.35l2.18,-3.39l1.35,-1.04l0.12,-0.24l-0.03,-1.85l-0.15,-0.25l-1.0,-0.58l1.68,-1.37l3.01,-0.59l3.25,-0.09l3.67,0.99l2.08,1.18l1.51,3.3l0.95,1.45l0.85,1.99l0.92,3.19ZM697.0,237.37l-1.95,1.12l-1.74,-0.68l-0.06,-1.9l1.08,-1.03l2.62,-0.7l1.23,0.05l0.37,0.65l-1.01,1.08l-0.54,1.4Z", "name": "China"}, "CM": {"path": "M453.76,278.92l-0.26,-0.11l-0.18,-0.02l-1.42,0.31l-1.56,-0.33l-1.17,0.16l-3.7,-0.05l0.3,-1.63l-0.04,-0.21l-0.98,-1.66l-0.15,-0.13l-1.03,-0.38l-0.46,-1.01l-0.13,-0.14l-0.48,-0.27l0.02,-0.46l0.62,-1.72l1.1,-2.25l0.54,-0.02l0.2,-0.09l1.41,-1.39l0.73,-0.03l1.32,0.97l0.31,0.03l1.72,-0.85l0.16,-0.2l0.22,-1.0l0.57,-1.03l0.36,-1.18l1.26,-0.98l0.1,-0.15l0.49,-1.7l0.48,-0.51l0.07,-0.13l0.35,-1.3l0.63,-1.54l2.06,-1.92l0.09,-0.17l0.12,-0.79l0.24,-0.41l-0.04,-0.36l-0.89,-0.91l0.04,-0.45l0.28,-0.06l0.85,1.39l0.16,1.59l-0.09,1.66l0.04,0.17l1.09,1.84l-0.86,-0.02l-0.72,0.17l-1.07,-0.24l-0.34,0.17l-0.54,1.19l0.06,0.34l1.48,1.47l1.06,0.44l0.32,0.94l0.73,1.6l-0.32,0.57l-1.23,2.49l-0.54,0.41l-0.12,0.21l-0.19,1.95l0.24,1.08l-0.18,0.67l0.07,0.28l1.13,1.25l0.24,0.93l0.92,1.29l1.1,0.8l0.1,1.01l0.26,0.73l-0.12,0.93l-1.65,-0.49l-2.02,-0.66l-3.19,-0.11Z", "name": "Cameroon"}, "CL": {"path": "M246.8,429.1l-1.14,0.78l-2.25,1.21l-0.16,0.23l-0.37,2.94l-0.75,0.06l-2.72,-1.07l-2.83,-2.34l-3.06,-1.9l-0.71,-1.92l0.67,-1.84l-0.02,-0.25l-1.22,-2.13l-0.31,-5.41l1.02,-2.95l2.59,-2.4l-0.13,-0.51l-3.32,-0.8l2.06,-2.4l0.07,-0.15l0.79,-4.77l2.44,0.95l0.4,-0.22l1.31,-6.31l-0.16,-0.33l-1.68,-0.8l-0.42,0.21l-0.72,3.47l-1.01,-0.27l0.74,-4.06l0.85,-5.46l1.12,-1.96l0.03,-0.22l-0.71,-2.82l-0.19,-2.94l0.76,-0.07l0.26,-0.2l1.53,-4.62l1.73,-4.52l1.07,-4.2l-0.56,-4.2l0.73,-2.2l0.01,-0.12l-0.29,-3.3l1.46,-3.34l0.45,-5.19l0.8,-5.52l0.78,-5.89l-0.18,-4.33l-0.49,-3.47l1.1,-0.56l0.13,-0.13l0.44,-0.88l0.9,1.29l0.32,1.8l0.1,0.18l1.16,0.97l-0.73,2.33l0.01,0.21l1.33,2.91l0.97,3.6l0.35,0.22l1.57,-0.31l0.16,0.34l-0.79,2.51l-2.61,1.25l-0.17,0.28l0.08,4.36l-0.48,0.79l0.01,0.33l0.6,0.84l-1.62,1.55l-1.67,2.6l-0.89,2.47l-0.02,0.13l0.23,2.56l-1.5,2.76l-0.03,0.21l1.15,4.8l0.11,0.17l0.54,0.42l-0.01,2.37l-1.4,2.7l-0.03,0.15l0.06,2.25l-1.8,1.78l-0.09,0.21l0.02,2.73l0.71,2.63l-1.33,0.94l-0.12,0.17l-0.67,2.64l-0.59,3.03l0.4,3.55l-0.84,0.51l-0.14,0.31l0.58,3.5l0.08,0.16l0.96,0.99l-0.7,1.08l0.11,0.43l1.04,0.55l0.19,0.8l-0.89,0.48l-0.16,0.31l0.26,1.77l-0.89,4.06l-1.31,2.67l-0.03,0.19l0.28,1.53l-0.73,1.88l-1.85,1.37l-0.12,0.26l0.22,3.46l0.06,0.16l0.88,1.19l0.28,0.12l1.32,-0.17l-0.04,2.13l0.04,0.15l1.04,1.95l0.24,0.16l5.94,0.44ZM248.79,430.71l0.0,7.41l0.3,0.3l2.67,0.0l1.01,0.06l-0.54,0.91l-1.99,1.01l-1.13,-0.1l-1.42,-0.27l-1.87,-1.06l-2.57,-0.49l-3.09,-1.9l-2.52,-1.83l-2.65,-2.93l0.93,0.32l3.54,2.29l3.32,1.23l0.34,-0.09l1.29,-1.57l0.83,-2.32l2.11,-1.28l1.43,0.32Z", "name": "Chile"}, "CA": {"path": "M280.14,145.66l-1.66,2.88l0.06,0.37l0.37,0.03l1.5,-1.01l1.17,0.49l-0.64,0.83l0.13,0.46l2.22,0.89l0.28,-0.03l1.02,-0.7l2.09,0.83l-0.69,2.1l0.37,0.38l1.43,-0.45l0.27,1.43l0.74,1.88l-0.95,2.5l-0.88,0.09l-1.34,-0.48l0.49,-2.34l-0.14,-0.32l-0.7,-0.4l-0.36,0.04l-2.81,2.66l-0.63,-0.05l1.2,-1.01l-0.1,-0.52l-2.4,-0.77l-2.79,0.18l-4.65,-0.09l-0.22,-0.54l1.37,-0.99l0.01,-0.48l-0.82,-0.65l1.91,-1.79l2.57,-5.17l1.49,-1.81l2.04,-1.07l0.63,0.08l-0.27,0.51l-1.33,2.07ZM193.92,74.85l-0.01,4.24l0.19,0.28l0.33,-0.07l3.14,-3.22l2.65,2.5l-0.71,3.04l0.06,0.26l2.42,2.88l0.46,0.0l2.66,-3.14l1.83,-3.74l0.03,-0.12l0.13,-4.53l3.23,0.31l3.63,0.64l3.18,2.08l0.13,1.91l-1.79,2.22l-0.0,0.37l1.69,2.2l-0.28,1.8l-4.74,2.84l-3.33,0.62l-2.5,-1.21l-0.41,0.17l-0.73,2.05l-2.39,3.44l-0.74,1.78l-2.78,2.61l-3.48,0.26l-0.17,0.07l-1.98,1.68l-0.1,0.21l-0.15,2.33l-2.68,0.45l-0.17,0.09l-3.1,3.2l-2.75,4.38l-0.99,3.06l-0.14,4.31l0.25,0.31l3.5,0.58l1.07,3.24l1.18,2.76l0.34,0.18l3.43,-0.69l4.55,1.52l2.45,1.32l1.76,1.65l0.12,0.07l3.11,0.96l2.63,1.46l0.13,0.04l4.12,0.2l2.41,0.3l-0.36,2.81l0.8,3.51l1.81,3.78l0.08,0.1l3.73,3.17l0.34,0.03l1.93,-1.08l0.13,-0.15l1.35,-3.44l0.01,-0.18l-1.31,-5.38l-0.08,-0.14l-1.46,-1.5l3.68,-1.51l2.84,-2.46l1.45,-2.55l0.04,-0.17l-0.2,-2.39l-0.04,-0.12l-1.7,-3.07l-2.9,-2.64l2.79,-3.66l0.05,-0.27l-1.08,-3.38l-0.8,-5.75l1.45,-0.75l4.18,1.03l2.6,0.38l0.18,-0.03l1.93,-0.95l2.18,1.23l3.01,2.18l0.73,1.42l0.25,0.16l4.18,0.27l-0.06,2.95l0.83,4.7l0.22,0.24l2.19,0.55l1.75,2.08l0.38,0.07l3.63,-2.03l0.11,-0.11l2.38,-4.06l1.36,-1.43l1.76,3.01l3.26,4.68l2.68,4.19l-0.94,2.09l0.12,0.38l3.31,1.98l2.23,1.98l0.13,0.07l3.94,0.89l1.48,1.02l0.96,2.82l0.22,0.2l1.85,0.43l0.88,1.13l0.17,3.53l-1.68,1.16l-1.76,1.14l-4.08,1.17l-0.11,0.06l-3.08,2.65l-4.11,0.52l-5.35,-0.69l-3.76,-0.02l-2.62,0.23l-0.2,0.1l-2.05,2.29l-3.13,1.41l-0.11,0.08l-3.6,4.24l-2.87,2.92l-0.05,0.36l0.33,0.14l2.13,-0.52l0.15,-0.08l3.98,-4.15l5.16,-2.63l3.58,-0.31l1.82,1.3l-2.09,1.91l-0.09,0.29l0.8,3.46l0.82,2.37l0.15,0.17l3.25,1.56l0.16,0.03l4.14,-0.45l0.21,-0.12l2.03,-2.86l0.11,1.46l0.13,0.22l1.26,0.88l-2.7,1.78l-5.51,1.83l-2.52,1.26l-2.75,2.16l-1.52,-0.18l-0.08,-2.16l4.19,-2.47l0.14,-0.34l-0.3,-0.22l-4.01,0.1l-2.66,0.36l-1.45,-1.56l0.0,-4.16l-0.11,-0.23l-1.11,-0.91l-0.28,-0.05l-1.5,0.48l-0.7,-0.7l-0.45,0.02l-1.91,2.39l-0.8,2.5l-0.82,1.31l-0.95,0.43l-0.77,0.15l-0.23,0.2l-0.18,0.56l-8.2,0.02l-0.13,0.03l-1.19,0.61l-2.95,2.45l-0.78,1.13l-4.6,0.01l-0.12,0.02l-1.13,0.48l-0.13,0.44l0.37,0.55l0.2,0.82l-0.01,0.09l-3.1,1.42l-2.63,0.5l-2.84,1.57l-0.47,0.0l-0.72,-0.4l-0.18,-0.27l0.03,-0.15l0.52,-1.0l1.2,-1.71l0.73,-1.8l0.02,-0.17l-1.03,-5.47l-0.15,-0.21l-2.35,-1.32l0.16,-0.29l-0.05,-0.35l-0.37,-0.38l-0.22,-0.09l-0.56,0.0l-0.35,-0.34l-0.11,-0.65l-0.46,-0.2l-0.39,0.26l-0.2,-0.03l-0.11,-0.33l-0.48,-0.25l-0.21,-0.71l-0.15,-0.18l-3.97,-2.07l-4.8,-2.39l-0.25,-0.01l-2.19,0.89l-0.72,0.03l-3.04,-0.82l-0.14,-0.0l-1.94,0.4l-2.4,-0.98l-2.56,-0.51l-1.7,-0.19l-0.62,-0.44l-0.42,-1.67l-0.3,-0.23l-0.85,0.02l-0.29,0.3l-0.01,0.95l-69.26,-0.01l-4.77,-3.14l-1.78,-1.41l-4.51,-1.38l-1.3,-2.73l0.34,-1.96l-0.17,-0.33l-3.06,-1.37l-0.41,-2.58l-0.11,-0.18l-2.92,-2.4l-0.05,-1.53l1.32,-1.59l0.07,-0.2l-0.07,-2.21l-0.16,-0.26l-4.19,-2.22l-2.52,-4.02l-1.56,-2.6l-0.08,-0.09l-2.28,-1.64l-1.65,-1.48l-1.31,-1.89l-0.38,-0.1l-2.51,1.21l-2.28,1.92l-2.03,-2.22l-1.85,-1.71l-2.44,-1.04l-2.28,-0.12l0.03,-37.72l4.27,0.98l4.0,2.13l2.61,0.4l0.24,-0.07l2.17,-1.81l2.92,-1.33l3.63,0.53l0.18,-0.03l3.72,-1.94l3.89,-1.06l1.6,1.72l0.37,0.06l1.87,-1.04l0.14,-0.19l0.48,-1.83l1.37,0.38l4.18,3.96l0.41,0.0l2.89,-2.62l0.28,2.79l0.37,0.26l3.08,-0.73l0.17,-0.12l0.85,-1.16l2.81,0.24l3.83,1.86l5.86,1.61l3.46,0.75l2.44,-0.26l2.89,1.89l-3.12,1.89l-0.14,0.31l0.24,0.24l4.53,0.92l6.84,-0.5l2.04,-0.71l2.54,2.44l0.39,0.02l2.72,-2.16l-0.01,-0.48l-2.26,-1.61l1.27,-1.16l2.94,-0.19l1.94,-0.42l1.89,0.97l2.49,2.32l0.24,0.08l2.71,-0.33l4.35,1.9l0.17,0.02l3.86,-0.67l3.62,0.1l0.31,-0.33l-0.26,-2.44l1.9,-0.65l3.58,1.36l-0.01,3.84l0.23,0.29l0.34,-0.17l1.51,-3.23l1.81,0.1l0.31,-0.22l1.13,-4.37l-0.08,-0.29l-2.68,-2.73l-2.83,-1.76l0.19,-4.73l2.77,-3.15l3.06,0.69l2.44,1.97l3.24,4.88l-2.05,2.02l0.15,0.51l4.41,0.85ZM265.85,150.7l-0.84,0.04l-3.15,-0.99l-1.77,-1.17l0.19,-0.06l3.17,0.79l2.39,1.27l0.01,0.12ZM249.41,3.71l6.68,0.49l5.34,0.79l4.34,1.6l-0.08,1.24l-5.91,2.56l-6.03,1.21l-2.36,1.38l-0.14,0.34l0.29,0.22l4.37,-0.02l-4.96,3.01l-4.06,1.64l-0.11,0.08l-4.21,4.62l-5.07,0.92l-0.12,0.05l-1.53,1.1l-7.5,0.59l-0.28,0.28l0.24,0.31l2.67,0.54l-1.04,0.6l-0.09,0.44l1.89,2.49l-2.11,1.66l-3.83,1.52l-0.15,0.13l-1.14,2.01l-3.41,1.55l-0.16,0.36l0.35,1.19l0.3,0.22l3.98,-0.19l0.03,0.78l-6.42,2.99l-6.44,-1.41l-7.41,0.79l-3.72,-0.62l-4.48,-0.26l-0.25,-2.0l4.37,-1.13l0.21,-0.38l-1.14,-3.55l1.13,-0.28l6.61,2.29l0.35,-0.12l-0.04,-0.37l-3.41,-3.45l-0.14,-0.08l-3.57,-0.92l1.62,-1.7l4.36,-1.3l0.2,-0.18l0.71,-1.94l-0.12,-0.36l-3.45,-2.15l-0.88,-2.43l6.36,0.23l1.94,0.61l0.23,-0.02l3.91,-2.1l0.15,-0.32l-0.26,-0.24l-5.69,-0.67l-8.69,0.37l-4.3,-1.92l-2.12,-2.39l-2.82,-1.68l-0.44,-1.65l3.41,-1.06l2.93,-0.2l4.91,-0.99l3.69,-2.28l2.93,0.31l2.64,1.68l0.42,-0.1l1.84,-3.23l3.17,-0.96l4.45,-0.69l7.56,-0.26l1.26,0.64l0.18,0.03l7.2,-1.06l10.81,0.8ZM203.94,57.59l0.01,0.32l1.97,2.97l0.51,-0.01l2.26,-3.75l6.05,-1.89l4.08,4.72l-0.36,2.95l0.38,0.33l4.95,-1.36l0.11,-0.05l2.23,-1.77l5.37,2.31l3.32,2.14l0.3,1.89l0.36,0.25l4.48,-1.01l2.49,2.8l0.14,0.09l5.99,1.78l2.09,1.74l2.18,3.83l-4.29,1.91l-0.01,0.54l5.9,2.83l3.95,0.94l3.54,3.84l0.2,0.1l3.58,0.25l-0.67,2.51l-4.18,4.54l-2.84,-1.61l-3.91,-3.95l-0.26,-0.09l-3.24,0.52l-0.25,0.26l-0.32,2.37l0.1,0.26l2.63,2.38l3.42,1.89l0.96,1.0l1.57,3.8l-0.74,2.43l-2.85,-0.96l-6.26,-3.15l-0.38,0.09l0.04,0.39l3.54,3.4l2.55,2.31l0.23,0.78l-6.26,-1.43l-5.33,-2.25l-2.73,-1.73l0.67,-0.86l-0.09,-0.45l-7.38,-4.01l-0.44,0.27l0.03,0.89l-6.85,0.61l-1.8,-1.17l1.43,-2.6l4.56,-0.07l5.15,-0.52l0.23,-0.45l-0.76,-1.34l0.8,-1.89l3.21,-4.06l0.05,-0.29l-0.72,-1.95l-0.97,-1.47l-0.11,-0.1l-3.84,-2.1l-4.53,-1.33l1.09,-0.75l0.05,-0.45l-2.65,-2.75l-0.18,-0.09l-2.12,-0.24l-1.91,-1.47l-0.39,0.02l-1.27,1.25l-4.4,0.56l-9.06,-0.99l-5.28,-1.31l-4.01,-0.67l-1.72,-1.31l2.32,-1.85l0.1,-0.33l-0.28,-0.2l-3.3,-0.02l-0.74,-4.36l1.86,-4.09l2.46,-1.88l5.74,-1.15l-1.5,2.55ZM261.28,159.28l0.19,0.14l1.82,0.42l1.66,-0.05l-0.66,0.68l-0.75,0.16l-3.0,-1.25l-0.46,-0.77l0.51,-0.52l0.68,1.19ZM230.87,84.48l-2.48,0.19l-0.52,-1.74l0.96,-2.17l2.03,-0.53l1.71,1.04l0.02,1.6l-0.22,0.46l-1.5,1.16ZM229.52,58.19l0.14,0.82l-4.99,-0.22l-2.73,0.63l-0.59,-0.23l-2.61,-2.4l0.08,-1.38l0.94,-0.25l5.61,0.51l4.14,2.54ZM222.12,105.0l-0.79,1.63l-0.75,-0.22l-0.52,-0.91l0.04,-0.09l0.84,-1.01l0.74,0.06l0.44,0.55ZM183.77,38.22l2.72,1.65l0.16,0.04l4.83,-0.01l1.92,1.52l-0.51,1.75l0.18,0.36l2.84,1.14l1.56,1.19l0.16,0.06l3.37,0.22l3.65,0.42l4.07,-1.1l5.05,-0.43l3.96,0.35l2.53,1.8l0.48,1.79l-1.37,1.16l-3.6,1.03l-3.22,-0.59l-7.17,0.76l-5.1,0.09l-4.0,-0.6l-6.48,-1.56l-0.81,-2.57l-0.3,-2.49l-0.1,-0.19l-2.51,-2.25l-0.16,-0.07l-5.12,-0.63l-2.61,-1.45l0.75,-1.71l4.88,0.32ZM207.46,91.26l0.42,1.62l0.42,0.19l1.12,-0.55l1.35,0.99l2.74,1.39l2.73,1.2l0.2,1.74l0.35,0.26l1.72,-0.29l1.31,0.97l-1.72,0.96l-3.68,-0.9l-1.34,-1.71l-0.43,-0.04l-2.46,2.1l-3.23,1.85l-0.74,-1.98l-0.31,-0.19l-2.47,0.28l1.49,-1.34l0.1,-0.19l0.32,-3.15l0.79,-3.45l1.34,0.25ZM215.59,102.66l-2.73,2.0l-1.49,-0.08l-0.37,-0.7l1.61,-1.56l3.0,0.03l-0.02,0.3ZM202.79,24.07l0.11,0.12l2.54,1.53l-3.01,1.47l-4.55,4.07l-4.3,0.38l-5.07,-0.68l-2.51,-2.09l0.03,-1.72l1.86,-1.4l0.1,-0.34l-0.29,-0.2l-4.49,0.04l-2.63,-1.79l-1.45,-2.36l1.61,-2.38l1.65,-1.69l2.47,-0.4l0.19,-0.48l-0.72,-0.89l5.1,-0.26l3.1,3.05l0.13,0.07l4.21,1.25l3.99,1.06l1.92,3.65ZM187.5,59.3l-0.15,0.1l-2.59,3.4l-2.5,-0.15l-1.47,-3.92l0.04,-2.24l1.22,-1.92l2.34,-1.26l5.11,0.17l4.28,1.06l-3.36,3.86l-2.9,0.9ZM186.19,48.8l-1.15,1.63l-3.42,-0.35l-2.68,-1.15l1.11,-1.88l3.34,-1.27l2.01,1.63l0.79,1.38ZM185.78,35.41l-0.95,0.13l-4.48,-0.33l-0.4,-0.91l4.5,0.07l1.45,0.82l-0.1,0.21ZM180.76,32.56l-3.43,1.03l-1.85,-1.14l-1.01,-1.92l-0.16,-1.87l2.87,0.2l1.39,0.35l2.75,1.75l-0.55,1.6ZM181.03,76.32l-1.21,1.2l-3.19,-1.26l-0.18,-0.01l-1.92,0.45l-2.88,-1.67l1.84,-1.16l1.6,-1.77l2.45,1.17l1.45,0.77l2.05,2.28ZM169.72,54.76l2.83,0.97l0.14,0.01l4.25,-0.58l0.47,1.01l-2.19,2.16l0.07,0.48l3.61,1.95l-0.41,3.84l-3.87,1.68l-2.23,-0.36l-1.73,-1.75l-6.07,-3.53l0.03,-1.01l4.79,0.55l0.3,-0.16l-0.04,-0.34l-2.55,-2.89l2.59,-2.05ZM174.44,40.56l1.49,1.87l0.07,2.48l-1.07,3.52l-3.87,0.48l-2.41,-0.72l0.05,-2.72l-0.33,-0.3l-3.79,0.36l-0.13,-3.31l2.36,0.14l0.15,-0.03l3.7,-1.74l3.44,0.29l0.31,-0.22l0.03,-0.12ZM170.14,31.5l0.75,1.74l-3.52,-0.52l-4.19,-1.77l-4.65,-0.17l1.65,-1.11l-0.05,-0.52l-2.86,-1.26l-0.13,-1.58l4.52,0.7l6.66,1.99l1.84,2.5ZM134.64,58.08l-1.08,1.93l0.34,0.44l5.44,-1.41l3.37,2.32l0.37,-0.02l2.66,-2.28l2.03,1.38l2.01,4.53l0.53,0.04l1.26,-1.93l0.03,-0.27l-1.67,-4.55l1.82,-0.58l2.36,0.73l2.69,1.84l1.53,4.46l0.77,3.24l0.15,0.19l4.22,2.26l4.32,2.04l-0.21,1.51l-3.87,0.34l-0.19,0.5l1.45,1.54l-0.65,1.23l-4.3,-0.65l-4.4,-1.19l-2.97,0.28l-4.67,1.48l-6.31,0.65l-4.27,0.39l-1.26,-1.91l-0.15,-0.12l-3.42,-1.2l-0.16,-0.01l-2.05,0.45l-2.66,-3.02l1.2,-0.34l3.82,-0.76l3.58,0.19l3.27,-0.78l0.23,-0.29l-0.24,-0.29l-4.84,-1.06l-5.42,0.35l-3.4,-0.09l-0.97,-1.22l5.39,-1.7l0.21,-0.33l-0.3,-0.25l-3.82,0.06l-3.95,-1.1l1.88,-3.13l1.68,-1.81l6.54,-2.84l2.11,0.77ZM158.85,56.58l-1.82,2.62l-3.38,-2.9l0.49,-0.39l3.17,-0.18l1.54,0.86ZM149.71,42.7l1.0,1.87l0.37,0.14l2.17,-0.83l2.33,0.2l0.38,2.16l-1.38,2.17l-8.33,0.76l-6.34,2.15l-3.51,0.1l-0.22,-1.13l4.98,-2.12l0.17,-0.34l-0.31,-0.23l-11.27,0.6l-3.04,-0.78l3.14,-4.57l2.2,-1.35l6.87,1.7l4.4,3.0l0.14,0.05l4.37,0.39l0.27,-0.48l-3.41,-4.68l1.96,-1.62l2.28,0.53l0.79,2.32ZM145.44,29.83l-2.18,0.77l-3.79,-0.0l0.02,-0.31l2.34,-1.5l1.2,0.23l2.42,0.83ZM144.83,34.5l-4.44,1.46l-3.18,-1.48l1.6,-1.36l3.51,-0.53l3.1,0.75l-0.6,1.16ZM119.02,65.87l-6.17,2.07l-1.19,-1.82l-0.13,-0.11l-5.48,-2.32l0.92,-1.7l1.73,-3.44l2.16,-3.15l-0.02,-0.36l-2.09,-2.56l7.84,-0.71l3.59,1.02l6.32,0.27l2.35,1.37l2.25,1.71l-2.68,1.04l-6.21,3.41l-3.1,3.28l-0.08,0.21l0.0,1.81ZM129.66,35.4l-0.3,3.55l-1.77,1.67l-2.34,0.27l-4.62,2.2l-3.89,0.76l-2.83,-0.93l3.85,-3.52l5.04,-3.36l3.75,0.07l3.11,-0.7ZM111.24,152.74l-0.82,0.29l-3.92,-1.39l-0.7,-1.06l-0.12,-0.1l-2.15,-1.09l-0.41,-0.84l-0.2,-0.16l-2.44,-0.56l-0.84,-1.56l0.1,-0.36l2.34,0.64l1.53,0.5l2.28,0.34l0.78,1.04l1.24,1.55l0.09,0.08l2.42,1.3l0.81,1.39ZM88.54,134.82l0.14,0.02l2.0,-0.23l-0.67,3.48l0.06,0.24l1.78,2.22l-0.24,-0.0l-1.4,-1.42l-0.91,-1.53l-1.26,-1.08l-0.42,-1.35l0.09,-0.66l0.82,0.31Z", "name": "Canada"}, "CG": {"path": "M453.66,296.61l-0.9,-0.82l-0.35,-0.04l-0.83,0.48l-0.77,0.83l-1.65,-2.13l1.66,-1.2l0.08,-0.39l-0.81,-1.43l0.59,-0.43l1.62,-0.29l0.24,-0.24l0.1,-0.58l0.94,0.84l0.19,0.08l2.21,0.11l0.27,-0.14l0.81,-1.29l0.32,-1.76l-0.27,-1.96l-0.06,-0.15l-1.08,-1.35l1.02,-2.74l-0.09,-0.34l-0.62,-0.5l-0.22,-0.06l-1.66,0.18l-0.55,-1.03l0.12,-0.73l2.85,0.09l1.98,0.65l2.0,0.59l0.38,-0.25l0.17,-1.3l1.26,-2.24l1.34,-1.19l1.54,0.38l1.35,0.12l-0.11,1.15l-0.74,1.34l-0.5,1.61l-0.31,2.22l0.12,1.41l-0.4,0.9l-0.06,0.88l-0.24,0.67l-1.57,1.15l-1.24,1.41l-1.09,2.43l-0.03,0.13l0.08,1.95l-0.55,0.69l-1.46,1.23l-1.32,1.41l-0.61,-0.29l-0.13,-0.57l-0.29,-0.23l-1.36,-0.02l-0.23,0.1l-0.72,0.81l-0.41,-0.16Z", "name": "Republic of the Congo"}, "CF": {"path": "M459.41,266.56l1.9,-0.17l0.22,-0.12l0.36,-0.5l0.14,0.02l0.55,0.51l0.29,0.07l3.15,-0.96l0.12,-0.07l1.05,-0.97l1.29,-0.87l0.12,-0.33l-0.17,-0.61l0.38,-0.12l2.36,0.15l0.15,-0.03l2.36,-1.17l0.12,-0.1l1.78,-2.72l1.18,-0.96l1.23,-0.34l0.21,0.79l0.07,0.13l1.37,1.5l0.01,0.86l-0.39,1.0l-0.01,0.17l0.16,0.78l0.1,0.17l0.91,0.76l1.89,1.09l1.24,0.92l0.02,0.67l0.12,0.23l1.67,1.3l0.99,1.03l0.61,1.46l0.14,0.15l1.79,0.95l0.2,0.4l-0.44,0.14l-1.54,-0.06l-1.98,-0.26l-0.93,0.22l-0.19,0.14l-0.3,0.48l-0.57,0.05l-0.91,-0.49l-0.26,-0.01l-2.7,1.21l-1.04,-0.23l-0.21,0.03l-0.34,0.19l-0.12,0.13l-0.64,1.3l-1.67,-0.43l-1.77,-0.24l-1.58,-0.91l-2.06,-0.85l-0.27,0.02l-1.42,0.88l-0.97,1.27l-0.06,0.14l-0.19,1.46l-1.3,-0.11l-1.67,-0.42l-0.27,0.07l-1.55,1.41l-0.99,1.76l-0.14,-1.18l-0.13,-0.22l-1.1,-0.78l-0.86,-1.2l-0.2,-0.84l-0.07,-0.13l-1.07,-1.19l0.16,-0.59l0.0,-0.15l-0.24,-1.01l0.18,-1.77l0.5,-0.38l0.09,-0.11l1.18,-2.4Z", "name": "Central African Republic"}, "CD": {"path": "M497.85,276.25l-0.14,2.77l0.2,0.3l0.57,0.19l-0.47,0.52l-1.0,0.71l-0.96,1.31l-0.56,1.22l-0.16,2.04l-0.54,0.89l-0.04,0.15l-0.02,1.76l-0.63,0.61l-0.09,0.2l-0.08,1.33l-0.2,0.11l-0.15,0.21l-0.23,1.37l0.03,0.2l0.6,1.08l0.16,2.96l0.44,2.29l-0.24,1.25l0.01,0.15l0.5,1.46l0.07,0.12l1.41,1.37l1.09,2.56l-0.51,-0.11l-3.45,0.45l-0.67,0.3l-0.15,0.15l-0.71,1.61l0.01,0.26l0.52,1.03l-0.43,2.9l-0.31,2.55l0.13,0.29l0.7,0.46l1.75,0.99l0.31,-0.01l0.26,-0.17l0.15,1.9l-1.44,-0.02l-0.94,-1.28l-0.94,-1.1l-0.17,-0.1l-1.76,-0.33l-0.5,-1.18l-0.42,-0.15l-1.44,0.75l-1.79,-0.32l-0.77,-1.05l-0.2,-0.12l-1.59,-0.23l-0.97,0.04l-0.1,-0.53l-0.27,-0.25l-0.86,-0.06l-1.13,-0.15l-1.62,0.37l-1.04,-0.06l-0.32,0.09l0.11,-2.56l-0.08,-0.21l-0.77,-0.87l-0.17,-1.41l0.36,-1.47l-0.03,-0.21l-0.48,-0.91l-0.04,-1.52l-0.3,-0.29l-2.65,0.02l0.13,-0.53l-0.29,-0.37l-1.28,0.01l-0.28,0.21l-0.07,0.24l-1.35,0.09l-0.26,0.18l-0.62,1.45l-0.25,0.42l-1.17,-0.3l-0.19,0.01l-0.79,0.34l-1.44,0.18l-1.41,-1.96l-0.7,-1.47l-0.61,-1.86l-0.28,-0.21l-7.39,-0.03l-0.92,0.3l-0.78,-0.03l-0.78,0.25l-0.11,-0.25l0.35,-0.15l0.18,-0.26l0.07,-1.02l0.33,-0.52l0.72,-0.42l0.52,0.2l0.33,-0.08l0.76,-0.86l0.99,0.02l0.11,0.48l0.16,0.2l0.94,0.44l0.35,-0.07l1.46,-1.56l1.44,-1.21l0.68,-0.85l0.06,-0.2l-0.08,-1.99l1.04,-2.33l1.1,-1.23l1.62,-1.19l0.11,-0.14l0.29,-0.8l0.08,-0.94l0.38,-0.82l0.03,-0.16l-0.13,-1.38l0.3,-2.16l0.47,-1.51l0.73,-1.31l0.04,-0.12l0.15,-1.51l0.21,-1.66l0.89,-1.16l1.16,-0.7l1.9,0.79l1.69,0.95l1.81,0.24l1.85,0.48l0.35,-0.16l0.71,-1.43l0.16,-0.09l1.03,0.23l0.19,-0.02l2.65,-1.19l0.86,0.46l0.17,0.03l0.81,-0.08l0.23,-0.14l0.31,-0.5l0.75,-0.17l1.83,0.26l1.64,0.06l0.72,-0.21l1.39,1.9l0.16,0.11l1.12,0.3l0.24,-0.04l0.58,-0.36l1.05,0.15l0.15,-0.02l1.15,-0.44l0.47,0.84l0.08,0.09l2.08,1.57Z", "name": "Democratic Republic of the Congo"}, "CZ": {"path": "M463.29,152.22l-0.88,-0.47l-0.18,-0.03l-1.08,0.15l-1.86,-0.94l-0.21,-0.02l-0.88,0.24l-0.13,0.07l-1.25,1.17l-1.63,-0.91l-1.38,-1.36l-1.22,-0.75l-0.24,-1.24l-0.33,-0.75l1.53,-0.6l0.98,-0.84l1.74,-0.62l0.11,-0.07l0.47,-0.47l0.46,0.27l0.24,0.03l0.96,-0.3l1.06,0.95l0.15,0.07l1.57,0.24l-0.1,0.6l0.16,0.32l1.36,0.68l0.41,-0.15l0.28,-0.62l1.29,0.28l0.19,0.84l0.26,0.23l1.73,0.18l0.74,1.02l-0.17,0.0l-0.25,0.13l-0.32,0.49l-0.46,0.11l-0.22,0.23l-0.13,0.57l-0.32,0.1l-0.2,0.22l-0.03,0.14l-0.65,0.25l-1.05,-0.05l-0.28,0.17l-0.22,0.43Z", "name": "Czech Republic"}, "CY": {"path": "M505.03,193.75l-1.51,0.68l-1.0,-0.3l-0.32,-0.63l0.69,-0.06l0.41,0.13l0.19,-0.0l0.62,-0.22l0.31,0.02l0.06,0.22l0.49,0.17l0.06,-0.01Z", "name": "Cyprus"}, "CR": {"path": "M213.0,263.84l-0.98,-0.4l-0.3,-0.31l0.16,-0.24l0.05,-0.21l-0.09,-0.56l-0.1,-0.18l-0.76,-0.65l-0.99,-0.5l-0.74,-0.28l-0.13,-0.58l-0.12,-0.18l-0.66,-0.45l-0.34,-0.0l-0.13,0.31l0.13,0.59l-0.17,0.21l-0.34,-0.42l-0.14,-0.1l-0.7,-0.22l-0.23,-0.34l0.01,-0.62l0.31,-0.74l-0.14,-0.38l-0.3,-0.15l0.47,-0.4l1.48,0.6l0.26,-0.02l0.47,-0.27l0.58,0.15l0.35,0.44l0.17,0.11l0.74,0.17l0.27,-0.07l0.3,-0.27l0.52,1.09l0.97,1.02l0.77,0.71l-0.41,0.1l-0.23,0.3l0.01,1.02l0.12,0.24l0.2,0.14l-0.07,0.05l-0.11,0.3l0.08,0.37l-0.23,0.63Z", "name": "Costa Rica"}, "CU": {"path": "M215.01,226.09l2.08,0.18l1.94,0.03l2.24,0.86l0.95,0.92l0.25,0.08l2.22,-0.28l0.79,0.55l3.68,2.81l0.19,0.06l0.77,-0.03l1.18,0.42l-0.12,0.47l0.27,0.37l1.78,0.1l1.59,0.9l-0.11,0.22l-1.5,0.3l-1.64,0.13l-1.75,-0.2l-2.69,0.19l1.0,-0.86l-0.03,-0.48l-1.02,-0.68l-0.13,-0.05l-1.52,-0.16l-0.74,-0.64l-0.57,-1.42l-0.3,-0.19l-1.36,0.1l-2.23,-0.67l-0.71,-0.52l-0.14,-0.06l-3.2,-0.4l-0.42,-0.25l0.56,-0.39l0.12,-0.33l-0.27,-0.22l-2.46,-0.13l-0.2,0.06l-1.72,1.31l-0.94,0.03l-0.25,0.15l-0.29,0.53l-1.04,0.24l-0.29,-0.07l0.7,-0.43l0.1,-0.11l0.5,-0.87l1.04,-0.54l1.23,-0.49l1.86,-0.25l0.62,-0.28Z", "name": "Cuba"}, "SZ": {"path": "M500.95,353.41l-0.41,0.97l-1.16,0.23l-1.29,-1.26l-0.02,-0.71l0.63,-0.93l0.23,-0.7l0.47,-0.12l1.04,0.4l0.32,1.05l0.2,1.08Z", "name": "Swaziland"}, "SY": {"path": "M510.84,199.83l0.09,-0.11l0.07,-0.2l-0.04,-1.08l0.56,-1.4l1.3,-1.01l0.1,-0.34l-0.41,-1.11l-0.24,-0.19l-0.89,-0.11l-0.2,-1.84l0.55,-1.05l1.3,-1.22l0.09,-0.19l0.09,-1.09l0.39,0.27l0.25,0.04l2.66,-0.77l1.35,0.52l2.06,-0.01l2.93,-1.08l1.35,0.04l2.14,-0.34l-0.83,1.16l-1.31,0.68l-0.16,0.3l0.23,2.03l-0.9,3.25l-5.43,2.87l-4.79,2.91l-2.32,-0.92Z", "name": "Syria"}, "KG": {"path": "M599.04,172.15l0.38,-0.9l1.43,-0.37l4.04,1.02l0.37,-0.23l0.36,-1.64l1.17,-0.52l3.45,1.24l0.2,-0.0l0.86,-0.31l4.09,0.08l3.61,0.31l1.18,1.02l0.11,0.06l1.19,0.34l-0.13,0.26l-3.84,1.58l-0.13,0.1l-0.81,1.08l-3.08,0.34l-0.24,0.16l-0.85,1.7l-2.43,-0.37l-0.14,0.01l-1.79,0.61l-2.39,1.4l-0.12,0.39l0.25,0.49l-0.48,0.45l-4.57,0.43l-3.04,-0.94l-2.45,0.18l0.14,-1.02l2.42,0.44l0.27,-0.08l0.81,-0.81l1.76,0.27l0.21,-0.05l3.21,-2.14l-0.03,-0.51l-2.97,-1.57l-0.26,-0.01l-1.64,0.69l-1.38,-0.84l1.81,-1.67l-0.09,-0.5l-0.46,-0.18Z", "name": "Kyrgyzstan"}, "KE": {"path": "M523.3,287.04l0.06,0.17l1.29,1.8l-1.46,0.84l-0.11,0.11l-0.55,0.93l-0.81,0.16l-0.24,0.24l-0.34,1.69l-0.81,1.06l-0.46,1.58l-0.76,0.63l-3.3,-2.3l-0.16,-1.32l-0.15,-0.23l-9.35,-5.28l-0.02,-2.4l1.92,-2.63l0.91,-1.83l0.01,-0.24l-1.09,-2.86l-0.29,-1.24l-1.09,-1.63l2.93,-2.85l0.92,0.3l0.0,1.19l0.09,0.22l0.86,0.83l0.21,0.08l1.65,0.0l3.09,2.08l0.16,0.05l0.79,0.03l0.54,-0.06l0.58,0.28l1.67,0.2l0.28,-0.12l0.69,-0.98l2.04,-0.94l0.86,0.73l0.19,0.07l1.1,0.0l-1.82,2.36l-0.06,0.18l0.03,9.12Z", "name": "Kenya"}, "SS": {"path": "M505.7,261.39l0.02,1.64l-0.27,0.55l-1.15,0.05l-0.24,0.15l-0.85,1.44l0.22,0.45l1.44,0.17l1.15,1.12l0.42,0.95l0.14,0.15l1.06,0.54l1.33,2.45l-3.06,2.98l-1.44,1.08l-1.75,0.01l-1.92,0.56l-1.5,-0.53l-0.27,0.03l-0.85,0.57l-1.98,-1.5l-0.56,-1.02l-0.37,-0.13l-1.32,0.5l-1.08,-0.15l-0.2,0.04l-0.56,0.35l-0.9,-0.24l-1.44,-1.97l-0.39,-0.77l-0.13,-0.13l-1.78,-0.94l-0.65,-1.5l-1.08,-1.12l-1.57,-1.22l-0.02,-0.68l-0.12,-0.23l-1.37,-1.02l-1.17,-0.68l0.2,-0.08l0.86,-0.48l0.14,-0.18l0.63,-2.22l0.6,-1.02l1.47,-0.28l0.35,0.56l1.29,1.48l0.14,0.09l0.69,0.22l0.22,-0.02l0.83,-0.4l1.58,0.08l0.26,0.39l0.25,0.13l2.49,0.0l0.3,-0.25l0.06,-0.35l1.13,-0.42l0.18,-0.18l0.22,-0.63l0.68,-0.38l1.95,1.37l0.23,0.05l1.29,-0.26l0.19,-0.12l1.23,-1.8l1.36,-1.37l0.08,-0.25l-0.21,-1.52l-0.06,-0.15l-0.25,-0.3l0.94,-0.08l0.26,-0.21l0.1,-0.32l0.6,0.09l-0.25,1.67l0.3,1.83l0.11,0.19l1.22,0.94l0.25,0.73l-0.04,1.2l0.26,0.31l0.09,0.01Z", "name": "South Sudan"}, "SR": {"path": "M278.1,270.26l2.71,0.45l0.31,-0.14l0.19,-0.32l1.82,-0.16l2.25,0.56l-1.09,1.81l-0.04,0.19l0.2,1.72l0.05,0.13l0.9,1.35l-0.39,0.99l-0.21,1.09l-0.48,0.8l-1.2,-0.44l-0.17,-0.01l-1.12,0.24l-0.95,-0.21l-0.35,0.2l-0.25,0.73l0.05,0.29l0.3,0.35l-0.06,0.13l-1.01,-0.15l-1.42,-2.03l-0.32,-1.36l-0.29,-0.23l-0.63,-0.0l-0.95,-1.56l0.41,-1.16l0.01,-0.17l-0.08,-0.35l1.29,-0.56l0.18,-0.22l0.35,-1.97Z", "name": "Suriname"}, "KH": {"path": "M680.28,257.89l-0.93,-1.2l-1.24,-2.56l-0.56,-2.9l1.45,-1.92l3.07,-0.46l2.26,0.35l2.03,0.98l0.38,-0.11l1.0,-1.55l1.86,0.79l0.52,1.51l-0.28,2.82l-4.05,1.88l-0.12,0.45l0.79,1.1l-2.2,0.17l-2.08,0.98l-1.89,-0.33Z", "name": "Cambodia"}, "SV": {"path": "M197.02,248.89l0.18,-0.05l0.59,0.17l0.55,0.51l0.64,0.35l0.06,0.22l0.37,0.21l1.01,-0.28l0.38,0.13l0.16,0.13l-0.14,0.81l-0.18,0.38l-1.22,-0.03l-0.84,-0.23l-1.11,-0.52l-1.31,-0.15l-0.49,-0.38l0.02,-0.08l0.76,-0.57l0.46,-0.27l0.11,-0.35Z", "name": "El Salvador"}, "SK": {"path": "M468.01,150.02l0.05,0.07l0.36,0.1l0.85,-0.37l1.12,1.02l0.33,0.05l1.38,-0.65l1.07,0.3l0.16,0.0l1.69,-0.43l1.95,1.02l-0.51,0.64l-0.45,1.2l-0.32,0.2l-2.55,-0.93l-0.17,-0.01l-0.82,0.2l-0.17,0.11l-0.53,0.68l-0.94,0.32l-0.14,-0.11l-0.29,-0.04l-1.18,0.48l-0.95,0.09l-0.26,0.21l-0.15,0.47l-1.84,0.34l-0.82,-0.31l-1.14,-0.73l-0.2,-0.89l0.42,-0.84l0.91,0.05l0.12,-0.02l0.86,-0.33l0.18,-0.21l0.03,-0.13l0.32,-0.1l0.2,-0.22l0.12,-0.55l0.39,-0.1l0.18,-0.13l0.3,-0.45l0.43,-0.0Z", "name": "Slovakia"}, "KR": {"path": "M737.31,185.72l0.84,0.08l0.27,-0.12l0.89,-1.2l1.63,-0.13l1.1,-0.2l0.21,-0.16l0.12,-0.24l1.86,2.95l0.59,1.79l0.02,3.17l-0.84,1.38l-2.23,0.55l-1.95,1.14l-1.91,0.21l-0.22,-1.21l0.45,-2.07l-0.01,-0.17l-0.99,-2.67l1.54,-0.4l0.17,-0.46l-1.55,-2.24Z", "name": "South Korea"}, "SI": {"path": "M455.77,159.59l1.79,0.21l0.18,-0.04l1.2,-0.68l2.12,-0.08l0.21,-0.1l0.38,-0.42l0.1,0.01l0.28,0.62l-1.71,0.71l-0.18,0.22l-0.21,1.1l-0.71,0.26l-0.2,0.28l0.01,0.55l-0.59,-0.04l-0.79,-0.47l-0.38,0.06l-0.36,0.41l-0.84,-0.05l0.05,-0.15l-0.56,-1.24l0.21,-1.17Z", "name": "Slovenia"}, "KP": {"path": "M747.76,172.02l-0.23,-0.04l-0.26,0.08l-1.09,1.02l-0.78,1.06l-0.06,0.19l0.09,1.95l-1.12,0.57l-0.53,0.58l-0.88,0.82l-1.69,0.51l-1.09,0.79l-0.12,0.22l-0.07,1.17l-0.22,0.25l0.09,0.47l0.96,0.46l1.22,1.1l-0.19,0.37l-0.91,0.16l-1.75,0.14l-0.22,0.12l-0.87,1.18l-0.95,-0.09l-0.3,0.18l-0.97,-0.44l-0.39,0.13l-0.25,0.44l-0.29,0.09l-0.03,-0.2l-0.18,-0.23l-0.62,-0.25l-0.43,-0.29l0.52,-0.97l0.52,-0.3l0.13,-0.38l-0.18,-0.42l0.59,-1.47l0.01,-0.21l-0.16,-0.48l-0.22,-0.2l-1.41,-0.31l-0.82,-0.55l1.74,-1.62l2.73,-1.58l1.62,-1.96l0.96,0.76l0.17,0.06l2.17,0.11l0.31,-0.37l-0.32,-1.31l3.61,-1.21l0.16,-0.13l0.79,-1.34l1.25,1.38Z", "name": "North Korea"}, "SO": {"path": "M543.8,256.48l0.61,-0.05l1.14,-0.37l1.31,-0.25l0.12,-0.05l1.11,-0.81l0.57,-0.0l0.03,0.39l-0.23,1.49l0.01,1.25l-0.52,0.92l-0.7,2.71l-1.19,2.79l-1.54,3.2l-2.13,3.66l-2.12,2.79l-2.92,3.39l-2.47,2.0l-3.76,2.5l-2.33,1.9l-2.77,3.06l-0.61,1.35l-0.28,0.29l-1.22,-1.69l-0.03,-8.92l2.12,-2.76l0.59,-0.68l1.47,-0.04l0.18,-0.06l2.15,-1.71l3.16,-0.11l0.21,-0.09l7.08,-7.55l1.76,-2.12l1.14,-1.57l0.06,-0.18l0.01,-4.67Z", "name": "Somalia"}, "SN": {"path": "M379.28,250.34l-0.95,-1.82l-0.09,-0.1l-0.83,-0.6l0.62,-0.28l0.13,-0.11l1.21,-1.8l0.6,-1.31l0.71,-0.68l1.09,0.2l0.18,-0.02l1.17,-0.53l1.25,-0.03l1.17,0.73l1.59,0.65l1.47,1.83l1.59,1.7l0.12,1.56l0.49,1.46l0.1,0.14l0.85,0.65l0.18,0.82l-0.08,0.57l-0.13,0.05l-1.29,-0.19l-0.29,0.13l-0.11,0.16l-0.35,0.04l-1.83,-0.61l-5.84,-0.13l-0.12,0.02l-0.6,0.26l-0.87,-0.06l-1.01,0.32l-0.26,-1.26l1.9,0.04l0.16,-0.04l0.54,-0.32l0.37,-0.02l0.15,-0.05l0.78,-0.5l0.92,0.46l0.12,0.03l1.09,0.04l0.15,-0.03l1.08,-0.57l0.11,-0.44l-0.51,-0.74l-0.39,-0.1l-0.76,0.39l-0.62,-0.01l-0.92,-0.58l-0.18,-0.05l-0.79,0.04l-0.2,0.09l-0.48,0.51l-2.41,0.06Z", "name": "Senegal"}, "SL": {"path": "M392.19,267.53l-0.44,-0.12l-1.73,-0.97l-1.24,-1.28l-0.4,-0.84l-0.27,-1.65l1.21,-1.0l0.09,-0.12l0.27,-0.66l0.32,-0.41l0.56,-0.05l0.16,-0.07l0.5,-0.41l1.75,0.0l0.59,0.77l0.49,0.96l-0.07,0.64l0.04,0.19l0.36,0.58l-0.03,0.84l0.24,0.2l-0.64,0.65l-1.13,1.37l-0.06,0.14l-0.12,0.66l-0.43,0.58Z", "name": "Sierra Leone"}, "SB": {"path": "M826.74,311.51l0.23,0.29l-0.95,-0.01l-0.39,-0.63l0.65,0.27l0.45,0.09ZM825.01,308.52l-1.18,-1.39l-0.37,-1.06l0.24,0.0l0.82,1.84l0.49,0.6ZM823.21,309.42l-0.44,0.03l-1.43,-0.24l-0.32,-0.24l0.08,-0.5l1.29,0.31l0.72,0.47l0.11,0.18ZM817.9,303.81l2.59,1.44l0.3,0.41l-1.21,-0.66l-1.34,-0.89l-0.34,-0.3ZM813.77,302.4l0.48,0.34l0.1,0.08l-0.33,-0.17l-0.25,-0.25Z", "name": "Solomon Islands"}, "SA": {"path": "M528.24,243.1l-0.2,-0.69l-0.07,-0.12l-0.69,-0.71l-0.18,-0.94l-0.12,-0.19l-1.24,-0.89l-1.28,-2.09l-0.7,-2.08l-0.07,-0.11l-1.73,-1.79l-0.11,-0.07l-1.03,-0.39l-1.57,-2.36l-0.27,-1.72l0.1,-1.53l-0.03,-0.15l-1.44,-2.93l-1.25,-1.13l-1.34,-0.56l-0.72,-1.33l0.11,-0.49l-0.02,-0.2l-0.7,-1.38l-0.08,-0.1l-0.68,-0.56l-0.97,-1.98l-2.8,-4.03l-0.25,-0.13l-0.85,0.01l0.29,-1.11l0.12,-0.97l0.23,-0.81l2.52,0.39l0.23,-0.06l1.08,-0.84l0.6,-0.95l1.78,-0.35l0.22,-0.17l0.37,-0.83l0.74,-0.42l0.08,-0.46l-2.17,-2.4l4.55,-1.26l0.12,-0.06l0.36,-0.32l2.83,0.71l3.67,1.91l7.04,5.5l0.17,0.06l4.64,0.22l2.06,0.24l0.55,1.15l0.28,0.17l1.56,-0.06l0.9,2.15l0.14,0.15l1.14,0.57l0.39,0.85l0.11,0.13l1.59,1.06l0.12,0.91l-0.23,0.83l0.01,0.18l0.32,0.9l0.07,0.11l0.68,0.7l0.33,0.86l0.37,0.65l0.09,0.1l0.76,0.53l0.25,0.04l0.45,-0.12l0.35,0.75l0.1,0.63l0.96,2.68l0.23,0.19l7.53,1.33l0.27,-0.09l0.24,-0.26l0.87,1.41l-1.58,4.96l-7.34,2.54l-7.28,1.02l-2.34,1.17l-0.12,0.1l-1.74,2.63l-0.86,0.32l-0.49,-0.68l-0.28,-0.12l-0.92,0.12l-2.32,-0.25l-0.41,-0.23l-0.15,-0.04l-2.89,0.06l-0.63,0.2l-0.91,-0.59l-0.43,0.11l-0.66,1.27l-0.03,0.21l0.21,0.89l-0.6,0.45Z", "name": "Saudi Arabia"}, "SE": {"path": "M476.42,90.44l-0.15,0.1l-2.43,2.86l-0.07,0.24l0.36,2.31l-3.84,3.1l-4.83,3.38l-0.11,0.15l-1.82,5.45l0.03,0.26l1.78,2.68l2.27,1.99l-2.13,3.88l-2.49,0.82l-0.2,0.24l-0.95,6.05l-1.32,3.09l-2.82,-0.32l-0.3,0.16l-1.34,2.64l-2.48,0.14l-0.76,-3.15l-2.09,-4.04l-1.85,-5.01l1.03,-1.98l2.06,-2.53l0.06,-0.13l0.83,-4.45l-0.06,-0.25l-1.54,-1.86l-0.15,-5.0l1.52,-3.48l2.28,0.06l0.27,-0.16l0.87,-1.59l-0.01,-0.31l-0.8,-1.21l3.79,-5.63l4.07,-7.54l2.23,0.01l0.29,-0.22l0.59,-2.15l4.46,0.66l0.34,-0.26l0.34,-2.64l1.21,-0.14l3.24,2.08l3.78,2.85l0.06,6.37l0.03,0.14l0.67,1.29l-3.95,1.07Z", "name": "Sweden"}, "SD": {"path": "M505.98,259.75l-0.31,-0.9l-0.1,-0.14l-1.2,-0.93l-0.27,-1.66l0.29,-1.83l-0.25,-0.34l-1.16,-0.17l-0.33,0.21l-0.11,0.37l-1.3,0.11l-0.21,0.49l0.55,0.68l0.18,1.29l-1.31,1.33l-1.18,1.72l-1.04,0.21l-2.0,-1.4l-0.32,-0.02l-0.95,0.52l-0.14,0.16l-0.21,0.6l-1.16,0.43l-0.19,0.23l-0.04,0.27l-2.08,0.0l-0.25,-0.39l-0.24,-0.13l-1.81,-0.09l-0.14,0.03l-0.8,0.38l-0.49,-0.16l-1.22,-1.39l-0.42,-0.67l-0.31,-0.14l-1.81,0.35l-0.2,0.14l-0.72,1.24l-0.61,2.14l-0.73,0.4l-0.62,0.22l-0.83,-0.68l-0.12,-0.6l0.38,-0.97l0.01,-1.14l-0.08,-0.2l-1.39,-1.53l-0.25,-0.97l0.03,-0.57l-0.11,-0.25l-0.81,-0.66l-0.03,-1.34l-0.04,-0.14l-0.52,-0.98l-0.31,-0.15l-0.42,0.07l0.12,-0.44l0.63,-1.03l0.03,-0.23l-0.24,-0.88l0.69,-0.66l0.02,-0.41l-0.4,-0.46l0.58,-1.39l1.04,-1.71l1.97,0.16l0.32,-0.3l-0.12,-10.24l0.02,-0.8l2.59,-0.01l0.3,-0.3l0.0,-4.92l29.19,0.0l0.68,2.17l-0.4,0.35l-0.1,0.27l0.36,2.69l0.93,3.15l0.12,0.16l2.05,1.4l-0.99,1.15l-1.75,0.4l-0.15,0.08l-0.79,0.79l-0.08,0.17l-0.24,1.69l-1.07,3.75l-0.0,0.16l0.25,0.96l-0.38,2.1l-0.98,2.41l-1.52,1.3l-1.07,1.94l-0.25,0.99l-1.08,0.64l-0.13,0.18l-0.46,1.65Z", "name": "Sudan"}, "DO": {"path": "M241.7,234.97l0.15,-0.22l1.73,0.01l1.43,0.64l0.15,0.03l0.45,-0.04l0.36,0.74l0.28,0.17l1.02,-0.04l-0.04,0.43l0.27,0.33l1.03,0.09l0.91,0.7l-0.57,0.64l-0.99,-0.47l-0.16,-0.03l-1.11,0.11l-0.79,-0.12l-0.26,0.09l-0.38,0.4l-0.66,0.11l-0.28,-0.45l-0.38,-0.12l-0.83,0.37l-0.14,0.13l-0.85,1.49l-0.27,-0.17l-0.1,-0.58l0.05,-0.67l-0.07,-0.21l-0.44,-0.53l0.35,-0.25l0.12,-0.19l0.19,-1.0l-0.2,-1.4Z", "name": "Dominican Republic"}, "DJ": {"path": "M528.78,253.36l0.34,0.45l-0.06,0.76l-1.26,0.54l-0.05,0.53l0.82,0.53l-0.57,0.83l-0.3,-0.25l-0.27,-0.05l-0.56,0.17l-1.07,-0.03l-0.04,-0.56l-0.16,-0.56l0.76,-1.07l0.76,-0.97l0.89,0.18l0.25,-0.06l0.51,-0.42Z", "name": "Djibouti"}, "DK": {"path": "M452.4,129.07l-1.27,2.39l-2.25,-1.69l-0.26,-1.08l3.15,-1.0l0.63,1.39ZM447.87,126.25l-0.35,0.76l-0.47,-0.24l-0.38,0.09l-1.8,2.53l-0.03,0.29l0.56,1.4l-1.22,0.4l-1.68,-0.41l-0.92,-1.76l-0.07,-3.47l0.38,-0.88l0.62,-0.93l2.07,-0.21l0.19,-0.1l0.84,-0.95l1.5,-0.76l-0.06,1.26l-0.7,1.1l-0.03,0.25l0.3,1.0l0.18,0.19l1.06,0.42Z", "name": "Denmark"}, "DE": {"path": "M445.51,131.69l0.03,0.94l0.21,0.28l2.32,0.74l-0.02,1.0l0.37,0.3l2.55,-0.65l1.36,-0.89l2.63,1.27l1.09,1.01l0.51,1.51l-0.6,0.78l-0.0,0.36l0.88,1.17l0.58,1.68l-0.18,1.08l0.03,0.18l0.87,1.81l-0.66,0.2l-0.55,-0.32l-0.36,0.05l-0.58,0.58l-1.73,0.62l-0.99,0.84l-1.77,0.7l-0.16,0.4l0.42,0.94l0.26,1.34l0.14,0.2l1.25,0.76l1.22,1.2l-0.71,1.2l-0.81,0.37l-0.17,0.32l0.34,1.99l-0.04,0.09l-0.47,-0.39l-0.17,-0.07l-1.2,-0.1l-1.85,0.57l-2.15,-0.13l-0.29,0.18l-0.21,0.5l-0.96,-0.67l-0.24,-0.05l-0.67,0.16l-2.6,-0.94l-0.34,0.1l-0.42,0.57l-1.64,-0.02l0.26,-1.88l1.24,-2.15l-0.21,-0.45l-3.54,-0.58l-0.98,-0.71l0.12,-1.26l-0.05,-0.2l-0.44,-0.64l0.27,-2.18l-0.38,-3.14l1.17,-0.0l0.27,-0.17l0.63,-1.26l0.65,-3.17l-0.02,-0.17l-0.41,-1.0l0.32,-0.47l1.77,-0.16l0.37,0.6l0.47,0.06l1.7,-1.69l0.06,-0.33l-0.55,-1.24l-0.09,-1.51l1.5,0.36l0.16,-0.01l1.22,-0.4Z", "name": "Germany"}, "YE": {"path": "M553.53,242.65l-1.51,0.58l-0.17,0.16l-0.48,1.14l-0.07,0.79l-2.31,1.0l-3.98,1.19l-2.28,1.8l-0.97,0.12l-0.7,-0.14l-0.23,0.05l-1.42,1.03l-1.51,0.47l-2.07,0.13l-0.68,0.15l-0.17,0.1l-0.49,0.6l-0.57,0.16l-0.18,0.13l-0.3,0.49l-1.06,-0.05l-0.13,0.02l-0.73,0.32l-1.48,-0.11l-0.55,-1.26l0.07,-1.32l-0.04,-0.16l-0.39,-0.72l-0.48,-1.85l-0.52,-0.79l0.08,-0.02l0.22,-0.36l-0.23,-1.05l0.24,-0.39l0.04,-0.19l-0.09,-0.95l0.96,-0.72l0.11,-0.31l-0.23,-0.98l0.46,-0.88l0.75,0.49l0.26,0.03l0.63,-0.22l2.76,-0.06l0.5,0.25l2.42,0.26l0.85,-0.11l0.52,0.71l0.35,0.1l1.17,-0.43l0.15,-0.12l1.75,-2.64l2.22,-1.11l6.95,-0.96l2.55,5.58Z", "name": "Yemen"}, "AT": {"path": "M463.17,154.15l-0.14,0.99l-1.15,0.01l-0.24,0.47l0.39,0.56l-0.75,1.84l-0.36,0.4l-2.06,0.07l-0.14,0.04l-1.18,0.67l-1.96,-0.23l-3.43,-0.78l-0.5,-0.97l-0.33,-0.16l-2.47,0.55l-0.2,0.16l-0.18,0.37l-1.27,-0.38l-1.28,-0.09l-0.81,-0.41l0.25,-0.51l0.03,-0.18l-0.05,-0.28l0.35,-0.08l1.16,0.81l0.45,-0.13l0.27,-0.64l2.0,0.12l1.84,-0.57l1.05,0.09l0.71,0.59l0.47,-0.11l0.23,-0.54l0.02,-0.17l-0.32,-1.85l0.69,-0.31l0.13,-0.12l0.73,-1.23l1.61,0.89l0.35,-0.04l1.35,-1.27l0.7,-0.19l1.84,0.93l0.18,0.03l1.08,-0.15l0.81,0.43l-0.07,0.15l-0.02,0.2l0.24,1.06Z", "name": "Austria"}, "DZ": {"path": "M450.58,224.94l-8.31,4.86l-7.23,5.12l-3.46,1.13l-2.42,0.22l-0.02,-1.33l-0.2,-0.28l-1.15,-0.42l-1.45,-0.69l-0.55,-1.13l-0.1,-0.12l-8.45,-5.72l-17.72,-12.17l0.03,-0.38l-0.02,-3.21l3.84,-1.91l2.46,-0.41l2.1,-0.75l0.14,-0.11l0.9,-1.3l2.84,-1.06l0.19,-0.27l0.09,-1.81l1.21,-0.2l0.15,-0.07l1.06,-0.96l3.19,-0.46l0.23,-0.18l0.46,-1.08l-0.08,-0.34l-0.6,-0.54l-0.83,-2.85l-0.18,-1.8l-0.82,-1.57l2.13,-1.37l2.65,-0.49l0.13,-0.05l1.55,-1.15l2.34,-0.85l4.2,-0.51l4.07,-0.23l1.21,0.41l0.23,-0.01l2.3,-1.11l2.52,-0.02l0.94,0.62l0.2,0.05l1.25,-0.13l-0.36,1.03l-0.01,0.14l0.39,2.66l-0.56,2.2l-1.49,1.52l-0.08,0.24l0.22,2.12l0.11,0.2l1.94,1.58l0.02,0.54l0.12,0.23l1.45,1.06l1.04,4.85l0.81,2.42l0.13,1.19l-0.43,2.17l0.17,1.28l-0.31,1.53l0.2,1.56l-0.9,1.02l-0.01,0.38l1.43,1.88l0.09,1.06l0.04,0.13l0.89,1.48l0.37,0.12l1.03,-0.43l1.79,1.12l0.89,1.34Z", "name": "Algeria"}, "US": {"path": "M892.64,99.05l1.16,0.57l0.21,0.02l1.45,-0.38l1.92,0.99l2.17,0.47l-1.65,0.72l-1.75,-0.79l-0.93,-0.7l-0.21,-0.06l-2.11,0.22l-0.35,-0.2l0.09,-0.87ZM183.29,150.37l0.39,1.54l0.12,0.17l0.78,0.55l0.14,0.05l1.74,0.2l2.52,0.5l2.4,0.98l0.17,0.02l1.96,-0.4l3.01,0.81l0.91,-0.02l2.22,-0.88l4.67,2.33l3.86,2.01l0.21,0.71l0.15,0.18l0.33,0.17l-0.02,0.05l0.23,0.43l0.67,0.1l0.21,-0.05l0.1,-0.07l0.05,0.29l0.09,0.16l0.5,0.5l0.21,0.09l0.56,0.0l0.13,0.13l-0.2,0.36l0.12,0.41l2.49,1.39l0.99,5.24l-0.69,1.68l-1.16,1.64l-0.6,1.18l-0.06,0.31l0.04,0.22l0.28,0.43l0.11,0.1l0.85,0.47l0.15,0.04l0.63,0.0l0.14,-0.04l2.87,-1.58l2.6,-0.49l3.28,-1.5l0.17,-0.23l0.04,-0.43l-0.23,-0.93l-0.24,-0.39l0.74,-0.32l4.7,-0.01l0.25,-0.13l0.77,-1.15l2.9,-2.41l1.04,-0.52l8.35,-0.02l0.28,-0.21l0.2,-0.6l0.7,-0.14l1.06,-0.48l0.13,-0.11l0.92,-1.49l0.75,-2.39l1.67,-2.08l0.59,0.6l0.3,0.07l1.52,-0.49l0.88,0.72l-0.0,4.14l0.08,0.2l1.6,1.72l0.31,0.72l-2.42,1.35l-2.55,1.05l-2.64,0.9l-0.14,0.11l-1.33,1.81l-0.44,0.7l-0.05,0.15l-0.03,1.6l0.03,0.14l0.83,1.59l0.24,0.16l0.78,0.06l-1.15,0.33l-1.25,-0.04l-1.83,0.52l-2.51,0.29l-2.17,0.88l-0.17,0.36l0.33,0.22l3.55,-0.54l0.15,0.11l-2.87,0.73l-1.19,0.0l-0.16,-0.33l-0.36,0.06l-0.76,0.82l0.17,0.5l0.42,0.08l-0.45,1.75l-1.4,1.74l-0.04,-0.17l-0.21,-0.22l-0.48,-0.13l-0.77,-0.69l-0.36,-0.03l-0.12,0.34l0.52,1.58l0.09,0.14l0.52,0.43l0.03,0.87l-0.74,1.05l-0.39,0.63l0.05,-0.12l-0.08,-0.34l-1.19,-1.03l-0.28,-2.31l-0.26,-0.26l-0.32,0.19l-0.48,1.27l-0.01,0.19l0.39,1.33l-1.14,-0.31l-0.36,0.18l0.14,0.38l1.57,0.85l0.1,2.58l0.22,0.28l0.55,0.15l0.21,0.81l0.33,2.72l-1.46,1.94l-2.5,0.81l-0.12,0.07l-1.58,1.58l-1.15,0.17l-0.15,0.06l-1.27,1.03l-0.09,0.13l-0.32,0.85l-2.71,1.79l-1.45,1.37l-1.18,1.64l-0.05,0.12l-0.39,1.96l0.0,0.13l0.44,1.91l0.85,2.37l1.1,1.91l0.03,1.2l1.16,3.07l-0.08,1.74l-0.1,0.99l-0.57,1.48l-0.54,0.24l-0.97,-0.26l-0.34,-1.02l-0.12,-0.16l-0.89,-0.58l-2.44,-4.28l-0.34,-0.94l0.49,-1.71l-0.02,-0.21l-0.7,-1.5l-2.0,-2.35l-0.11,-0.08l-0.98,-0.42l-0.25,0.01l-2.42,1.19l-0.26,-0.08l-1.26,-1.29l-1.57,-0.68l-0.16,-0.02l-2.79,0.34l-2.18,-0.3l-1.98,0.19l-1.12,0.45l-0.14,0.44l0.4,0.65l-0.04,1.02l0.09,0.22l0.29,0.3l-0.06,0.05l-0.77,-0.33l-0.26,0.01l-0.87,0.48l-1.64,-0.08l-1.79,-1.39l-0.23,-0.06l-2.11,0.33l-1.75,-0.61l-0.14,-0.01l-1.61,0.2l-2.11,0.64l-0.11,0.06l-2.25,1.99l-2.53,1.21l-1.43,1.38l-0.58,1.22l-0.03,0.12l-0.03,1.86l0.13,1.32l0.3,0.62l-0.46,0.04l-1.71,-0.57l-1.85,-0.79l-0.63,-1.14l-0.54,-1.85l-0.07,-0.12l-1.45,-1.51l-0.86,-1.58l-1.26,-1.87l-0.09,-0.09l-1.76,-1.09l-0.17,-0.04l-2.05,0.05l-0.23,0.12l-1.44,1.97l-1.84,-0.72l-1.19,-0.76l-0.6,-1.45l-0.9,-1.52l-1.49,-1.21l-1.27,-0.87l-0.89,-0.96l-0.22,-0.1l-4.34,-0.0l-0.3,0.3l-0.0,0.84l-6.62,0.02l-5.66,-1.93l-3.48,-1.24l0.11,-0.25l-0.3,-0.42l-3.18,0.3l-2.6,0.2l-0.35,-1.19l-0.08,-0.13l-1.62,-1.61l-0.13,-0.08l-1.02,-0.29l-0.22,-0.66l-0.25,-0.2l-1.31,-0.13l-0.82,-0.7l-0.16,-0.07l-2.25,-0.27l-0.48,-0.34l-0.28,-1.44l-0.07,-0.14l-2.41,-2.84l-2.03,-3.89l0.08,-0.58l-0.1,-0.27l-1.08,-0.94l-1.87,-2.36l-0.33,-2.31l-0.07,-0.15l-1.24,-1.5l0.52,-2.4l-0.09,-2.57l-0.78,-2.3l0.96,-2.83l0.61,-5.66l-0.46,-4.26l-0.79,-2.71l-0.68,-1.4l0.13,-0.26l3.24,0.97l1.28,2.88l0.52,0.06l0.62,-0.84l0.06,-0.22l-0.4,-2.61l-0.74,-2.29l68.9,-0.0l0.3,-0.3l0.01,-0.95l0.32,-0.01ZM32.5,67.43l1.75,1.99l0.41,0.04l1.02,-0.81l3.79,0.25l-0.1,0.72l0.24,0.34l3.83,0.77l2.6,-0.44l5.21,1.41l4.84,0.43l1.9,0.57l0.15,0.01l3.25,-0.71l3.72,1.32l2.52,0.58l-0.03,38.14l0.29,0.3l2.41,0.11l2.34,1.0l1.7,1.59l2.22,2.42l0.42,0.03l2.41,-2.04l2.25,-1.08l1.23,1.76l1.71,1.53l2.24,1.62l1.54,2.56l2.56,4.09l0.11,0.11l4.1,2.17l0.06,1.93l-1.12,1.35l-1.22,-1.14l-2.08,-1.05l-0.68,-2.94l-0.09,-0.16l-3.18,-2.84l-1.32,-3.35l-0.25,-0.19l-2.43,-0.24l-3.93,-0.09l-2.85,-1.02l-5.24,-3.85l-6.77,-2.04l-3.52,0.3l-4.84,-1.7l-2.96,-1.6l-0.23,-0.02l-2.78,0.8l-0.21,0.35l0.46,2.31l-1.11,0.19l-2.9,0.78l-2.24,1.26l-2.42,0.68l-0.29,-1.79l1.07,-3.49l2.54,-1.11l0.12,-0.45l-0.69,-0.96l-0.41,-0.07l-3.19,2.12l-1.76,2.54l-3.57,2.62l-0.03,0.46l1.63,1.59l-2.14,2.38l-2.64,1.49l-2.49,1.09l-0.16,0.17l-0.58,1.48l-3.8,1.79l-0.14,0.14l-0.75,1.57l-2.75,1.41l-1.62,-0.25l-0.16,0.02l-2.35,0.98l-2.54,1.19l-2.06,1.15l-4.05,0.93l-0.1,-0.15l2.45,-1.45l2.49,-1.1l2.61,-1.88l3.03,-0.39l0.19,-0.1l1.2,-1.41l3.43,-2.11l0.61,-0.75l1.81,-1.24l0.13,-0.2l0.42,-2.7l1.24,-2.12l-0.03,-0.35l-0.34,-0.09l-2.73,1.05l-0.67,-0.53l-0.39,0.02l-1.13,1.11l-1.43,-1.62l-0.49,0.06l-0.41,0.8l-0.67,-1.31l-0.42,-0.12l-2.43,1.43l-1.18,-0.0l-0.18,-1.86l0.43,-1.3l-0.09,-0.33l-1.61,-1.33l-0.26,-0.06l-3.11,0.68l-2.0,-1.66l-1.61,-0.85l-0.01,-1.97l-0.11,-0.23l-1.76,-1.48l0.86,-1.96l2.01,-2.13l0.88,-1.94l1.79,-0.25l1.65,0.6l0.31,-0.06l1.91,-1.8l1.67,0.31l0.22,-0.04l1.91,-1.23l0.13,-0.33l-0.47,-1.82l-0.15,-0.19l-1.0,-0.52l1.51,-1.27l0.09,-0.34l-0.29,-0.19l-1.62,0.06l-2.66,0.88l-0.13,0.09l-0.62,0.72l-1.77,-0.8l-0.16,-0.02l-3.48,0.44l-3.5,-0.92l-1.06,-1.61l-2.78,-2.09l3.07,-1.51l5.52,-2.01l1.65,0.0l-0.28,1.73l0.31,0.35l5.29,-0.16l0.23,-0.49l-2.03,-2.59l-0.1,-0.08l-3.03,-1.58l-1.79,-2.12l-2.4,-1.83l-3.18,-1.27l1.13,-1.84l4.28,-0.14l0.15,-0.05l3.16,-2.0l0.13,-0.17l0.57,-2.07l2.43,-2.02l2.42,-0.52l4.67,-1.98l2.22,0.29l0.2,-0.04l3.74,-2.37l3.57,0.91ZM37.66,123.49l-2.31,1.26l-1.04,-0.75l-0.31,-1.35l2.06,-1.16l1.24,-0.51l1.48,0.22l0.76,0.81l-1.89,1.49ZM30.89,233.84l1.2,0.57l0.35,0.3l0.48,0.69l-1.6,0.86l-0.3,0.31l-0.24,-0.14l0.05,-0.54l-0.02,-0.15l-0.36,-0.83l0.05,-0.12l0.39,-0.38l0.07,-0.31l-0.09,-0.27ZM29.06,231.89l0.5,0.14l0.31,0.19l-0.46,0.1l-0.34,-0.43ZM25.02,230.13l0.2,-0.11l0.4,0.47l-0.43,-0.05l-0.17,-0.31ZM21.29,228.68l0.1,-0.07l0.22,0.02l0.02,0.21l-0.02,0.02l-0.32,-0.18ZM6.0,113.33l-1.19,0.45l-1.5,-0.64l-0.94,-0.63l1.76,-0.46l1.71,0.29l0.16,0.98Z", "name": "United States of America"}, "UY": {"path": "M276.9,363.17l1.3,-0.23l2.4,2.04l0.22,0.07l0.82,-0.07l2.48,1.7l1.93,1.5l1.28,1.67l-0.95,1.14l-0.04,0.31l0.63,1.45l-0.96,1.57l-2.65,1.47l-1.73,-0.53l-0.15,-0.01l-1.25,0.28l-2.22,-1.16l-0.16,-0.03l-1.56,0.08l-1.33,-1.36l0.17,-1.58l0.48,-0.55l0.07,-0.2l-0.02,-2.74l0.66,-2.8l0.57,-2.02Z", "name": "Uruguay"}, "LB": {"path": "M510.44,198.11l-0.48,0.03l-0.26,0.17l-0.15,0.32l-0.21,-0.0l0.72,-1.85l1.19,-1.9l0.74,0.09l0.27,0.73l-1.19,0.93l-0.09,0.13l-0.54,1.36Z", "name": "Lebanon"}, "LA": {"path": "M684.87,248.8l0.61,-0.86l0.05,-0.16l0.11,-2.17l-0.08,-0.22l-1.96,-2.16l-0.15,-2.44l-0.08,-0.18l-1.9,-2.1l-0.19,-0.1l-1.89,-0.18l-0.29,0.15l-0.42,0.76l-1.21,0.06l-0.67,-0.41l-0.31,-0.0l-2.2,1.29l-0.05,-1.77l0.61,-2.7l-0.27,-0.37l-1.44,-0.1l-0.12,-1.31l-0.12,-0.21l-0.87,-0.65l0.38,-0.68l1.76,-1.41l0.08,0.22l0.27,0.2l1.33,0.07l0.31,-0.34l-0.35,-2.75l0.85,-0.25l1.32,1.88l1.11,2.36l0.27,0.17l2.89,0.02l0.78,1.82l-1.32,0.56l-0.12,0.09l-0.72,0.93l0.1,0.45l2.93,1.52l3.62,5.27l1.88,1.78l0.58,1.67l-0.38,2.11l-1.87,-0.79l-0.37,0.11l-0.99,1.54l-1.51,-0.73Z", "name": "Laos"}, "TW": {"path": "M725.6,222.5l-1.5,4.22l-0.82,1.65l-1.01,-1.7l-0.26,-1.8l1.4,-2.48l1.8,-1.81l0.76,0.53l-0.38,1.39Z", "name": "Taiwan"}, "TT": {"path": "M266.35,259.46l0.41,-0.39l0.09,-0.23l-0.04,-0.75l1.14,-0.26l0.2,0.03l-0.07,1.37l-1.73,0.23Z", "name": "Trinidad and Tobago"}, "TR": {"path": "M513.25,175.38l3.63,1.17l0.14,0.01l2.88,-0.45l2.11,0.26l0.18,-0.03l2.9,-1.53l2.51,-0.13l2.25,1.37l0.36,0.88l-0.23,1.36l0.19,0.33l1.81,0.72l0.61,0.53l-1.31,0.64l-0.16,0.34l0.76,3.24l-0.44,0.8l0.01,0.3l1.19,2.02l-0.71,0.29l-0.74,-0.62l-0.15,-0.07l-2.91,-0.37l-0.15,0.02l-1.04,0.43l-2.78,0.44l-1.44,-0.03l-2.83,1.06l-1.95,0.01l-1.28,-0.52l-0.2,-0.01l-2.62,0.76l-0.7,-0.48l-0.47,0.22l-0.13,1.49l-1.01,0.94l-0.58,-0.82l0.79,-0.9l0.04,-0.34l-0.31,-0.15l-1.46,0.23l-2.03,-0.64l-0.3,0.07l-1.65,1.58l-3.58,0.3l-1.94,-1.47l-0.17,-0.06l-2.7,-0.1l-0.28,0.17l-0.51,1.06l-1.47,0.29l-2.32,-1.46l-0.17,-0.05l-2.55,0.05l-1.4,-2.7l-1.72,-1.54l1.11,-2.06l-0.07,-0.37l-1.35,-1.19l2.47,-2.51l3.74,-0.11l0.26,-0.17l0.96,-2.07l4.56,0.38l0.19,-0.05l2.97,-1.92l2.84,-0.83l4.03,-0.06l4.31,2.08ZM488.85,176.8l-1.81,1.38l-0.57,-1.01l0.02,-0.36l0.45,-0.25l0.13,-0.15l0.78,-1.87l-0.11,-0.37l-0.72,-0.47l1.91,-0.71l1.89,0.35l0.25,0.97l0.17,0.2l1.87,0.83l-0.19,0.31l-2.82,0.16l-0.18,0.07l-1.06,0.91Z", "name": "Turkey"}, "LK": {"path": "M625.44,266.07l-0.35,2.4l-0.9,0.61l-1.91,0.5l-1.04,-1.75l-0.43,-3.5l1.0,-3.6l1.34,1.09l1.13,1.72l1.16,2.52Z", "name": "Sri Lanka"}, "TN": {"path": "M444.91,206.18l-0.99,-4.57l-0.12,-0.18l-1.43,-1.04l-0.02,-0.53l-0.11,-0.22l-1.95,-1.59l-0.19,-1.85l1.44,-1.47l0.08,-0.14l0.59,-2.34l-0.38,-2.77l0.44,-1.28l2.52,-1.08l1.41,0.28l-0.06,1.2l0.43,0.28l1.81,-0.9l0.02,0.06l-1.14,1.28l-0.08,0.2l-0.02,1.32l0.11,0.24l0.74,0.6l-0.29,2.18l-1.56,1.35l-0.09,0.32l0.48,1.54l0.28,0.21l1.11,0.04l0.55,1.17l0.15,0.14l0.76,0.35l-0.12,1.79l-1.1,0.72l-0.8,0.91l-1.68,1.04l-0.13,0.32l0.25,1.08l-0.18,0.96l-0.74,0.39Z", "name": "Tunisia"}, "TL": {"path": "M734.21,307.22l0.17,-0.34l1.99,-0.52l1.72,-0.08l0.78,-0.3l0.29,0.1l-0.43,0.32l-2.57,1.09l-1.71,0.59l-0.05,-0.49l-0.19,-0.36Z", "name": "East Timor"}, "TM": {"path": "M553.16,173.51l-0.12,1.0l-0.26,-0.65l0.38,-0.34ZM553.54,173.16l0.13,-0.12l0.43,-0.09l-0.56,0.21ZM555.68,172.6l0.65,-0.14l1.53,0.76l1.71,2.29l0.27,0.12l1.27,-0.14l2.81,-0.04l0.29,-0.38l-0.35,-1.27l1.98,-0.97l1.96,-1.63l3.05,1.44l0.25,2.23l0.14,0.22l0.96,0.61l0.18,0.05l2.61,-0.13l0.68,0.44l1.2,2.97l0.1,0.13l2.85,2.03l1.67,1.41l2.66,1.45l3.13,1.17l-0.05,1.23l-0.36,-0.04l-1.12,-0.73l-0.44,0.14l-0.34,0.89l-1.96,0.52l-0.22,0.23l-0.47,2.17l-1.26,0.78l-1.93,0.42l-0.21,0.18l-0.46,1.14l-1.64,0.33l-2.3,-0.97l-0.2,-2.23l-0.28,-0.27l-1.76,-0.1l-2.78,-2.48l-0.15,-0.07l-1.95,-0.31l-2.82,-1.48l-1.78,-0.27l-0.18,0.03l-1.03,0.51l-1.6,-0.08l-0.22,0.08l-1.72,1.6l-1.83,0.46l-0.39,-1.7l0.36,-3.0l-0.16,-0.3l-1.73,-0.88l0.57,-1.77l-0.25,-0.39l-1.33,-0.14l0.41,-1.85l2.05,0.63l0.21,-0.01l2.2,-0.95l0.09,-0.49l-1.78,-1.75l-0.69,-1.66l-0.07,-0.03Z", "name": "Turkmenistan"}, "TJ": {"path": "M597.99,178.71l-0.23,0.23l-2.57,-0.47l-0.35,0.25l-0.24,1.7l0.32,0.34l2.66,-0.22l3.15,0.95l4.47,-0.42l0.58,2.45l0.39,0.21l0.71,-0.25l1.22,0.53l-0.06,1.01l0.29,1.28l-2.19,-0.0l-1.71,-0.21l-0.23,0.07l-1.51,1.25l-1.05,0.27l-0.77,0.51l-0.71,-0.67l0.22,-2.28l-0.24,-0.32l-0.43,-0.08l0.17,-0.57l-0.16,-0.36l-1.36,-0.66l-0.34,0.05l-1.08,1.01l-0.09,0.15l-0.25,1.09l-0.24,0.26l-1.36,-0.05l-0.27,0.14l-0.65,1.06l-0.58,-0.39l-0.3,-0.02l-1.68,0.86l-0.36,-0.16l1.28,-2.65l0.02,-0.2l-0.54,-2.17l-0.18,-0.21l-1.53,-0.58l0.41,-0.82l1.89,0.13l0.26,-0.12l1.19,-1.63l0.77,-1.82l2.66,-0.55l-0.33,0.87l0.01,0.23l0.36,0.82l0.3,0.18l0.23,-0.02Z", "name": "Tajikistan"}, "LS": {"path": "M493.32,359.69l0.69,0.65l-0.65,1.12l-0.38,0.8l-1.27,0.39l-0.18,0.15l-0.4,0.77l-0.59,0.18l-1.59,-1.78l1.16,-1.5l1.3,-1.02l0.97,-0.46l0.94,0.72Z", "name": "Lesotho"}, "TH": {"path": "M677.42,253.68l-1.7,-0.88l-0.14,-0.03l-1.77,0.04l0.3,-1.64l-0.3,-0.35l-2.21,0.01l-0.3,0.28l-0.2,2.76l-2.15,5.9l-0.02,0.13l0.17,1.83l0.28,0.27l1.45,0.07l0.93,2.1l0.44,2.15l0.08,0.15l1.4,1.44l0.16,0.09l1.43,0.27l1.04,1.05l-0.58,0.73l-1.24,0.22l-0.15,-0.99l-0.15,-0.22l-2.04,-1.1l-0.36,0.06l-0.23,0.23l-0.72,-0.71l-0.41,-1.18l-0.06,-0.11l-1.33,-1.42l-1.22,-1.2l-0.5,0.13l-0.15,0.54l-0.14,-0.41l0.26,-1.48l0.73,-2.38l1.2,-2.57l1.37,-2.35l0.02,-0.27l-0.95,-2.26l0.03,-1.19l-0.29,-1.42l-0.06,-0.13l-1.65,-2.0l-0.46,-0.99l0.62,-0.34l0.13,-0.15l0.92,-2.23l-0.02,-0.27l-1.05,-1.74l-1.57,-1.86l-1.04,-1.96l0.76,-0.34l0.16,-0.16l1.07,-2.63l1.58,-0.1l0.16,-0.06l1.43,-1.11l1.24,-0.52l0.84,0.62l0.13,1.43l0.28,0.27l1.34,0.09l-0.54,2.39l0.05,2.39l0.45,0.25l2.48,-1.45l0.6,0.36l0.17,0.04l1.47,-0.07l0.25,-0.15l0.41,-0.73l1.58,0.15l1.76,1.93l0.15,2.44l0.08,0.18l1.94,2.15l-0.1,1.96l-0.66,0.93l-2.25,-0.34l-3.24,0.49l-0.19,0.12l-1.6,2.12l-0.06,0.24l0.48,2.46Z", "name": "Thailand"}, "TF": {"path": "M593.76,417.73l1.38,0.84l2.15,0.37l0.04,0.31l-0.59,1.24l-3.36,0.19l-0.05,-1.38l0.43,-1.56Z", "name": "French Southern and Antarctic Lands"}, "TG": {"path": "M425.23,269.29l-1.49,0.4l-0.43,-0.68l-0.64,-1.54l-0.18,-1.16l0.54,-2.21l-0.04,-0.24l-0.59,-0.86l-0.23,-1.9l0.0,-1.82l-0.07,-0.19l-0.95,-1.19l0.1,-0.41l1.58,0.04l-0.23,0.97l0.08,0.28l1.55,1.55l0.09,1.13l0.08,0.19l0.42,0.43l-0.11,5.66l0.52,1.53Z", "name": "Togo"}, "TD": {"path": "M457.57,252.46l0.23,-1.08l-0.28,-0.36l-1.32,-0.05l0.0,-1.35l-0.1,-0.22l-0.9,-0.82l0.99,-3.1l3.12,-2.37l0.12,-0.23l0.13,-3.33l0.95,-5.2l0.53,-1.09l-0.07,-0.36l-0.94,-0.81l-0.03,-0.7l-0.12,-0.23l-0.84,-0.61l-0.57,-3.76l2.21,-1.26l19.67,9.88l0.12,9.74l-1.83,-0.15l-0.28,0.14l-1.14,1.89l-0.68,1.62l0.05,0.31l0.33,0.38l-0.61,0.58l-0.08,0.3l0.25,0.93l-0.58,0.95l-0.29,1.01l0.34,0.37l0.67,-0.11l0.39,0.73l0.03,1.4l0.11,0.23l0.8,0.65l-0.01,0.24l-1.38,0.37l-0.11,0.06l-1.27,1.03l-1.83,2.76l-2.21,1.1l-2.34,-0.15l-0.82,0.25l-0.2,0.37l0.19,0.68l-1.16,0.79l-1.01,0.94l-2.92,0.89l-0.5,-0.46l-0.17,-0.08l-0.41,-0.05l-0.28,0.12l-0.38,0.54l-1.36,0.12l0.1,-0.18l0.01,-0.27l-0.78,-1.72l-0.35,-1.03l-0.17,-0.18l-1.03,-0.41l-1.29,-1.28l0.36,-0.78l0.9,0.2l0.14,-0.0l0.67,-0.17l1.36,0.02l0.26,-0.45l-1.32,-2.22l0.09,-1.64l-0.17,-1.68l-0.04,-0.13l-0.93,-1.53Z", "name": "Chad"}, "LY": {"path": "M457.99,226.38l-1.57,0.87l-1.25,-1.28l-0.13,-0.08l-3.85,-1.11l-1.04,-1.57l-0.09,-0.09l-1.98,-1.23l-0.27,-0.02l-0.93,0.39l-0.72,-1.2l-0.09,-1.07l-0.06,-0.16l-1.33,-1.75l0.83,-0.94l0.07,-0.24l-0.21,-1.64l0.31,-1.43l-0.17,-1.29l0.43,-2.26l-0.15,-1.33l-0.73,-2.18l0.99,-0.52l0.16,-0.21l0.22,-1.16l-0.22,-1.06l1.54,-0.95l0.81,-0.92l1.19,-0.78l0.14,-0.23l0.12,-1.76l2.57,0.84l0.16,0.01l0.99,-0.23l2.01,0.45l3.19,1.2l1.12,2.36l0.2,0.16l2.24,0.53l3.5,1.14l2.65,1.36l0.29,-0.01l1.22,-0.71l1.27,-1.32l0.07,-0.29l-0.55,-2.0l0.69,-1.19l1.7,-1.23l1.61,-0.35l3.2,0.54l0.78,1.14l0.24,0.13l0.85,0.01l0.84,0.47l2.35,0.31l0.42,0.63l-0.79,1.16l-0.04,0.26l0.35,1.08l-0.61,1.6l-0.0,0.2l0.73,2.16l0.0,24.24l-2.58,0.01l-0.3,0.29l-0.02,0.62l-19.55,-9.83l-0.28,0.01l-2.53,1.44Z", "name": "Libya"}, "AE": {"path": "M550.59,223.8l0.12,0.08l1.92,-0.41l3.54,0.15l0.23,-0.09l1.71,-1.79l1.86,-1.7l1.31,-1.36l0.26,0.5l0.28,1.72l-0.93,0.01l-0.3,0.26l-0.21,1.73l0.11,0.27l0.08,0.06l-0.7,0.32l-0.17,0.27l-0.01,0.99l-0.68,1.02l-0.05,0.15l-0.06,0.96l-0.32,0.36l-7.19,-1.27l-0.79,-2.22Z", "name": "United Arab Emirates"}, "VE": {"path": "M240.66,256.5l0.65,0.91l-0.03,1.13l-1.05,1.39l-0.03,0.31l0.95,2.0l0.32,0.17l1.08,-0.16l0.24,-0.21l0.56,-1.83l-0.06,-0.29l-0.71,-0.81l-0.1,-1.58l2.9,-0.96l0.19,-0.37l-0.29,-1.02l0.45,-0.41l0.72,1.43l0.26,0.16l1.65,0.04l1.46,1.27l0.08,0.72l0.3,0.27l2.28,0.02l2.55,-0.25l1.34,1.06l0.14,0.06l1.92,0.31l0.2,-0.03l1.4,-0.79l0.15,-0.25l0.02,-0.36l2.82,-0.14l1.17,-0.01l-0.41,0.14l-0.14,0.46l0.86,1.19l0.22,0.12l1.93,0.18l1.73,1.13l0.37,1.9l0.31,0.24l1.21,-0.05l0.52,0.32l-1.63,1.21l-0.11,0.17l-0.22,0.92l0.07,0.27l0.63,0.69l-0.31,0.24l-1.48,0.39l-0.22,0.3l0.04,1.03l-0.59,0.6l-0.01,0.41l1.67,1.87l0.23,0.48l-0.72,0.76l-2.71,0.91l-1.78,0.39l-0.13,0.06l-0.6,0.49l-1.84,-0.58l-1.89,-0.33l-0.18,0.03l-0.47,0.23l-0.02,0.53l0.96,0.56l-0.08,1.58l0.35,1.58l0.26,0.23l1.91,0.19l0.02,0.07l-1.54,0.62l-0.18,0.2l-0.25,0.92l-0.88,0.35l-1.85,0.58l-0.16,0.13l-0.4,0.64l-1.66,0.14l-1.22,-1.18l-0.79,-2.52l-0.67,-0.88l-0.66,-0.43l0.99,-0.98l0.09,-0.26l-0.09,-0.56l-0.08,-0.16l-0.66,-0.69l-0.47,-1.54l0.18,-1.67l0.55,-0.85l0.45,-1.35l-0.15,-0.36l-0.89,-0.43l-0.19,-0.02l-1.39,0.28l-1.76,-0.13l-0.92,0.23l-1.64,-2.01l-0.17,-0.1l-1.54,-0.33l-3.05,0.23l-0.5,-0.73l-0.15,-0.12l-0.45,-0.15l-0.05,-0.28l0.28,-0.86l0.01,-0.15l-0.2,-1.01l-0.08,-0.15l-0.5,-0.5l-0.3,-1.08l-0.25,-0.22l-0.89,-0.12l0.54,-1.18l0.29,-1.73l0.66,-0.85l0.94,-0.7l0.09,-0.11l0.3,-0.6Z", "name": "Venezuela"}, "AF": {"path": "M574.42,192.1l2.24,0.95l0.18,0.02l1.89,-0.38l0.22,-0.18l0.46,-1.14l1.82,-0.4l1.5,-0.91l0.14,-0.19l0.46,-2.12l1.93,-0.51l0.2,-0.18l0.26,-0.68l0.87,0.57l0.13,0.05l0.79,0.09l1.35,0.02l1.83,0.59l0.75,0.34l0.26,-0.01l1.66,-0.85l0.7,0.46l0.42,-0.09l0.72,-1.17l1.32,0.05l0.23,-0.1l0.39,-0.43l0.07,-0.14l0.24,-1.08l0.86,-0.81l0.94,0.46l-0.2,0.64l0.23,0.38l0.49,0.09l-0.21,2.15l0.09,0.25l0.99,0.94l0.38,0.03l0.83,-0.57l1.06,-0.27l0.12,-0.06l1.46,-1.21l1.63,0.2l2.4,0.0l0.17,0.32l-1.12,0.25l-1.23,0.52l-2.86,0.33l-2.69,0.6l-0.13,0.06l-1.46,1.25l-0.07,0.36l0.58,1.18l0.25,1.21l-1.13,1.08l-0.09,0.25l0.09,0.98l-0.53,0.79l-2.22,-0.08l-0.28,0.44l0.83,1.57l-1.3,0.58l-0.13,0.11l-1.06,1.69l-0.05,0.18l0.13,1.51l-0.73,0.58l-0.78,-0.22l-0.14,-0.01l-1.91,0.36l-0.23,0.19l-0.2,0.57l-1.65,-0.0l-0.22,0.1l-1.4,1.56l-0.08,0.19l-0.08,2.13l-2.99,1.05l-1.67,-0.23l-0.27,0.1l-0.39,0.46l-1.43,-0.31l-2.43,0.4l-3.69,-1.23l1.96,-2.15l0.08,-0.24l-0.21,-1.78l-0.23,-0.26l-1.69,-0.42l-0.19,-1.62l-0.77,-2.08l0.98,-1.41l-0.14,-0.45l-0.82,-0.31l0.6,-1.79l0.93,-3.21Z", "name": "Afghanistan"}, "IQ": {"path": "M534.42,190.89l0.13,0.14l1.5,0.78l0.15,1.34l-1.13,0.87l-0.11,0.16l-0.58,2.2l0.04,0.24l1.73,2.67l0.12,0.1l2.99,1.49l1.18,1.94l-0.39,1.89l0.29,0.36l0.5,-0.0l0.02,1.17l0.08,0.2l0.83,0.86l-2.36,-0.29l-0.29,0.13l-1.74,2.49l-4.4,-0.21l-7.03,-5.49l-3.73,-1.94l-2.92,-0.74l-0.89,-3.0l5.33,-2.81l0.15,-0.19l0.95,-3.43l-0.2,-2.0l1.19,-0.61l0.11,-0.09l1.23,-1.73l0.92,-0.38l2.75,0.35l0.81,0.68l0.31,0.05l0.94,-0.38l1.5,3.17Z", "name": "Iraq"}, "IS": {"path": "M384.26,87.96l-0.51,2.35l0.08,0.28l2.61,2.58l-2.99,2.83l-7.16,2.72l-2.08,0.7l-9.51,-1.71l1.89,-1.36l-0.07,-0.53l-4.4,-1.59l3.33,-0.59l0.25,-0.32l-0.11,-1.2l-0.25,-0.27l-4.82,-0.88l1.38,-2.2l3.54,-0.57l3.8,2.74l0.33,0.01l3.68,-2.18l3.02,1.12l0.25,-0.02l4.01,-2.18l3.72,0.27Z", "name": "Iceland"}, "IR": {"path": "M556.2,187.5l2.05,-0.52l0.13,-0.07l1.69,-1.57l1.55,0.08l0.15,-0.03l1.02,-0.5l1.64,0.25l2.82,1.48l1.91,0.3l2.8,2.49l0.18,0.08l1.61,0.09l0.19,2.09l-1.0,3.47l-0.69,2.04l0.18,0.38l0.73,0.28l-0.85,1.22l-0.04,0.28l0.81,2.19l0.19,1.72l0.23,0.26l1.69,0.42l0.17,1.43l-2.18,2.39l-0.01,0.4l1.22,1.42l1.0,1.62l0.12,0.11l2.23,1.11l0.06,2.2l0.2,0.27l1.03,0.38l0.14,0.83l-3.38,1.3l-0.18,0.19l-0.87,2.85l-4.44,-0.76l-2.75,-0.62l-2.64,-0.32l-1.01,-3.11l-0.17,-0.19l-1.2,-0.48l-0.18,-0.01l-1.99,0.51l-2.42,1.25l-2.89,-0.84l-2.48,-2.03l-2.41,-0.79l-1.61,-2.47l-1.84,-3.63l-0.36,-0.15l-1.22,0.4l-1.48,-0.84l-0.37,0.06l-0.72,0.82l-1.08,-1.12l-0.02,-1.35l-0.3,-0.29l-0.43,0.0l0.34,-1.64l-0.04,-0.22l-1.29,-2.11l-0.12,-0.11l-3.0,-1.49l-1.62,-2.49l0.52,-1.98l1.18,-0.92l0.11,-0.27l-0.19,-1.66l-0.16,-0.23l-1.55,-0.81l-1.58,-3.33l-1.3,-2.2l0.41,-0.75l0.03,-0.21l-0.73,-3.12l1.2,-0.59l0.35,0.9l1.26,1.35l0.15,0.09l1.81,0.39l0.91,-0.09l0.15,-0.06l2.9,-2.13l0.7,-0.16l0.48,0.56l-0.75,1.26l0.05,0.37l1.56,1.53l0.28,0.08l0.37,-0.09l0.7,1.89l0.21,0.19l2.31,0.59l1.69,1.4l0.15,0.07l3.66,0.49l3.91,-0.76l0.23,-0.19l0.19,-0.52Z", "name": "Iran"}, "AM": {"path": "M530.51,176.08l2.91,-0.39l0.41,0.63l0.11,0.1l0.66,0.36l-0.32,0.47l0.07,0.41l1.1,0.84l-0.53,0.7l0.06,0.42l1.06,0.8l1.01,0.44l0.04,1.56l-0.44,0.04l-0.88,-1.46l0.01,-0.37l-0.3,-0.31l-0.98,0.01l-0.65,-0.69l-0.26,-0.09l-0.38,0.06l-0.97,-0.82l-1.64,-0.65l0.2,-1.2l-0.02,-0.16l-0.28,-0.69Z", "name": "Armenia"}, "IT": {"path": "M451.68,158.58l0.2,0.16l3.3,0.75l-0.22,1.26l0.02,0.18l0.35,0.78l-1.4,-0.32l-0.21,0.03l-2.04,1.1l-0.16,0.29l0.13,1.47l-0.29,0.82l0.02,0.24l0.82,1.57l0.1,0.11l2.28,1.5l1.29,2.53l2.79,2.43l0.2,0.07l1.83,-0.02l0.31,0.34l-0.46,0.39l0.06,0.5l4.06,1.97l2.06,1.49l0.17,0.36l-0.24,0.53l-1.08,-1.07l-0.15,-0.08l-2.18,-0.49l-0.33,0.15l-1.05,1.91l0.11,0.4l1.63,0.98l-0.22,1.12l-0.84,0.14l-0.22,0.15l-1.27,2.38l-0.54,0.12l0.01,-0.47l0.48,-1.46l0.5,-0.58l0.03,-0.35l-0.97,-1.69l-0.76,-1.48l-0.17,-0.15l-0.94,-0.33l-0.68,-1.18l-0.16,-0.13l-1.53,-0.52l-1.03,-1.14l-0.19,-0.1l-1.78,-0.19l-1.88,-1.3l-2.27,-1.94l-1.64,-1.68l-0.76,-2.94l-0.21,-0.21l-1.22,-0.35l-2.01,-1.0l-0.24,-0.01l-1.15,0.42l-0.11,0.07l-1.38,1.36l-0.5,0.11l0.19,-0.87l-0.21,-0.35l-1.19,-0.34l-0.56,-2.06l0.76,-0.82l0.03,-0.36l-0.68,-1.08l0.04,-0.31l0.68,0.42l0.19,0.04l1.21,-0.15l0.14,-0.06l1.18,-0.89l0.25,0.29l0.25,0.1l1.19,-0.1l0.25,-0.18l0.45,-1.04l1.61,0.34l0.19,-0.02l1.1,-0.53l0.17,-0.22l0.15,-0.95l1.19,0.35l0.35,-0.16l0.23,-0.47l2.11,-0.47l0.45,0.89ZM459.35,184.63l-0.71,1.81l0.0,0.23l0.33,0.79l-0.37,1.03l-1.6,-0.91l-1.33,-0.34l-3.24,-1.36l0.23,-0.99l2.73,0.24l3.95,-0.5ZM443.95,175.91l1.26,1.77l-0.31,3.47l-0.82,-0.13l-0.26,0.08l-0.83,0.79l-0.64,-0.52l-0.1,-3.42l-0.44,-1.34l0.91,0.1l0.21,-0.06l1.01,-0.74Z", "name": "Italy"}, "VN": {"path": "M690.8,230.21l-2.86,1.93l-2.09,2.46l-0.06,0.11l-0.55,1.8l0.04,0.26l4.26,6.1l2.31,1.63l1.46,1.97l1.12,4.62l-0.32,4.3l-1.97,1.57l-2.85,1.62l-2.09,2.14l-2.83,2.13l-0.67,-1.19l0.65,-1.58l-0.09,-0.35l-1.47,-1.14l1.67,-0.79l2.57,-0.18l0.22,-0.47l-0.89,-1.24l3.88,-1.8l0.17,-0.24l0.31,-3.05l-0.01,-0.13l-0.56,-1.63l0.44,-2.48l-0.01,-0.15l-0.63,-1.81l-0.08,-0.12l-1.87,-1.77l-3.64,-5.3l-0.11,-0.1l-2.68,-1.39l0.45,-0.59l1.53,-0.65l0.16,-0.39l-0.97,-2.27l-0.27,-0.18l-2.89,-0.02l-1.04,-2.21l-1.28,-1.83l0.96,-0.46l1.97,0.01l2.43,-0.3l0.13,-0.05l1.95,-1.29l1.04,0.85l0.13,0.06l1.98,0.42l-0.32,1.21l0.09,0.3l1.19,1.07l0.12,0.07l1.88,0.51Z", "name": "Vietnam"}, "AR": {"path": "M258.11,341.34l1.4,1.81l0.51,-0.06l0.89,-1.94l2.51,0.1l0.36,0.49l4.6,4.31l0.15,0.08l1.99,0.39l3.01,1.93l2.5,1.01l0.28,0.91l-2.4,3.97l0.17,0.44l2.57,0.74l2.81,0.41l2.09,-0.44l0.14,-0.07l2.27,-2.06l0.09,-0.17l0.38,-2.2l0.88,-0.36l1.05,1.29l-0.04,1.88l-1.98,1.4l-1.72,1.13l-2.84,2.65l-3.34,3.73l-0.07,0.12l-0.63,2.22l-0.67,2.85l0.02,2.73l-0.47,0.54l-0.07,0.17l-0.36,3.28l0.12,0.27l3.03,2.32l-0.31,1.78l0.11,0.29l1.44,1.15l-0.11,1.17l-2.32,3.57l-3.59,1.51l-4.95,0.6l-2.72,-0.29l-0.32,0.38l0.5,1.67l-0.49,2.13l0.01,0.16l0.4,1.29l-1.27,0.88l-2.41,0.39l-2.33,-1.05l-0.31,0.04l-0.97,0.78l-0.11,0.27l0.35,2.98l0.16,0.23l1.69,0.91l0.31,-0.02l1.08,-0.75l0.46,0.96l-2.1,0.88l-2.01,1.89l-0.09,0.18l-0.36,3.05l-0.51,1.42l-2.16,0.01l-0.19,0.07l-1.96,1.59l-0.1,0.15l-0.72,2.34l0.08,0.31l2.46,2.31l0.13,0.07l2.09,0.56l-0.74,2.45l-2.86,1.75l-0.12,0.14l-1.59,3.71l-2.2,1.24l-0.1,0.09l-1.03,1.54l-0.04,0.23l0.81,3.45l0.06,0.13l1.13,1.32l-2.59,-0.57l-5.89,-0.44l-0.92,-1.73l0.05,-2.4l-0.34,-0.3l-1.49,0.19l-0.72,-0.98l-0.2,-3.21l1.79,-1.33l0.1,-0.13l0.79,-2.04l0.02,-0.16l-0.27,-1.52l1.31,-2.69l0.91,-4.15l-0.23,-1.72l0.91,-0.49l0.15,-0.33l-0.27,-1.16l-0.15,-0.2l-0.87,-0.46l0.65,-1.01l-0.04,-0.37l-1.06,-1.09l-0.54,-3.2l0.83,-0.51l0.14,-0.29l-0.42,-3.6l0.58,-2.98l0.64,-2.5l1.41,-1.0l0.12,-0.32l-0.75,-2.8l-0.01,-2.48l1.81,-1.78l0.09,-0.22l-0.06,-2.3l1.39,-2.69l0.03,-0.14l0.01,-2.58l-0.11,-0.24l-0.57,-0.45l-1.1,-4.59l1.49,-2.73l0.04,-0.17l-0.23,-2.59l0.86,-2.38l1.6,-2.48l1.74,-1.65l0.04,-0.39l-0.64,-0.89l0.42,-0.7l0.04,-0.16l-0.08,-4.26l2.55,-1.23l0.16,-0.18l0.86,-2.75l-0.01,-0.22l-0.22,-0.48l1.84,-2.1l3.0,0.59ZM256.77,438.98l-2.1,0.15l-1.18,-1.14l-0.19,-0.08l-1.53,-0.09l-2.38,-0.0l-0.0,-6.28l0.4,0.65l1.25,2.55l0.11,0.12l3.26,2.07l3.19,0.8l-0.82,1.26Z", "name": "Argentina"}, "AU": {"path": "M705.55,353.06l0.09,0.09l0.37,0.05l0.13,-0.35l-0.57,-1.69l0.48,0.3l0.71,0.99l0.34,0.11l0.2,-0.29l-0.04,-1.37l-0.04,-0.14l-1.22,-2.07l-0.28,-0.9l-0.51,-0.69l0.24,-1.33l0.52,-0.7l0.34,-1.32l0.01,-0.13l-0.25,-1.44l0.51,-0.94l0.1,1.03l0.23,0.26l0.32,-0.14l1.01,-1.72l1.94,-0.84l1.27,-1.14l1.84,-0.92l1.0,-0.18l0.6,0.28l0.26,-0.0l1.94,-0.96l1.48,-0.28l0.19,-0.13l0.32,-0.49l0.51,-0.18l1.42,0.05l2.63,-0.76l0.11,-0.06l1.36,-1.15l0.08,-0.1l0.61,-1.33l1.42,-1.27l0.1,-0.19l0.11,-1.03l0.06,-1.32l1.39,-1.74l0.85,1.79l0.4,0.14l1.07,-0.51l0.11,-0.45l-0.77,-1.05l0.53,-0.84l0.86,0.43l0.43,-0.22l0.29,-1.85l1.29,-1.19l0.6,-0.98l1.16,-0.4l0.2,-0.27l0.02,-0.34l0.74,0.2l0.38,-0.27l0.03,-0.44l1.98,-0.61l1.7,1.08l1.36,1.48l0.22,0.1l1.55,0.02l1.57,0.24l0.33,-0.4l-0.48,-1.27l1.09,-1.86l1.06,-0.63l0.1,-0.42l-0.28,-0.46l0.93,-1.24l1.36,-0.8l1.16,0.27l0.14,0.0l2.1,-0.48l0.23,-0.3l-0.05,-1.3l-0.18,-0.26l-1.08,-0.49l0.44,-0.12l1.52,0.58l1.39,1.06l2.11,0.65l0.19,-0.0l0.59,-0.21l1.44,0.72l0.27,0.0l1.37,-0.68l0.84,0.2l0.26,-0.06l0.37,-0.3l0.82,0.89l-0.56,1.14l-0.84,0.91l-0.75,0.07l-0.26,0.38l0.26,0.9l-0.67,1.15l-0.88,1.24l-0.05,0.25l0.18,0.72l0.12,0.17l1.99,1.42l1.96,0.84l1.25,0.86l1.8,1.51l0.19,0.07l0.63,-0.0l1.15,0.58l0.34,0.7l0.17,0.15l2.39,0.88l0.24,-0.02l1.65,-0.88l0.14,-0.16l0.49,-1.37l0.52,-1.19l0.31,-1.39l0.75,-2.02l0.01,-0.19l-0.33,-1.16l0.16,-0.67l0.0,-0.13l-0.28,-1.41l0.3,-1.78l0.42,-0.45l0.05,-0.33l-0.33,-0.73l0.56,-1.25l0.48,-1.39l0.07,-0.69l0.58,-0.59l0.48,0.84l0.17,1.53l0.17,0.24l0.47,0.23l0.09,0.9l0.05,0.14l0.87,1.23l0.17,1.33l-0.09,0.89l0.03,0.15l0.9,2.0l0.43,0.13l1.38,-0.83l0.71,0.92l1.06,0.88l-0.22,0.96l0.0,0.14l0.53,2.2l0.38,1.3l0.15,0.18l0.52,0.26l0.62,2.01l-0.23,1.27l0.02,0.18l0.81,1.76l0.14,0.14l2.69,1.35l3.21,2.21l-0.2,0.4l0.04,0.34l1.39,1.6l0.95,2.78l0.43,0.16l0.79,-0.46l0.85,0.96l0.39,0.05l0.22,-0.15l0.36,2.33l0.09,0.18l1.78,1.63l1.16,1.01l1.9,2.1l0.67,2.05l0.06,1.47l-0.17,1.64l0.03,0.17l1.16,2.22l-0.14,2.28l-0.43,1.24l-0.68,2.44l0.04,1.63l-0.48,1.92l-1.06,2.43l-1.79,1.32l-0.1,0.12l-0.91,2.15l-0.82,1.37l-0.76,2.47l-0.98,1.46l-0.63,2.14l-0.33,2.02l0.1,0.82l-1.21,0.85l-2.71,0.1l-0.13,0.03l-2.31,1.19l-1.21,1.17l-1.34,1.11l-1.89,-1.18l-1.33,-0.46l0.32,-1.24l-0.4,-0.35l-1.46,0.61l-2.06,1.98l-1.99,-0.73l-1.43,-0.46l-1.45,-0.22l-2.32,-0.81l-1.51,-1.67l-0.45,-2.11l-0.6,-1.5l-0.07,-0.11l-1.23,-1.16l-0.16,-0.08l-1.96,-0.28l0.59,-0.99l0.03,-0.24l-0.61,-2.1l-0.54,-0.08l-1.16,1.85l-1.23,0.29l0.73,-0.88l0.06,-0.12l0.37,-1.57l0.93,-1.33l0.05,-0.2l-0.2,-2.07l-0.53,-0.17l-2.01,2.35l-1.52,0.94l-0.12,0.14l-0.82,1.93l-1.5,-0.9l0.07,-1.32l-0.06,-0.2l-1.57,-2.04l-1.15,-0.92l0.3,-0.41l-0.1,-0.44l-3.21,-1.69l-0.13,-0.03l-1.69,-0.08l-2.35,-1.31l-0.16,-0.04l-4.55,0.27l-3.24,0.99l-2.8,0.91l-2.33,-0.18l-0.17,0.03l-2.63,1.41l-2.14,0.64l-0.2,0.19l-0.47,1.42l-0.8,0.99l-1.99,0.06l-1.55,0.24l-2.27,-0.5l-1.79,0.3l-1.71,0.13l-0.19,0.09l-1.38,1.39l-0.58,-0.1l-0.21,0.04l-1.26,0.8l-1.13,0.85l-1.72,-0.1l-1.6,-0.0l-2.58,-1.76l-1.21,-0.49l0.04,-1.19l1.04,-0.32l0.16,-0.12l0.42,-0.64l0.05,-0.19l-0.09,-0.97l0.3,-2.0l-0.28,-1.64l-1.34,-2.84l-0.39,-1.49l0.1,-1.51l-0.04,-0.17l-0.96,-1.72l-0.06,-0.73l-0.09,-0.19l-1.04,-1.01l-0.3,-2.02l-0.05,-0.12l-1.23,-1.83ZM784.95,393.35l2.39,1.01l0.2,0.01l3.26,-0.96l1.19,0.16l0.16,3.19l-0.78,0.95l-0.07,0.16l-0.19,1.83l-0.43,-0.41l-0.44,0.03l-1.61,1.96l-0.4,-0.12l-1.38,-0.09l-1.43,-2.42l-0.37,-2.03l-1.4,-2.53l0.04,-0.94l1.27,0.2Z", "name": "Australia"}, "IL": {"path": "M509.04,199.22l0.71,0.0l0.27,-0.17l0.15,-0.33l0.19,-0.01l0.02,0.73l-0.27,0.34l0.02,0.08l-0.32,0.62l-0.65,-0.27l-0.41,0.19l-0.52,1.85l0.16,0.35l0.14,0.07l-0.17,0.1l-0.14,0.21l-0.11,0.73l0.39,0.33l0.81,-0.26l0.03,0.64l-0.97,3.43l-1.28,-3.67l0.62,-0.78l-0.03,-0.41l0.58,-1.16l0.5,-2.07l0.27,-0.54Z", "name": "Israel"}, "IN": {"path": "M615.84,192.58l2.4,2.97l-0.24,2.17l0.05,0.2l0.94,1.35l-0.06,0.97l-1.46,-0.3l-0.35,0.36l0.7,3.06l0.12,0.18l2.46,1.75l3.11,1.72l-1.23,0.96l-0.1,0.13l-0.97,2.55l0.16,0.38l2.41,1.02l2.37,1.33l3.27,1.52l3.43,0.37l1.37,1.3l0.17,0.08l1.92,0.25l3.0,0.62l2.15,-0.04l0.28,-0.22l0.29,-1.06l0.0,-0.13l-0.32,-1.66l0.16,-0.94l1.0,-0.37l0.23,2.28l0.18,0.24l2.28,1.02l0.2,0.02l1.52,-0.41l2.06,0.18l2.08,-0.08l0.29,-0.27l0.18,-1.66l-0.1,-0.26l-0.53,-0.44l1.38,-0.23l0.15,-0.07l2.26,-2.0l2.75,-1.65l1.97,0.63l0.25,-0.03l1.54,-0.99l0.89,1.28l-0.72,0.97l0.2,0.48l2.49,0.37l0.11,0.61l-0.69,0.39l-0.15,0.3l0.15,1.22l-1.36,-0.37l-0.23,0.03l-3.24,1.86l-0.15,0.28l0.07,1.44l-1.33,2.16l-0.04,0.13l-0.12,1.24l-0.98,1.91l-1.72,-0.53l-0.39,0.28l-0.09,2.66l-0.52,0.83l-0.04,0.23l0.21,0.89l-0.71,0.36l-1.21,-3.85l-0.29,-0.21l-0.69,0.01l-0.29,0.23l-0.28,1.17l-0.84,-0.84l0.6,-1.17l0.97,-0.13l0.23,-0.16l1.15,-2.25l-0.18,-0.42l-1.54,-0.47l-2.3,0.04l-2.13,-0.33l-0.19,-1.63l-0.26,-0.26l-1.13,-0.13l-1.93,-1.13l-0.42,0.13l-0.88,1.82l0.08,0.37l1.47,1.15l-1.21,0.77l-0.1,0.1l-0.56,0.97l0.13,0.42l1.31,0.61l-0.36,1.35l0.01,0.2l0.85,1.95l0.37,2.05l-0.26,0.68l-1.55,-0.02l-3.09,0.54l-0.25,0.32l0.13,1.84l-1.21,1.4l-3.64,1.79l-2.79,3.04l-1.86,1.61l-2.48,1.68l-0.13,0.25l-0.0,1.0l-1.07,0.55l-2.21,0.9l-1.13,0.13l-0.25,0.19l-0.75,1.96l-0.02,0.15l0.52,3.31l0.13,2.03l-1.03,2.35l-0.03,0.12l-0.01,4.03l-1.02,0.1l-0.23,0.15l-1.14,1.93l0.04,0.36l0.44,0.48l-1.83,0.57l-0.18,0.15l-0.81,1.65l-0.74,0.53l-2.14,-2.12l-1.14,-3.47l-0.96,-2.57l-0.9,-1.26l-1.3,-2.38l-0.61,-3.14l-0.44,-1.62l-2.29,-3.56l-1.03,-4.94l-0.74,-3.29l0.01,-3.12l-0.49,-2.51l-0.41,-0.22l-3.56,1.53l-1.59,-0.28l-2.96,-2.87l0.94,-0.74l0.06,-0.41l-0.74,-1.03l-2.73,-2.1l1.35,-1.43l5.38,0.01l0.29,-0.36l-0.5,-2.29l-0.09,-0.15l-1.33,-1.28l-0.27,-1.96l-0.12,-0.2l-1.36,-1.0l2.42,-2.48l2.77,0.2l0.24,-0.1l2.62,-2.85l1.59,-2.8l2.41,-2.74l0.07,-0.2l-0.04,-1.82l2.01,-1.51l-0.01,-0.49l-1.95,-1.33l-0.83,-1.81l-0.82,-2.27l0.98,-0.97l3.64,0.66l2.89,-0.42l0.17,-0.08l2.18,-2.15Z", "name": "India"}, "TZ": {"path": "M505.77,287.58l0.36,0.23l8.95,5.03l0.15,1.3l0.13,0.21l3.4,2.37l-1.07,2.88l-0.02,0.14l0.15,1.42l0.15,0.23l1.47,0.84l0.05,0.42l-0.66,1.44l-0.02,0.18l0.13,0.72l-0.16,1.16l0.03,0.19l0.87,1.57l1.03,2.48l0.12,0.14l0.53,0.32l-1.59,1.18l-2.64,0.95l-1.45,-0.04l-0.2,0.07l-0.81,0.69l-1.64,0.06l-0.68,0.3l-2.9,-0.69l-1.71,0.17l-0.65,-3.18l-0.05,-0.12l-1.35,-1.88l-0.19,-0.12l-2.41,-0.46l-1.38,-0.74l-1.63,-0.44l-0.96,-0.41l-0.95,-0.58l-1.31,-3.09l-1.47,-1.46l-0.45,-1.31l0.24,-1.34l-0.39,-1.99l0.71,-0.08l0.18,-0.09l0.91,-0.91l0.98,-1.31l0.59,-0.5l0.11,-0.24l-0.02,-0.81l-0.08,-0.2l-0.47,-0.5l-0.1,-0.67l0.51,-0.23l0.18,-0.25l0.14,-1.47l-0.05,-0.2l-0.76,-1.09l0.45,-0.15l2.71,0.03l5.01,-0.19Z", "name": "Tanzania"}, "AZ": {"path": "M539.36,175.66l0.16,0.09l1.11,0.2l0.32,-0.15l0.4,-0.71l1.22,-0.99l1.11,1.33l1.26,2.09l0.22,0.14l1.06,0.13l0.28,0.29l-1.46,0.17l-0.26,0.24l-0.43,2.26l-0.39,0.92l-0.85,0.63l-0.12,0.25l0.06,1.2l-0.22,0.05l-1.28,-1.25l0.74,-1.25l-0.03,-0.35l-0.74,-0.86l-0.3,-0.1l-1.05,0.27l-2.49,1.82l-0.04,-1.46l-0.18,-0.27l-1.09,-0.47l-0.8,-0.6l0.53,-0.7l-0.06,-0.42l-1.11,-0.84l0.34,-0.51l-0.11,-0.43l-0.89,-0.48l-0.33,-0.49l0.25,-0.2l1.78,0.81l1.35,0.18l0.25,-0.09l0.34,-0.35l0.02,-0.39l-1.04,-1.36l0.28,-0.18l0.49,0.07l1.65,1.74ZM533.53,180.16l0.63,0.67l0.22,0.09l0.8,-0.0l0.04,0.31l0.66,1.09l-0.94,-0.21l-1.16,-1.24l-0.25,-0.71Z", "name": "Azerbaijan"}, "IE": {"path": "M405.17,135.35l0.36,2.16l-1.78,2.84l-4.28,1.91l-3.02,-0.43l1.81,-3.13l0.02,-0.26l-1.23,-3.26l3.24,-2.56l1.54,-1.32l0.37,1.33l-0.49,1.77l0.3,0.38l1.49,-0.05l1.68,0.63Z", "name": "Ireland"}, "ID": {"path": "M756.56,287.86l0.69,4.02l0.15,0.21l2.59,1.5l0.39,-0.07l2.05,-2.61l2.75,-1.45l2.09,-0.0l2.08,0.85l1.85,0.89l2.52,0.46l0.08,15.44l-1.72,-1.6l-0.15,-0.07l-2.54,-0.51l-0.29,0.1l-0.53,0.62l-2.53,0.06l0.78,-1.51l1.48,-0.66l0.17,-0.34l-0.65,-2.74l-1.23,-2.19l-0.14,-0.13l-4.85,-2.13l-2.09,-0.23l-3.7,-2.28l-0.41,0.1l-0.67,1.11l-0.63,0.14l-0.41,-0.67l-0.01,-1.01l-0.14,-0.25l-1.39,-0.89l2.05,-0.69l1.73,0.05l0.29,-0.39l-0.21,-0.66l-0.29,-0.21l-3.5,-0.0l-0.9,-1.36l-0.19,-0.13l-2.14,-0.44l-0.65,-0.76l2.86,-0.51l1.28,-0.79l3.75,0.96l0.32,0.76ZM758.01,300.37l-0.79,1.04l-0.14,-1.07l0.4,-0.81l0.29,-0.47l0.24,0.31l-0.0,1.0ZM747.45,292.9l0.48,1.02l-1.45,-0.69l-2.09,-0.21l-1.45,0.16l-1.28,-0.07l0.35,-0.81l2.86,-0.1l2.58,0.68ZM741.15,285.69l-0.16,-0.25l-0.72,-3.08l0.47,-1.86l0.35,-0.38l0.1,0.73l0.25,0.26l1.28,0.19l0.18,0.78l-0.11,1.8l-0.96,-0.18l-0.35,0.22l-0.38,1.52l0.05,0.24ZM741.19,285.75l0.76,0.97l-0.11,0.05l-0.65,-1.02ZM739.18,293.52l-0.61,0.54l-1.44,-0.38l-0.25,-0.55l1.93,-0.09l0.36,0.48ZM728.4,295.87l-0.27,-0.07l-2.26,0.89l-0.37,-0.41l0.27,-0.8l-0.09,-0.33l-1.68,-1.37l0.17,-2.29l-0.42,-0.3l-1.67,0.76l-0.17,0.29l0.21,2.92l0.09,3.34l-1.22,0.28l-0.78,-0.54l0.65,-2.1l0.01,-0.14l-0.39,-2.42l-0.29,-0.25l-0.86,-0.02l-0.63,-1.4l0.99,-1.61l0.35,-1.97l1.24,-3.73l0.49,-0.96l1.95,-1.7l1.86,0.69l3.16,0.35l2.92,-0.1l0.17,-0.06l2.24,-1.65l0.11,0.14l-1.8,2.22l-1.72,0.44l-2.41,-0.48l-4.21,0.13l-2.19,0.36l-0.25,0.24l-0.36,1.9l0.08,0.27l2.24,2.23l0.4,0.02l1.29,-1.08l3.19,-0.58l-0.19,0.06l-1.04,1.4l-2.13,0.94l-0.12,0.45l2.26,3.06l-0.37,0.69l0.03,0.32l1.51,1.95ZM728.48,295.97l0.59,0.76l-0.02,1.37l-1.0,0.55l-0.64,-0.58l1.09,-1.84l-0.02,-0.26ZM728.64,286.95l0.79,-0.14l-0.07,0.39l-0.72,-0.24ZM732.38,310.1l-1.89,0.49l-0.06,-0.06l0.17,-0.64l1.0,-1.42l2.14,-0.87l0.1,0.2l0.04,0.58l-1.49,1.72ZM728.26,305.71l-0.17,0.63l-3.53,0.67l-3.02,-0.28l-0.0,-0.42l1.66,-0.44l1.47,0.71l0.16,0.03l1.75,-0.21l1.69,-0.69ZM722.98,310.33l-0.74,0.03l-2.52,-1.35l1.42,-0.3l1.19,0.7l0.72,0.63l-0.06,0.28ZM716.24,305.63l0.66,0.49l0.22,0.06l1.35,-0.18l0.31,0.53l-4.18,0.77l-0.8,-0.01l0.51,-0.86l1.2,-0.02l0.24,-0.12l0.49,-0.65ZM715.84,280.21l0.09,0.34l2.25,1.86l-2.25,0.22l-0.24,0.17l-0.84,1.71l-0.03,0.15l0.1,2.11l-2.27,1.62l-0.13,0.24l-0.06,2.46l-0.74,2.92l-0.02,-0.05l-0.39,-0.16l-2.62,1.04l-0.86,-1.33l-0.23,-0.14l-1.71,-0.14l-1.19,-0.76l-0.25,-0.03l-2.78,0.84l-0.79,-1.05l-0.26,-0.12l-1.61,0.13l-1.8,-0.25l-0.36,-3.13l-0.15,-0.23l-1.18,-0.65l-1.13,-2.02l-0.33,-2.1l0.27,-2.19l1.05,-1.17l0.28,1.12l0.1,0.16l1.71,1.41l0.28,0.05l1.55,-0.49l1.54,0.17l0.23,-0.07l1.4,-1.21l1.05,-0.19l2.3,0.68l0.16,0.0l2.04,-0.53l0.21,-0.19l1.26,-3.41l0.91,-0.82l0.09,-0.14l0.8,-2.64l2.63,0.0l1.71,0.33l-1.19,1.89l0.02,0.34l1.74,2.24l-0.37,1.0ZM692.67,302.0l0.26,0.19l4.8,0.25l0.28,-0.16l0.44,-0.83l4.29,1.12l0.85,1.52l0.23,0.15l3.71,0.45l2.37,1.15l-2.06,0.69l-2.77,-1.0l-2.25,0.07l-2.57,-0.18l-2.31,-0.45l-2.94,-0.97l-1.84,-0.25l-0.13,0.01l-0.97,0.29l-4.34,-0.98l-0.38,-0.94l-0.25,-0.19l-1.76,-0.14l1.31,-1.84l2.81,0.14l1.97,0.96l0.95,0.19l0.28,0.74ZM685.63,299.27l-2.36,0.04l-2.07,-2.05l-3.17,-2.02l-1.06,-1.5l-1.88,-2.02l-1.22,-1.85l-1.9,-3.49l-2.2,-2.11l-0.71,-2.08l-0.94,-1.99l-0.1,-0.12l-2.21,-1.54l-1.35,-2.17l-1.86,-1.39l-2.53,-2.68l-0.14,-0.81l1.22,0.08l3.76,0.47l2.16,2.4l1.94,1.7l1.37,1.04l2.35,2.67l0.22,0.1l2.44,0.04l1.99,1.62l1.42,2.06l0.09,0.09l1.67,1.0l-0.88,1.8l0.11,0.39l1.44,0.87l0.13,0.04l0.68,0.05l0.41,1.62l0.87,1.4l0.22,0.14l1.71,0.21l1.06,1.38l-0.61,3.04l-0.09,3.6Z", "name": "Indonesia"}, "UA": {"path": "M500.54,141.42l0.9,0.13l0.27,-0.11l0.52,-0.62l0.68,0.13l2.43,-0.3l1.32,1.57l-0.45,0.48l-0.07,0.26l0.21,1.03l0.27,0.24l1.85,0.15l0.76,1.22l-0.05,0.55l0.2,0.31l3.18,1.15l0.18,0.01l1.75,-0.47l1.42,1.41l0.22,0.09l1.42,-0.03l3.44,0.99l0.02,0.65l-0.97,1.62l-0.03,0.24l0.52,1.67l-0.29,0.79l-2.24,0.22l-0.14,0.05l-1.29,0.89l-0.13,0.23l-0.07,1.16l-1.75,0.22l-0.12,0.04l-1.6,0.98l-2.27,0.16l-0.12,0.04l-2.16,1.17l-0.16,0.29l0.15,1.94l0.14,0.23l1.23,0.75l0.18,0.04l2.06,-0.15l-0.22,0.51l-2.67,0.54l-3.27,1.72l-1.0,-0.45l0.45,-1.19l-0.19,-0.39l-2.34,-0.78l0.15,-0.2l2.32,-1.0l0.09,-0.49l-0.73,-0.72l-0.15,-0.08l-3.69,-0.75l-0.14,-0.96l-0.35,-0.25l-2.32,0.39l-0.21,0.15l-0.91,1.7l-1.77,2.1l-0.93,-0.44l-0.24,-0.0l-1.05,0.45l-0.48,-0.25l0.13,-0.07l0.14,-0.15l0.43,-1.04l0.67,-0.97l0.04,-0.26l-0.1,-0.31l0.04,-0.02l0.11,0.19l0.24,0.15l1.48,0.09l0.78,-0.25l0.07,-0.53l-0.27,-0.19l0.09,-0.25l-0.08,-0.33l-0.81,-0.74l-0.34,-1.24l-0.14,-0.18l-0.73,-0.42l0.15,-0.87l-0.11,-0.29l-1.13,-0.86l-0.15,-0.06l-0.97,-0.11l-1.79,-0.97l-0.2,-0.03l-1.66,0.32l-0.13,0.06l-0.52,0.41l-0.95,-0.0l-0.23,0.11l-0.56,0.66l-1.74,0.29l-0.79,0.43l-1.01,-0.68l-0.16,-0.05l-1.57,-0.01l-1.52,-0.35l-0.23,0.04l-0.71,0.45l-0.09,-0.43l-0.13,-0.19l-1.18,-0.74l0.38,-1.02l0.53,-0.64l0.35,0.12l0.37,-0.41l-0.57,-1.29l2.1,-2.5l1.16,-0.36l0.2,-0.2l0.27,-0.92l-0.01,-0.2l-1.1,-2.52l0.79,-0.09l0.13,-0.05l1.3,-0.86l1.83,-0.07l2.48,0.26l2.84,0.8l1.91,0.06l0.88,0.45l0.29,-0.01l0.72,-0.44l0.49,0.58l0.25,0.11l2.2,-0.16l0.94,0.3l0.39,-0.26l0.15,-1.57l0.61,-0.59l2.01,-0.19Z", "name": "Ukraine"}, "QA": {"path": "M548.47,221.47l-0.15,-1.72l0.59,-1.23l0.38,-0.16l0.54,0.6l0.04,1.4l-0.47,1.37l-0.41,0.11l-0.53,-0.37Z", "name": "Qatar"}, "MZ": {"path": "M507.71,314.14l1.65,-0.18l2.96,0.7l0.2,-0.02l0.6,-0.29l1.68,-0.06l0.18,-0.07l0.8,-0.69l1.5,0.02l2.74,-0.98l1.74,-1.27l0.25,0.7l-0.1,2.47l0.31,2.27l0.1,3.97l0.42,1.24l-0.7,1.71l-0.94,1.73l-1.52,1.52l-5.06,2.21l-2.88,2.8l-1.01,0.51l-1.72,1.81l-0.99,0.58l-0.15,0.23l-0.21,1.86l0.04,0.19l1.17,1.95l0.47,1.47l0.03,0.74l0.39,0.28l0.05,-0.01l-0.06,2.13l-0.39,1.19l0.1,0.33l0.42,0.32l-0.28,0.83l-0.95,0.86l-2.03,0.88l-3.08,1.49l-1.1,0.99l-0.09,0.28l0.21,1.13l0.21,0.23l0.38,0.11l-0.14,0.89l-1.39,-0.02l-0.17,-0.94l-0.38,-1.23l-0.2,-0.89l0.44,-2.91l-0.01,-0.14l-0.65,-1.88l-1.15,-3.55l2.52,-2.85l0.68,-1.89l0.29,-0.18l0.14,-0.2l0.28,-1.53l-0.03,-0.19l-0.36,-0.7l0.1,-1.83l0.49,-1.84l-0.01,-3.26l-0.14,-0.25l-1.3,-0.83l-0.11,-0.04l-1.08,-0.17l-0.47,-0.55l-0.1,-0.08l-1.16,-0.54l-0.13,-0.03l-1.83,0.04l-0.32,-2.25l7.19,-1.99l1.32,1.12l0.29,0.06l0.55,-0.19l0.75,0.49l0.11,0.81l-0.49,1.11l-0.02,0.15l0.19,1.81l0.09,0.18l1.63,1.59l0.48,-0.1l0.72,-1.68l0.99,-0.49l0.17,-0.29l-0.21,-3.29l-0.04,-0.13l-1.11,-1.92l-0.9,-0.82l-0.21,-0.08l-0.62,0.03l-0.63,-2.98l0.61,-1.67Z", "name": "Mozambique"}}, "height": 440.7063107441331, "projection": {"type": "mill", "centralMeridian": 11.5}, "width": 900.0});
/*
 * JavaScript Load Image Meta 1.0.2
 * https://github.com/blueimp/JavaScript-Load-Image
 *
 * Copyright 2013, Sebastian Tschan
 * https://blueimp.net
 *
 * Image meta data handling implementation
 * based on the help and contribution of
 * Achim StÃ¶hr.
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 */

/*jslint continue:true */
/*global define, window, DataView, Blob, Uint8Array, console */

(function (factory) {
    'use strict';
    if (typeof define === 'function' && define.amd) {
        // Register as an anonymous AMD module:
        define(['load-image'], factory);
    } else {
        // Browser globals:
        factory(window.loadImage);
    }
}(function (loadImage) {
    'use strict';

    var hasblobSlice = window.Blob && (Blob.prototype.slice ||
            Blob.prototype.webkitSlice || Blob.prototype.mozSlice);

    loadImage.blobSlice = hasblobSlice && function () {
        var slice = this.slice || this.webkitSlice || this.mozSlice;
        return slice.apply(this, arguments);
    };

    loadImage.metaDataParsers = {
        jpeg: {
            0xffe1: [] // APP1 marker
        }
    };

    // Parses image meta data and calls the callback with an object argument
    // with the following properties:
    // * imageHead: The complete image head as ArrayBuffer (Uint8Array for IE10)
    // The options arguments accepts an object and supports the following properties:
    // * maxMetaDataSize: Defines the maximum number of bytes to parse.
    // * disableImageHead: Disables creating the imageHead property.
    loadImage.parseMetaData = function (file, callback, options) {
        options = options || {};
        var that = this,
            // 256 KiB should contain all EXIF/ICC/IPTC segments:
            maxMetaDataSize = options.maxMetaDataSize || 262144,
            data = {},
            noMetaData = !(window.DataView  && file && file.size >= 12 &&
                file.type === 'image/jpeg' && loadImage.blobSlice);
        if (noMetaData || !loadImage.readFile(
                loadImage.blobSlice.call(file, 0, maxMetaDataSize),
                function (e) {
                    if (e.target.error) {
                        // FileReader error
                        console.log(e.target.error);
                        callback(data);
                        return;
                    }
                    // Note on endianness:
                    // Since the marker and length bytes in JPEG files are always
                    // stored in big endian order, we can leave the endian parameter
                    // of the DataView methods undefined, defaulting to big endian.
                    var buffer = e.target.result,
                        dataView = new DataView(buffer),
                        offset = 2,
                        maxOffset = dataView.byteLength - 4,
                        headLength = offset,
                        markerBytes,
                        markerLength,
                        parsers,
                        i;
                    // Check for the JPEG marker (0xffd8):
                    if (dataView.getUint16(0) === 0xffd8) {
                        while (offset < maxOffset) {
                            markerBytes = dataView.getUint16(offset);
                            // Search for APPn (0xffeN) and COM (0xfffe) markers,
                            // which contain application-specific meta-data like
                            // Exif, ICC and IPTC data and text comments:
                            if ((markerBytes >= 0xffe0 && markerBytes <= 0xffef) ||
                                    markerBytes === 0xfffe) {
                                // The marker bytes (2) are always followed by
                                // the length bytes (2), indicating the length of the
                                // marker segment, which includes the length bytes,
                                // but not the marker bytes, so we add 2:
                                markerLength = dataView.getUint16(offset + 2) + 2;
                                if (offset + markerLength > dataView.byteLength) {
                                    console.log('Invalid meta data: Invalid segment size.');
                                    break;
                                }
                                parsers = loadImage.metaDataParsers.jpeg[markerBytes];
                                if (parsers) {
                                    for (i = 0; i < parsers.length; i += 1) {
                                        parsers[i].call(
                                            that,
                                            dataView,
                                            offset,
                                            markerLength,
                                            data,
                                            options
                                        );
                                    }
                                }
                                offset += markerLength;
                                headLength = offset;
                            } else {
                                // Not an APPn or COM marker, probably safe to
                                // assume that this is the end of the meta data
                                break;
                            }
                        }
                        // Meta length must be longer than JPEG marker (2)
                        // plus APPn marker (2), followed by length bytes (2):
                        if (!options.disableImageHead && headLength > 6) {
                            if (buffer.slice) {
                                data.imageHead = buffer.slice(0, headLength);
                            } else {
                                // Workaround for IE10, which does not yet
                                // support ArrayBuffer.slice:
                                data.imageHead = new Uint8Array(buffer)
                                    .subarray(0, headLength);
                            }
                        }
                    } else {
                        console.log('Invalid JPEG file: Missing JPEG marker.');
                    }
                    callback(data);
                },
                'readAsArrayBuffer'
            )) {
            callback(data);
        }
    };

}));
/*
 * JavaScript Load Image Orientation 1.1.0
 * https://github.com/blueimp/JavaScript-Load-Image
 *a
 * Copyright 2013, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 */

/*global define, window */

(function (factory) {
    'use strict';
    if (typeof define === 'function' && define.amd) {
        // Register as an anonymous AMD module:
        define(['load-image'], factory);
    } else {
        // Browser globals:
        factory(window.loadImage);
    }
}(function (loadImage) {
    'use strict';

    var originalHasCanvasOption = loadImage.hasCanvasOption,
        originalTransformCoordinates = loadImage.transformCoordinates,
        originalGetTransformedOptions = loadImage.getTransformedOptions;

    // This method is used to determine if the target image
    // should be a canvas element:
    loadImage.hasCanvasOption = function (options) {
        return originalHasCanvasOption.call(loadImage, options) ||
            options.orientation;
    };

    // Transform image orientation based on
    // the given EXIF orientation option:
    loadImage.transformCoordinates = function (canvas, options) {
        originalTransformCoordinates.call(loadImage, canvas, options);
        var ctx = canvas.getContext('2d'),
            width = canvas.width,
            height = canvas.height,
            orientation = options.orientation;
        if (!orientation || orientation > 8) {
            return;
        }
        if (orientation > 4) {
            canvas.width = height;
            canvas.height = width;
        }
        switch (orientation) {
        case 2:
            // horizontal flip
            ctx.translate(width, 0);
            ctx.scale(-1, 1);
            break;
        case 3:
            // 180° rotate left
            ctx.translate(width, height);
            ctx.rotate(Math.PI);
            break;
        case 4:
            // vertical flip
            ctx.translate(0, height);
            ctx.scale(1, -1);
            break;
        case 5:
            // vertical flip + 90 rotate right
            ctx.rotate(0.5 * Math.PI);
            ctx.scale(1, -1);
            break;
        case 6:
            // 90° rotate right
            ctx.rotate(0.5 * Math.PI);
            ctx.translate(0, -height);
            break;
        case 7:
            // horizontal flip + 90 rotate right
            ctx.rotate(0.5 * Math.PI);
            ctx.translate(width, -height);
            ctx.scale(-1, 1);
            break;
        case 8:
            // 90° rotate left
            ctx.rotate(-0.5 * Math.PI);
            ctx.translate(-width, 0);
            break;
        }
    };

    // Transforms coordinate and dimension options
    // based on the given orientation option:
    loadImage.getTransformedOptions = function (img, opts) {
        var options = originalGetTransformedOptions.call(loadImage, img, opts),
            orientation = options.orientation,
            newOptions,
            i;
        if (!orientation || orientation > 8 || orientation === 1) {
            return options;
        }
        newOptions = {};
        for (i in options) {
            if (options.hasOwnProperty(i)) {
                newOptions[i] = options[i];
            }
        }
        switch (options.orientation) {
        case 2:
            // horizontal flip
            newOptions.left = options.right;
            newOptions.right = options.left;
            break;
        case 3:
            // 180° rotate left
            newOptions.left = options.right;
            newOptions.top = options.bottom;
            newOptions.right = options.left;
            newOptions.bottom = options.top;
            break;
        case 4:
            // vertical flip
            newOptions.top = options.bottom;
            newOptions.bottom = options.top;
            break;
        case 5:
            // vertical flip + 90 rotate right
            newOptions.left = options.top;
            newOptions.top = options.left;
            newOptions.right = options.bottom;
            newOptions.bottom = options.right;
            break;
        case 6:
            // 90° rotate right
            newOptions.left = options.top;
            newOptions.top = options.right;
            newOptions.right = options.bottom;
            newOptions.bottom = options.left;
            break;
        case 7:
            // horizontal flip + 90 rotate right
            newOptions.left = options.bottom;
            newOptions.top = options.right;
            newOptions.right = options.top;
            newOptions.bottom = options.left;
            break;
        case 8:
            // 90° rotate left
            newOptions.left = options.bottom;
            newOptions.top = options.left;
            newOptions.right = options.top;
            newOptions.bottom = options.right;
            break;
        }
        if (options.orientation > 4) {
            newOptions.maxWidth = options.maxHeight;
            newOptions.maxHeight = options.maxWidth;
            newOptions.minWidth = options.minHeight;
            newOptions.minHeight = options.minWidth;
            newOptions.sourceWidth = options.sourceHeight;
            newOptions.sourceHeight = options.sourceWidth;
        }
        return newOptions;
    };

}));
/*
 * JavaScript Load Image 1.10.0
 * https://github.com/blueimp/JavaScript-Load-Image
 *
 * Copyright 2011, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 */

/*jslint nomen: true */
/*global define, window, document, URL, webkitURL, Blob, File, FileReader */

(function ($) {
    'use strict';

    // Loads an image for a given File object.
    // Invokes the callback with an img or optional canvas
    // element (if supported by the browser) as parameter:
    var loadImage = function (file, callback, options) {
            var img = document.createElement('img'),
                url,
                oUrl;
            img.onerror = callback;
            img.onload = function () {
                if (oUrl && !(options && options.noRevoke)) {
                    loadImage.revokeObjectURL(oUrl);
                }
                if (callback) {
                    callback(loadImage.scale(img, options));
                }
            };
            if (loadImage.isInstanceOf('Blob', file) ||
                    // Files are also Blob instances, but some browsers
                    // (Firefox 3.6) support the File API but not Blobs:
                    loadImage.isInstanceOf('File', file)) {
                url = oUrl = loadImage.createObjectURL(file);
                // Store the file type for resize processing:
                img._type = file.type;
            } else if (typeof file === 'string') {
                url = file;
                if (options && options.crossOrigin) {
                    img.crossOrigin = options.crossOrigin;
                }
            } else {
                return false;
            }
            if (url) {
                img.src = url;
                return img;
            }
            return loadImage.readFile(file, function (e) {
                var target = e.target;
                if (target && target.result) {
                    img.src = target.result;
                } else {
                    if (callback) {
                        callback(e);
                    }
                }
            });
        },
        // The check for URL.revokeObjectURL fixes an issue with Opera 12,
        // which provides URL.createObjectURL but doesn't properly implement it:
        urlAPI = (window.createObjectURL && window) ||
            (window.URL && URL.revokeObjectURL && URL) ||
            (window.webkitURL && webkitURL);

    loadImage.isInstanceOf = function (type, obj) {
        // Cross-frame instanceof check
        return Object.prototype.toString.call(obj) === '[object ' + type + ']';
    };

    // Transform image coordinates, allows to override e.g.
    // the canvas orientation based on the orientation option,
    // gets canvas, options passed as arguments:
    loadImage.transformCoordinates = function () {
        return;
    };

    // Returns transformed options, allows to override e.g.
    // maxWidth, maxHeight and crop options based on the aspectRatio.
    // gets img, options passed as arguments:
    loadImage.getTransformedOptions = function (img, options) {
        var aspectRatio = options.aspectRatio,
            newOptions,
            i,
            width,
            height;
        if (!aspectRatio) {
            return options;
        }
        newOptions = {};
        for (i in options) {
            if (options.hasOwnProperty(i)) {
                newOptions[i] = options[i];
            }
        }
        newOptions.crop = true;
        width = img.naturalWidth || img.width;
        height = img.naturalHeight || img.height;
        if (width / height > aspectRatio) {
            newOptions.maxWidth = height * aspectRatio;
            newOptions.maxHeight = height;
        } else {
            newOptions.maxWidth = width;
            newOptions.maxHeight = width / aspectRatio;
        }
        return newOptions;
    };

    // Canvas render method, allows to override the
    // rendering e.g. to work around issues on iOS:
    loadImage.renderImageToCanvas = function (
        canvas,
        img,
        sourceX,
        sourceY,
        sourceWidth,
        sourceHeight,
        destX,
        destY,
        destWidth,
        destHeight
    ) {
        canvas.getContext('2d').drawImage(
            img,
            sourceX,
            sourceY,
            sourceWidth,
            sourceHeight,
            destX,
            destY,
            destWidth,
            destHeight
        );
        return canvas;
    };

    // This method is used to determine if the target image
    // should be a canvas element:
    loadImage.hasCanvasOption = function (options) {
        return options.canvas || options.crop || options.aspectRatio;
    };

    // Scales and/or crops the given image (img or canvas HTML element)
    // using the given options.
    // Returns a canvas object if the browser supports canvas
    // and the hasCanvasOption method returns true or a canvas
    // object is passed as image, else the scaled image:
    loadImage.scale = function (img, options) {
        options = options || {};
        var canvas = document.createElement('canvas'),
            useCanvas = img.getContext ||
                (loadImage.hasCanvasOption(options) && canvas.getContext),
            width = img.naturalWidth || img.width,
            height = img.naturalHeight || img.height,
            destWidth = width,
            destHeight = height,
            maxWidth,
            maxHeight,
            minWidth,
            minHeight,
            sourceWidth,
            sourceHeight,
            sourceX,
            sourceY,
            tmp,
            scaleUp = function () {
                var scale = Math.max(
                    (minWidth || destWidth) / destWidth,
                    (minHeight || destHeight) / destHeight
                );
                if (scale > 1) {
                    destWidth = destWidth * scale;
                    destHeight = destHeight * scale;
                }
            },
            scaleDown = function () {
                var scale = Math.min(
                    (maxWidth || destWidth) / destWidth,
                    (maxHeight || destHeight) / destHeight
                );
                if (scale < 1) {
                    destWidth = destWidth * scale;
                    destHeight = destHeight * scale;
                }
            };
        if (useCanvas) {
            options = loadImage.getTransformedOptions(img, options);
            sourceX = options.left || 0;
            sourceY = options.top || 0;
            if (options.sourceWidth) {
                sourceWidth = options.sourceWidth;
                if (options.right !== undefined && options.left === undefined) {
                    sourceX = width - sourceWidth - options.right;
                }
            } else {
                sourceWidth = width - sourceX - (options.right || 0);
            }
            if (options.sourceHeight) {
                sourceHeight = options.sourceHeight;
                if (options.bottom !== undefined && options.top === undefined) {
                    sourceY = height - sourceHeight - options.bottom;
                }
            } else {
                sourceHeight = height - sourceY - (options.bottom || 0);
            }
            destWidth = sourceWidth;
            destHeight = sourceHeight;
        }
        maxWidth = options.maxWidth;
        maxHeight = options.maxHeight;
        minWidth = options.minWidth;
        minHeight = options.minHeight;
        if (useCanvas && maxWidth && maxHeight && options.crop) {
            destWidth = maxWidth;
            destHeight = maxHeight;
            tmp = sourceWidth / sourceHeight - maxWidth / maxHeight;
            if (tmp < 0) {
                sourceHeight = maxHeight * sourceWidth / maxWidth;
                if (options.top === undefined && options.bottom === undefined) {
                    sourceY = (height - sourceHeight) / 2;
                }
            } else if (tmp > 0) {
                sourceWidth = maxWidth * sourceHeight / maxHeight;
                if (options.left === undefined && options.right === undefined) {
                    sourceX = (width - sourceWidth) / 2;
                }
            }
        } else {
            if (options.contain || options.cover) {
                minWidth = maxWidth = maxWidth || minWidth;
                minHeight = maxHeight = maxHeight || minHeight;
            }
            if (options.cover) {
                scaleDown();
                scaleUp();
            } else {
                scaleUp();
                scaleDown();
            }
        }
        if (useCanvas) {
            canvas.width = destWidth;
            canvas.height = destHeight;
            loadImage.transformCoordinates(
                canvas,
                options
            );
            return loadImage.renderImageToCanvas(
                canvas,
                img,
                sourceX,
                sourceY,
                sourceWidth,
                sourceHeight,
                0,
                0,
                destWidth,
                destHeight
            );
        }
        img.width = destWidth;
        img.height = destHeight;
        return img;
    };

    loadImage.createObjectURL = function (file) {
        return urlAPI ? urlAPI.createObjectURL(file) : false;
    };

    loadImage.revokeObjectURL = function (url) {
        return urlAPI ? urlAPI.revokeObjectURL(url) : false;
    };

    // Loads a given File object via FileReader interface,
    // invokes the callback with the event object (load or error).
    // The result can be read via event.target.result:
    loadImage.readFile = function (file, callback, method) {
        if (window.FileReader) {
            var fileReader = new FileReader();
            fileReader.onload = fileReader.onerror = callback;
            method = method || 'readAsDataURL';
            if (fileReader[method]) {
                fileReader[method](file);
                return fileReader;
            }
        }
        return false;
    };

    if (typeof define === 'function' && define.amd) {
        define(function () {
            return loadImage;
        });
    } else {
        $.loadImage = loadImage;
    }
}(this));
/* Modernizr 2.8.3 (Custom Build) | MIT & BSD
 * Build: http://modernizr.com/download/#-cssanimations-shiv-cssclasses-prefixed-testprop-testallprops-domprefixes-load
 */
;window.Modernizr=function(a,b,c){function x(a){j.cssText=a}function y(a,b){return x(prefixes.join(a+";")+(b||""))}function z(a,b){return typeof a===b}function A(a,b){return!!~(""+a).indexOf(b)}function B(a,b){for(var d in a){var e=a[d];if(!A(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function C(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:z(f,"function")?f.bind(d||b):f}return!1}function D(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+n.join(d+" ")+d).split(" ");return z(b,"string")||z(b,"undefined")?B(e,b):(e=(a+" "+o.join(d+" ")+d).split(" "),C(e,b,c))}var d="2.8.3",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m="Webkit Moz O ms",n=m.split(" "),o=m.toLowerCase().split(" "),p={},q={},r={},s=[],t=s.slice,u,v={}.hasOwnProperty,w;!z(v,"undefined")&&!z(v.call,"undefined")?w=function(a,b){return v.call(a,b)}:w=function(a,b){return b in a&&z(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=t.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(t.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(t.call(arguments)))};return e}),p.cssanimations=function(){return D("animationName")};for(var E in p)w(p,E)&&(u=E.toLowerCase(),e[u]=p[E](),s.push((e[u]?"":"no-")+u));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)w(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},x(""),i=k=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function q(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return s.shivMethods?o(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(s,b.frag)}function r(a){a||(a=b);var c=n(a);return s.shivCSS&&!g&&!c.hasCSS&&(c.hasCSS=!!l(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),k||q(a,c),a}var c="3.7.0",d=a.html5||{},e=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,f=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,g,h="_html5shiv",i=0,j={},k;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",g="hidden"in a,k=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._domPrefixes=o,e._cssomPrefixes=n,e.testProp=function(a){return B([a])},e.testAllProps=D,e.prefixed=function(a,b,c){return b?D(a,b,c):D(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+s.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
/**
 * notificationFx.js v1.0.0
 * http://www.codrops.com
 *
 * Licensed under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 * 
 * Copyright 2014, Codrops
 * http://www.codrops.com
 */
;( function( window ) {
	
	'use strict';

	var docElem = window.document.documentElement,
		support = { animations : Modernizr.cssanimations },
		animEndEventNames = {
			'WebkitAnimation' : 'webkitAnimationEnd',
			'OAnimation' : 'oAnimationEnd',
			'msAnimation' : 'MSAnimationEnd',
			'animation' : 'animationend'
		},
		// animation end event name
		animEndEventName = animEndEventNames[ Modernizr.prefixed( 'animation' ) ];
	
	/**
	 * extend obj function
	 */
	function extend( a, b ) {
		for( var key in b ) { 
			if( b.hasOwnProperty( key ) ) {
				a[key] = b[key];
			}
		}
		return a;
	}

	/**
	 * NotificationFx function
	 */
	function NotificationFx( options ) {	
		this.options = extend( {}, this.options );
		extend( this.options, options );
		this._init();
	}

	/**
	 * NotificationFx options
	 */
	NotificationFx.prototype.options = {
		// element to which the notification will be appended
		// defaults to the document.body
		wrapper : document.body,
		// the message
		message : 'yo!',
		// layout type: growl|attached|bar|other
		layout : 'growl',
		// effects for the specified layout:
		// for growl layout: scale|slide|genie|jelly
		// for attached layout: flip|bouncyflip
		// for other layout: boxspinner|cornerexpand|loadingcircle|thumbslider
		// ...
		effect : 'slide',
		// notice, warning, error, success
		// will add class ns-type-warning, ns-type-error or ns-type-success
		type : 'error',
		// if the user doesnÂ´t close the notification then we remove it 
		// after the following time
		ttl : 6000,
		// callbacks
		onClose : function() { return false; },
		onOpen : function() { return false; }
	}

	/**
	 * init function
	 * initialize and cache some vars
	 */
	NotificationFx.prototype._init = function() {
		// create HTML structure
		this.ntf = document.createElement( 'div' );
		this.ntf.className = 'ns-box ns-' + this.options.layout + ' ns-effect-' + this.options.effect + ' ns-type-' + this.options.type;
		var strinner = '<div class="ns-box-inner">';
		strinner += this.options.message;
		strinner += '</div>';
		strinner += '<span class="ns-close"></span></div>';
		this.ntf.innerHTML = strinner;

		// append to body or the element specified in options.wrapper
		this.options.wrapper.insertBefore( this.ntf, this.options.wrapper.firstChild );

		// dismiss after [options.ttl]ms
		var self = this;
		this.dismissttl = setTimeout( function() {
			if( self.active ) {
				self.dismiss();
			}
		}, this.options.ttl );

		// init events
		this._initEvents();
	}

	/**
	 * init events
	 */
	NotificationFx.prototype._initEvents = function() {
		var self = this;
		// dismiss notification
		this.ntf.querySelector( '.ns-close' ).addEventListener( 'click', function() { self.dismiss(); } );
	}

	/**
	 * show the notification
	 */
	NotificationFx.prototype.show = function() {
		this.active = true;
		classie.remove( this.ntf, 'ns-hide' );
		classie.add( this.ntf, 'ns-show' );
		this.options.onOpen();
	}

	/**
	 * dismiss the notification
	 */
	NotificationFx.prototype.dismiss = function() {
		var self = this;
		this.active = false;
		clearTimeout( this.dismissttl );
		classie.remove( this.ntf, 'ns-show' );
		setTimeout( function() {
			classie.add( self.ntf, 'ns-hide' );
			
			// callback
			self.options.onClose();
		}, 25 );

		// after animation ends remove ntf from the DOM
		var onEndAnimationFn = function( ev ) {
			if( support.animations ) {
				if( ev.target !== self.ntf ) return false;
				this.removeEventListener( animEndEventName, onEndAnimationFn );
			}
			self.options.wrapper.removeChild( this );
		};

		if( support.animations ) {
			this.ntf.addEventListener( animEndEventName, onEndAnimationFn );
		}
		else {
			onEndAnimationFn();
		}
	}

	/**
	 * add to global namespace
	 */
	window.NotificationFx = NotificationFx;

} )( window );
// Snap.svg 0.3.0
// 
// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
// http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// 
// build: 2014-06-03
!function(a){var b,c,d="0.4.2",e="hasOwnProperty",f=/[\.\/]/,g=/\s*,\s*/,h="*",i=function(a,b){return a-b},j={n:{}},k=function(){for(var a=0,b=this.length;b>a;a++)if("undefined"!=typeof this[a])return this[a]},l=function(){for(var a=this.length;--a;)if("undefined"!=typeof this[a])return this[a]},m=function(a,d){a=String(a);var e,f=c,g=Array.prototype.slice.call(arguments,2),h=m.listeners(a),j=0,n=[],o={},p=[],q=b;p.firstDefined=k,p.lastDefined=l,b=a,c=0;for(var r=0,s=h.length;s>r;r++)"zIndex"in h[r]&&(n.push(h[r].zIndex),h[r].zIndex<0&&(o[h[r].zIndex]=h[r]));for(n.sort(i);n[j]<0;)if(e=o[n[j++]],p.push(e.apply(d,g)),c)return c=f,p;for(r=0;s>r;r++)if(e=h[r],"zIndex"in e)if(e.zIndex==n[j]){if(p.push(e.apply(d,g)),c)break;do if(j++,e=o[n[j]],e&&p.push(e.apply(d,g)),c)break;while(e)}else o[e.zIndex]=e;else if(p.push(e.apply(d,g)),c)break;return c=f,b=q,p};m._events=j,m.listeners=function(a){var b,c,d,e,g,i,k,l,m=a.split(f),n=j,o=[n],p=[];for(e=0,g=m.length;g>e;e++){for(l=[],i=0,k=o.length;k>i;i++)for(n=o[i].n,c=[n[m[e]],n[h]],d=2;d--;)b=c[d],b&&(l.push(b),p=p.concat(b.f||[]));o=l}return p},m.on=function(a,b){if(a=String(a),"function"!=typeof b)return function(){};for(var c=a.split(g),d=0,e=c.length;e>d;d++)!function(a){for(var c,d=a.split(f),e=j,g=0,h=d.length;h>g;g++)e=e.n,e=e.hasOwnProperty(d[g])&&e[d[g]]||(e[d[g]]={n:{}});for(e.f=e.f||[],g=0,h=e.f.length;h>g;g++)if(e.f[g]==b){c=!0;break}!c&&e.f.push(b)}(c[d]);return function(a){+a==+a&&(b.zIndex=+a)}},m.f=function(a){var b=[].slice.call(arguments,1);return function(){m.apply(null,[a,null].concat(b).concat([].slice.call(arguments,0)))}},m.stop=function(){c=1},m.nt=function(a){return a?new RegExp("(?:\\.|\\/|^)"+a+"(?:\\.|\\/|$)").test(b):b},m.nts=function(){return b.split(f)},m.off=m.unbind=function(a,b){if(!a)return void(m._events=j={n:{}});var c=a.split(g);if(c.length>1)for(var d=0,i=c.length;i>d;d++)m.off(c[d],b);else{c=a.split(f);var k,l,n,d,i,o,p,q=[j];for(d=0,i=c.length;i>d;d++)for(o=0;o<q.length;o+=n.length-2){if(n=[o,1],k=q[o].n,c[d]!=h)k[c[d]]&&n.push(k[c[d]]);else for(l in k)k[e](l)&&n.push(k[l]);q.splice.apply(q,n)}for(d=0,i=q.length;i>d;d++)for(k=q[d];k.n;){if(b){if(k.f){for(o=0,p=k.f.length;p>o;o++)if(k.f[o]==b){k.f.splice(o,1);break}!k.f.length&&delete k.f}for(l in k.n)if(k.n[e](l)&&k.n[l].f){var r=k.n[l].f;for(o=0,p=r.length;p>o;o++)if(r[o]==b){r.splice(o,1);break}!r.length&&delete k.n[l].f}}else{delete k.f;for(l in k.n)k.n[e](l)&&k.n[l].f&&delete k.n[l].f}k=k.n}}},m.once=function(a,b){var c=function(){return m.unbind(a,c),b.apply(this,arguments)};return m.on(a,c)},m.version=d,m.toString=function(){return"You are running Eve "+d},"undefined"!=typeof module&&module.exports?module.exports=m:"function"==typeof define&&define.amd?define("eve",[],function(){return m}):a.eve=m}(this),function(a,b){"function"==typeof define&&define.amd?define(["eve"],function(c){return b(a,c)}):b(a,a.eve)}(this,function(a,b){var c=function(b){var c={},d=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||function(a){setTimeout(a,16)},e=Array.isArray||function(a){return a instanceof Array||"[object Array]"==Object.prototype.toString.call(a)},f=0,g="M"+(+new Date).toString(36),h=function(){return g+(f++).toString(36)},i=Date.now||function(){return+new Date},j=function(a){var b=this;if(null==a)return b.s;var c=b.s-a;b.b+=b.dur*c,b.B+=b.dur*c,b.s=a},k=function(a){var b=this;return null==a?b.spd:void(b.spd=a)},l=function(a){var b=this;return null==a?b.dur:(b.s=b.s*a/b.dur,void(b.dur=a))},m=function(){var a=this;delete c[a.id],a.update(),b("mina.stop."+a.id,a)},n=function(){var a=this;a.pdif||(delete c[a.id],a.update(),a.pdif=a.get()-a.b)},o=function(){var a=this;a.pdif&&(a.b=a.get()-a.pdif,delete a.pdif,c[a.id]=a)},p=function(){var a,b=this;if(e(b.start)){a=[];for(var c=0,d=b.start.length;d>c;c++)a[c]=+b.start[c]+(b.end[c]-b.start[c])*b.easing(b.s)}else a=+b.start+(b.end-b.start)*b.easing(b.s);b.set(a)},q=function(){var a=0;for(var e in c)if(c.hasOwnProperty(e)){var f=c[e],g=f.get();a++,f.s=(g-f.b)/(f.dur/f.spd),f.s>=1&&(delete c[e],f.s=1,a--,function(a){setTimeout(function(){b("mina.finish."+a.id,a)})}(f)),f.update()}a&&d(q)},r=function(a,b,e,f,g,i,s){var t={id:h(),start:a,end:b,b:e,s:0,dur:f-e,spd:1,get:g,set:i,easing:s||r.linear,status:j,speed:k,duration:l,stop:m,pause:n,resume:o,update:p};c[t.id]=t;var u,v=0;for(u in c)if(c.hasOwnProperty(u)&&(v++,2==v))break;return 1==v&&d(q),t};return r.time=i,r.getById=function(a){return c[a]||null},r.linear=function(a){return a},r.easeout=function(a){return Math.pow(a,1.7)},r.easein=function(a){return Math.pow(a,.48)},r.easeinout=function(a){if(1==a)return 1;if(0==a)return 0;var b=.48-a/1.04,c=Math.sqrt(.1734+b*b),d=c-b,e=Math.pow(Math.abs(d),1/3)*(0>d?-1:1),f=-c-b,g=Math.pow(Math.abs(f),1/3)*(0>f?-1:1),h=e+g+.5;return 3*(1-h)*h*h+h*h*h},r.backin=function(a){if(1==a)return 1;var b=1.70158;return a*a*((b+1)*a-b)},r.backout=function(a){if(0==a)return 0;a-=1;var b=1.70158;return a*a*((b+1)*a+b)+1},r.elastic=function(a){return a==!!a?a:Math.pow(2,-10*a)*Math.sin(2*(a-.075)*Math.PI/.3)+1},r.bounce=function(a){var b,c=7.5625,d=2.75;return 1/d>a?b=c*a*a:2/d>a?(a-=1.5/d,b=c*a*a+.75):2.5/d>a?(a-=2.25/d,b=c*a*a+.9375):(a-=2.625/d,b=c*a*a+.984375),b},a.mina=r,r}("undefined"==typeof b?function(){}:b),d=function(){function d(a,b){if(a){if(a.tagName)return y(a);if(f(a,"array")&&d.set)return d.set.apply(d,a);if(a instanceof u)return a;if(null==b)return a=z.doc.querySelector(a),y(a)}return a=null==a?"100%":a,b=null==b?"100%":b,new x(a,b)}function e(a,b){if(b){if("#text"==a&&(a=z.doc.createTextNode(b.text||"")),"string"==typeof a&&(a=e(a)),"string"==typeof b)return"xlink:"==b.substring(0,6)?a.getAttributeNS(W,b.substring(6)):"xml:"==b.substring(0,4)?a.getAttributeNS(X,b.substring(4)):a.getAttribute(b);for(var c in b)if(b[A](c)){var d=B(b[c]);d?"xlink:"==c.substring(0,6)?a.setAttributeNS(W,c.substring(6),d):"xml:"==c.substring(0,4)?a.setAttributeNS(X,c.substring(4),d):a.setAttribute(c,d):a.removeAttribute(c)}}else a=z.doc.createElementNS(X,a);return a}function f(a,b){return b=B.prototype.toLowerCase.call(b),"finite"==b?isFinite(a):"array"==b&&(a instanceof Array||Array.isArray&&Array.isArray(a))?!0:"null"==b&&null===a||b==typeof a&&null!==a||"object"==b&&a===Object(a)||L.call(a).slice(8,-1).toLowerCase()==b}function h(a){if("function"==typeof a||Object(a)!==a)return a;var b=new a.constructor;for(var c in a)a[A](c)&&(b[c]=h(a[c]));return b}function i(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return a.push(a.splice(c,1)[0])}function j(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("â"),g=d.cache=d.cache||{},h=d.count=d.count||[];return g[A](f)?(i(h,f),c?c(g[f]):g[f]):(h.length>=1e3&&delete g[h.shift()],h.push(f),g[f]=a.apply(b,e),c?c(g[f]):g[f])}return d}function k(a,b,c,d,e,f){if(null==e){var g=a-c,h=b-d;return g||h?(180+180*E.atan2(-h,-g)/I+360)%360:0}return k(a,b,e,f)-k(c,d,e,f)}function l(a){return a%360*I/180}function m(a){return 180*a/I%360}function n(a){var b=[];return a=a.replace(/(?:^|\s)(\w+)\(([^)]+)\)/g,function(a,c,d){return d=d.split(/\s*,\s*|\s+/),"rotate"==c&&1==d.length&&d.push(0,0),"scale"==c&&(d.length>2?d=d.slice(0,2):2==d.length&&d.push(0,0),1==d.length&&d.push(d[0],0,0)),b.push("skewX"==c?["m",1,0,E.tan(l(d[0])),1,0,0]:"skewY"==c?["m",1,E.tan(l(d[0])),0,1,0,0]:[c.charAt(0)].concat(d)),a}),b}function o(a,b){var c=eb(a),e=new d.Matrix;if(c)for(var f=0,g=c.length;g>f;f++){var h,i,j,k,l,m=c[f],n=m.length,o=B(m[0]).toLowerCase(),p=m[0]!=o,q=p?e.invert():0;"t"==o&&2==n?e.translate(m[1],0):"t"==o&&3==n?p?(h=q.x(0,0),i=q.y(0,0),j=q.x(m[1],m[2]),k=q.y(m[1],m[2]),e.translate(j-h,k-i)):e.translate(m[1],m[2]):"r"==o?2==n?(l=l||b,e.rotate(m[1],l.x+l.width/2,l.y+l.height/2)):4==n&&(p?(j=q.x(m[2],m[3]),k=q.y(m[2],m[3]),e.rotate(m[1],j,k)):e.rotate(m[1],m[2],m[3])):"s"==o?2==n||3==n?(l=l||b,e.scale(m[1],m[n-1],l.x+l.width/2,l.y+l.height/2)):4==n?p?(j=q.x(m[2],m[3]),k=q.y(m[2],m[3]),e.scale(m[1],m[1],j,k)):e.scale(m[1],m[1],m[2],m[3]):5==n&&(p?(j=q.x(m[3],m[4]),k=q.y(m[3],m[4]),e.scale(m[1],m[2],j,k)):e.scale(m[1],m[2],m[3],m[4])):"m"==o&&7==n&&e.add(m[1],m[2],m[3],m[4],m[5],m[6])}return e}function p(a,b){if(null==b){var c=!0;if(b=a.node.getAttribute("linearGradient"==a.type||"radialGradient"==a.type?"gradientTransform":"pattern"==a.type?"patternTransform":"transform"),!b)return new d.Matrix;b=n(b)}else b=d._.rgTransform.test(b)?B(b).replace(/\.{3}|\u2026/g,a._.transform||J):n(b),f(b,"array")&&(b=d.path?d.path.toString.call(b):B(b)),a._.transform=b;var e=o(b,a.getBBox(1));return c?e:void(a.matrix=e)}function q(a){var b=a.node.ownerSVGElement&&y(a.node.ownerSVGElement)||a.node.parentNode&&y(a.node.parentNode)||d.select("svg")||d(0,0),c=b.select("defs"),e=null==c?!1:c.node;return e||(e=w("defs",b.node).node),e}function r(a){return a.node.ownerSVGElement&&y(a.node.ownerSVGElement)||d.select("svg")}function s(a,b,c){function d(a){if(null==a)return J;if(a==+a)return a;e(j,{width:a});try{return j.getBBox().width}catch(b){return 0}}function f(a){if(null==a)return J;if(a==+a)return a;e(j,{height:a});try{return j.getBBox().height}catch(b){return 0}}function g(d,e){null==b?i[d]=e(a.attr(d)||0):d==b&&(i=e(null==c?a.attr(d)||0:c))}var h=r(a).node,i={},j=h.querySelector(".svg---mgr");switch(j||(j=e("rect"),e(j,{x:-9e9,y:-9e9,width:10,height:10,"class":"svg---mgr",fill:"none"}),h.appendChild(j)),a.type){case"rect":g("rx",d),g("ry",f);case"image":g("width",d),g("height",f);case"text":g("x",d),g("y",f);break;case"circle":g("cx",d),g("cy",f),g("r",d);break;case"ellipse":g("cx",d),g("cy",f),g("rx",d),g("ry",f);break;case"line":g("x1",d),g("x2",d),g("y1",f),g("y2",f);break;case"marker":g("refX",d),g("markerWidth",d),g("refY",f),g("markerHeight",f);break;case"radialGradient":g("fx",d),g("fy",f);break;case"tspan":g("dx",d),g("dy",f);break;default:g(b,d)}return h.removeChild(j),i}function t(a){f(a,"array")||(a=Array.prototype.slice.call(arguments,0));for(var b=0,c=0,d=this.node;this[b];)delete this[b++];for(b=0;b<a.length;b++)"set"==a[b].type?a[b].forEach(function(a){d.appendChild(a.node)}):d.appendChild(a[b].node);var e=d.childNodes;for(b=0;b<e.length;b++)this[c++]=y(e[b]);return this}function u(a){if(a.snap in Y)return Y[a.snap];var b,c=this.id=V();try{b=a.ownerSVGElement}catch(d){}if(this.node=a,b&&(this.paper=new x(b)),this.type=a.tagName,this.anims={},this._={transform:[]},a.snap=c,Y[c]=this,"g"==this.type&&(this.add=t),this.type in{g:1,mask:1,pattern:1})for(var e in x.prototype)x.prototype[A](e)&&(this[e]=x.prototype[e])}function v(a){this.node=a}function w(a,b){var c=e(a);b.appendChild(c);var d=y(c);return d}function x(a,b){var c,d,f,g=x.prototype;if(a&&"svg"==a.tagName){if(a.snap in Y)return Y[a.snap];var h=a.ownerDocument;c=new u(a),d=a.getElementsByTagName("desc")[0],f=a.getElementsByTagName("defs")[0],d||(d=e("desc"),d.appendChild(h.createTextNode("Created with Snap")),c.node.appendChild(d)),f||(f=e("defs"),c.node.appendChild(f)),c.defs=f;for(var i in g)g[A](i)&&(c[i]=g[i]);c.paper=c.root=c}else c=w("svg",z.doc.body),e(c.node,{height:b,version:1.1,width:a,xmlns:X});return c}function y(a){return a?a instanceof u||a instanceof v?a:a.tagName&&"svg"==a.tagName.toLowerCase()?new x(a):a.tagName&&"object"==a.tagName.toLowerCase()&&"image/svg+xml"==a.type?new x(a.contentDocument.getElementsByTagName("svg")[0]):new u(a):a}d.version="0.3.0",d.toString=function(){return"Snap v"+this.version},d._={};var z={win:a,doc:a.document};d._.glob=z;var A="hasOwnProperty",B=String,C=parseFloat,D=parseInt,E=Math,F=E.max,G=E.min,H=E.abs,I=(E.pow,E.PI),J=(E.round,""),K=" ",L=Object.prototype.toString,M=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\))\s*$/i,N="	\n\f\r Â áá ââââââââââââ¯âã\u2028\u2029",O=(d._.separator=new RegExp("[,"+N+"]+"),new RegExp("["+N+"]","g"),new RegExp("["+N+"]*,["+N+"]*")),P={hs:1,rg:1},Q=new RegExp("([a-z])["+N+",]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?["+N+"]*,?["+N+"]*)+)","ig"),R=new RegExp("([rstm])["+N+",]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?["+N+"]*,?["+N+"]*)+)","ig"),S=new RegExp("(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)["+N+"]*,?["+N+"]*","ig"),T=0,U="S"+(+new Date).toString(36),V=function(){return U+(T++).toString(36)},W="http://www.w3.org/1999/xlink",X="http://www.w3.org/2000/svg",Y={},Z=d.url=function(a){return"url('#"+a+"')"};d._.$=e,d._.id=V,d.format=function(){var a=/\{([^\}]+)\}/g,b=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g,c=function(a,c,d){var e=d;return c.replace(b,function(a,b,c,d,f){b=b||d,e&&(b in e&&(e=e[b]),"function"==typeof e&&f&&(e=e()))}),e=(null==e||e==d?a:e)+""};return function(b,d){return B(b).replace(a,function(a,b){return c(a,b,d)})}}(),d._.clone=h,d._.cacher=j,d.rad=l,d.deg=m,d.angle=k,d.is=f,d.snapTo=function(a,b,c){if(c=f(c,"finite")?c:10,f(a,"array")){for(var d=a.length;d--;)if(H(a[d]-b)<=c)return a[d]}else{a=+a;var e=b%a;if(c>e)return b-e;if(e>a-c)return b-e+a}return b},d.getRGB=j(function(a){if(!a||(a=B(a)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bb};if("none"==a)return{r:-1,g:-1,b:-1,hex:"none",toString:bb};if(!(P[A](a.toLowerCase().substring(0,2))||"#"==a.charAt())&&(a=$(a)),!a)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bb};var b,c,e,g,h,i,j=a.match(M);return j?(j[2]&&(e=D(j[2].substring(5),16),c=D(j[2].substring(3,5),16),b=D(j[2].substring(1,3),16)),j[3]&&(e=D((h=j[3].charAt(3))+h,16),c=D((h=j[3].charAt(2))+h,16),b=D((h=j[3].charAt(1))+h,16)),j[4]&&(i=j[4].split(O),b=C(i[0]),"%"==i[0].slice(-1)&&(b*=2.55),c=C(i[1]),"%"==i[1].slice(-1)&&(c*=2.55),e=C(i[2]),"%"==i[2].slice(-1)&&(e*=2.55),"rgba"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&"%"==i[3].slice(-1)&&(g/=100)),j[5]?(i=j[5].split(O),b=C(i[0]),"%"==i[0].slice(-1)&&(b/=100),c=C(i[1]),"%"==i[1].slice(-1)&&(c/=100),e=C(i[2]),"%"==i[2].slice(-1)&&(e/=100),("deg"==i[0].slice(-3)||"Â°"==i[0].slice(-1))&&(b/=360),"hsba"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&"%"==i[3].slice(-1)&&(g/=100),d.hsb2rgb(b,c,e,g)):j[6]?(i=j[6].split(O),b=C(i[0]),"%"==i[0].slice(-1)&&(b/=100),c=C(i[1]),"%"==i[1].slice(-1)&&(c/=100),e=C(i[2]),"%"==i[2].slice(-1)&&(e/=100),("deg"==i[0].slice(-3)||"Â°"==i[0].slice(-1))&&(b/=360),"hsla"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&"%"==i[3].slice(-1)&&(g/=100),d.hsl2rgb(b,c,e,g)):(b=G(E.round(b),255),c=G(E.round(c),255),e=G(E.round(e),255),g=G(F(g,0),1),j={r:b,g:c,b:e,toString:bb},j.hex="#"+(16777216|e|c<<8|b<<16).toString(16).slice(1),j.opacity=f(g,"finite")?g:1,j)):{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bb}},d),d.hsb=j(function(a,b,c){return d.hsb2rgb(a,b,c).hex}),d.hsl=j(function(a,b,c){return d.hsl2rgb(a,b,c).hex}),d.rgb=j(function(a,b,c,d){if(f(d,"finite")){var e=E.round;return"rgba("+[e(a),e(b),e(c),+d.toFixed(2)]+")"}return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)});var $=function(a){var b=z.doc.getElementsByTagName("head")[0]||z.doc.getElementsByTagName("svg")[0],c="rgb(255, 0, 0)";return($=j(function(a){if("red"==a.toLowerCase())return c;b.style.color=c,b.style.color=a;var d=z.doc.defaultView.getComputedStyle(b,J).getPropertyValue("color");return d==c?null:d}))(a)},_=function(){return"hsb("+[this.h,this.s,this.b]+")"},ab=function(){return"hsl("+[this.h,this.s,this.l]+")"},bb=function(){return 1==this.opacity||null==this.opacity?this.hex:"rgba("+[this.r,this.g,this.b,this.opacity]+")"},cb=function(a,b,c){if(null==b&&f(a,"object")&&"r"in a&&"g"in a&&"b"in a&&(c=a.b,b=a.g,a=a.r),null==b&&f(a,string)){var e=d.getRGB(a);a=e.r,b=e.g,c=e.b}return(a>1||b>1||c>1)&&(a/=255,b/=255,c/=255),[a,b,c]},db=function(a,b,c,e){a=E.round(255*a),b=E.round(255*b),c=E.round(255*c);var g={r:a,g:b,b:c,opacity:f(e,"finite")?e:1,hex:d.rgb(a,b,c),toString:bb};return f(e,"finite")&&(g.opacity=e),g};d.color=function(a){var b;return f(a,"object")&&"h"in a&&"s"in a&&"b"in a?(b=d.hsb2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.opacity=1,a.hex=b.hex):f(a,"object")&&"h"in a&&"s"in a&&"l"in a?(b=d.hsl2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.opacity=1,a.hex=b.hex):(f(a,"string")&&(a=d.getRGB(a)),f(a,"object")&&"r"in a&&"g"in a&&"b"in a&&!("error"in a)?(b=d.rgb2hsl(a),a.h=b.h,a.s=b.s,a.l=b.l,b=d.rgb2hsb(a),a.v=b.b):(a={hex:"none"},a.r=a.g=a.b=a.h=a.s=a.v=a.l=-1,a.error=1)),a.toString=bb,a},d.hsb2rgb=function(a,b,c,d){f(a,"object")&&"h"in a&&"s"in a&&"b"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,g,h,i,j;return a=a%360/60,j=c*b,i=j*(1-H(a%2-1)),e=g=h=c-j,a=~~a,e+=[j,i,0,0,i,j][a],g+=[i,j,j,i,0,0][a],h+=[0,0,i,j,j,i][a],db(e,g,h,d)},d.hsl2rgb=function(a,b,c,d){f(a,"object")&&"h"in a&&"s"in a&&"l"in a&&(c=a.l,b=a.s,a=a.h),(a>1||b>1||c>1)&&(a/=360,b/=100,c/=100),a*=360;var e,g,h,i,j;return a=a%360/60,j=2*b*(.5>c?c:1-c),i=j*(1-H(a%2-1)),e=g=h=c-j/2,a=~~a,e+=[j,i,0,0,i,j][a],g+=[i,j,j,i,0,0][a],h+=[0,0,i,j,j,i][a],db(e,g,h,d)},d.rgb2hsb=function(a,b,c){c=cb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;return f=F(a,b,c),g=f-G(a,b,c),d=0==g?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=0==g?0:g/f,{h:d,s:e,b:f,toString:_}},d.rgb2hsl=function(a,b,c){c=cb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;return g=F(a,b,c),h=G(a,b,c),i=g-h,d=0==i?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=0==i?0:.5>f?i/(2*f):i/(2-2*f),{h:d,s:e,l:f,toString:ab}},d.parsePathString=function(a){if(!a)return null;var b=d.path(a);if(b.arr)return d.path.clone(b.arr);var c={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},e=[];return f(a,"array")&&f(a[0],"array")&&(e=d.path.clone(a)),e.length||B(a).replace(Q,function(a,b,d){var f=[],g=b.toLowerCase();if(d.replace(S,function(a,b){b&&f.push(+b)}),"m"==g&&f.length>2&&(e.push([b].concat(f.splice(0,2))),g="l",b="m"==b?"l":"L"),"o"==g&&1==f.length&&e.push([b,f[0]]),"r"==g)e.push([b].concat(f));else for(;f.length>=c[g]&&(e.push([b].concat(f.splice(0,c[g]))),c[g]););}),e.toString=d.path.toString,b.arr=d.path.clone(e),e};var eb=d.parseTransformString=function(a){if(!a)return null;var b=[];return f(a,"array")&&f(a[0],"array")&&(b=d.path.clone(a)),b.length||B(a).replace(R,function(a,c,d){{var e=[];c.toLowerCase()}d.replace(S,function(a,b){b&&e.push(+b)}),b.push([c].concat(e))}),b.toString=d.path.toString,b};d._.svgTransform2string=n,d._.rgTransform=new RegExp("^[a-z]["+N+"]*-?\\.?\\d","i"),d._.transform2matrix=o,d._unit2px=s;z.doc.contains||z.doc.compareDocumentPosition?function(a,b){var c=9==a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a==d||!(!d||1!=d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b;)if(b=b.parentNode,b==a)return!0;return!1};d._.getSomeDefs=q,d._.getSomeSVG=r,d.select=function(a){return y(z.doc.querySelector(a))},d.selectAll=function(a){for(var b=z.doc.querySelectorAll(a),c=(d.set||Array)(),e=0;e<b.length;e++)c.push(y(b[e]));return c},setInterval(function(){for(var a in Y)if(Y[A](a)){var b=Y[a],c=b.node;("svg"!=b.type&&!c.ownerSVGElement||"svg"==b.type&&(!c.parentNode||"ownerSVGElement"in c.parentNode&&!c.ownerSVGElement))&&delete Y[a]}},1e4),function(a){function g(a){function b(a,b){var c=e(a.node,b);c=c&&c.match(g),c=c&&c[2],c&&"#"==c.charAt()&&(c=c.substring(1),c&&(i[c]=(i[c]||[]).concat(function(c){var d={};d[b]=Z(c),e(a.node,d)})))}function c(a){var b=e(a.node,"xlink:href");b&&"#"==b.charAt()&&(b=b.substring(1),b&&(i[b]=(i[b]||[]).concat(function(b){a.attr("xlink:href","#"+b)})))}for(var d,f=a.selectAll("*"),g=/^\s*url\(("|'|)(.*)\1\)\s*$/,h=[],i={},j=0,k=f.length;k>j;j++){d=f[j],b(d,"fill"),b(d,"stroke"),b(d,"filter"),b(d,"mask"),b(d,"clip-path"),c(d);var l=e(d.node,"id");l&&(e(d.node,{id:d.id}),h.push({old:l,id:d.id}))}for(j=0,k=h.length;k>j;j++){var m=i[h[j].old];if(m)for(var n=0,o=m.length;o>n;n++)m[n](h[j].id)}}function h(a,b,c){return function(d){var e=d.slice(a,b);return 1==e.length&&(e=e[0]),c?c(e):e}}function i(a){return function(){var b=a?"<"+this.type:"",c=this.node.attributes,d=this.node.childNodes;if(a)for(var e=0,f=c.length;f>e;e++)b+=" "+c[e].name+'="'+c[e].value.replace(/"/g,'\\"')+'"';if(d.length){for(a&&(b+=">"),e=0,f=d.length;f>e;e++)3==d[e].nodeType?b+=d[e].nodeValue:1==d[e].nodeType&&(b+=y(d[e]).toString());a&&(b+="</"+this.type+">")}else a&&(b+="/>");return b}}a.attr=function(a,c){{var d=this;d.node}if(!a)return d;if(f(a,"string")){if(!(arguments.length>1))return b("snap.util.getattr."+a,d).firstDefined();var e={};e[a]=c,a=e}for(var g in a)a[A](g)&&b("snap.util.attr."+g,d,a[g]);return d},a.getBBox=function(a){if(!d.Matrix||!d.path)return this.node.getBBox();var b=this,c=new d.Matrix;if(b.removed)return d._.box();for(;"use"==b.type;)if(a||(c=c.add(b.transform().localMatrix.translate(b.attr("x")||0,b.attr("y")||0))),b.original)b=b.original;else{var e=b.attr("xlink:href");b=b.original=b.node.ownerDocument.getElementById(e.substring(e.indexOf("#")+1))}var f=b._,g=d.path.get[b.type]||d.path.get.deflt;try{return a?(f.bboxwt=g?d.path.getBBox(b.realPath=g(b)):d._.box(b.node.getBBox()),d._.box(f.bboxwt)):(b.realPath=g(b),b.matrix=b.transform().localMatrix,f.bbox=d.path.getBBox(d.path.map(b.realPath,c.add(b.matrix))),d._.box(f.bbox))}catch(h){return d._.box()}};var j=function(){return this.string};a.transform=function(a){var b=this._;if(null==a){for(var c,f=this,g=new d.Matrix(this.node.getCTM()),h=p(this),i=[h],k=new d.Matrix,l=h.toTransformString(),m=B(h)==B(this.matrix)?B(b.transform):l;"svg"!=f.type&&(f=f.parent());)i.push(p(f));for(c=i.length;c--;)k.add(i[c]);return{string:m,globalMatrix:g,totalMatrix:k,localMatrix:h,diffMatrix:g.clone().add(h.invert()),global:g.toTransformString(),total:k.toTransformString(),local:l,toString:j}}return a instanceof d.Matrix?this.matrix=a:p(this,a),this.node&&("linearGradient"==this.type||"radialGradient"==this.type?e(this.node,{gradientTransform:this.matrix}):"pattern"==this.type?e(this.node,{patternTransform:this.matrix}):e(this.node,{transform:this.matrix})),this},a.parent=function(){return y(this.node.parentNode)},a.append=a.add=function(a){if(a){if("set"==a.type){var b=this;return a.forEach(function(a){b.add(a)}),this}a=y(a),this.node.appendChild(a.node),a.paper=this.paper}return this},a.appendTo=function(a){return a&&(a=y(a),a.append(this)),this},a.prepend=function(a){if(a){if("set"==a.type){var b,c=this;return a.forEach(function(a){b?b.after(a):c.prepend(a),b=a}),this}a=y(a);var d=a.parent();this.node.insertBefore(a.node,this.node.firstChild),this.add&&this.add(),a.paper=this.paper,this.parent()&&this.parent().add(),d&&d.add()}return this},a.prependTo=function(a){return a=y(a),a.prepend(this),this},a.before=function(a){if("set"==a.type){var b=this;return a.forEach(function(a){var c=a.parent();b.node.parentNode.insertBefore(a.node,b.node),c&&c.add()}),this.parent().add(),this}a=y(a);var c=a.parent();return this.node.parentNode.insertBefore(a.node,this.node),this.parent()&&this.parent().add(),c&&c.add(),a.paper=this.paper,this},a.after=function(a){a=y(a);var b=a.parent();return this.node.nextSibling?this.node.parentNode.insertBefore(a.node,this.node.nextSibling):this.node.parentNode.appendChild(a.node),this.parent()&&this.parent().add(),b&&b.add(),a.paper=this.paper,this},a.insertBefore=function(a){a=y(a);var b=this.parent();return a.node.parentNode.insertBefore(this.node,a.node),this.paper=a.paper,b&&b.add(),a.parent()&&a.parent().add(),this},a.insertAfter=function(a){a=y(a);var b=this.parent();return a.node.parentNode.insertBefore(this.node,a.node.nextSibling),this.paper=a.paper,b&&b.add(),a.parent()&&a.parent().add(),this},a.remove=function(){var a=this.parent();return this.node.parentNode&&this.node.parentNode.removeChild(this.node),delete this.paper,this.removed=!0,a&&a.add(),this},a.select=function(a){return y(this.node.querySelector(a))},a.selectAll=function(a){for(var b=this.node.querySelectorAll(a),c=(d.set||Array)(),e=0;e<b.length;e++)c.push(y(b[e]));return c},a.asPX=function(a,b){return null==b&&(b=this.attr(a)),+s(this,a,b)},a.use=function(){var a,b=this.node.id;return b||(b=this.id,e(this.node,{id:b})),a="linearGradient"==this.type||"radialGradient"==this.type||"pattern"==this.type?w(this.type,this.node.parentNode):w("use",this.node.parentNode),e(a.node,{"xlink:href":"#"+b}),a.original=this,a};var k=/\S+/g;a.addClass=function(a){var b,c,d,e,f=(a||"").match(k)||[],g=this.node,h=g.className.baseVal,i=h.match(k)||[];if(f.length){for(b=0;d=f[b++];)c=i.indexOf(d),~c||i.push(d);e=i.join(" "),h!=e&&(g.className.baseVal=e)}return this},a.removeClass=function(a){var b,c,d,e,f=(a||"").match(k)||[],g=this.node,h=g.className.baseVal,i=h.match(k)||[];if(i.length){for(b=0;d=f[b++];)c=i.indexOf(d),~c&&i.splice(c,1);e=i.join(" "),h!=e&&(g.className.baseVal=e)}return this},a.hasClass=function(a){var b=this.node,c=b.className.baseVal,d=c.match(k)||[];return!!~d.indexOf(a)},a.toggleClass=function(a,b){if(null!=b)return b?this.addClass(a):this.removeClass(a);var c,d,e,f,g=(a||"").match(k)||[],h=this.node,i=h.className.baseVal,j=i.match(k)||[];for(c=0;e=g[c++];)d=j.indexOf(e),~d?j.splice(d,1):j.push(e);return f=j.join(" "),i!=f&&(h.className.baseVal=f),this},a.clone=function(){var a=y(this.node.cloneNode(!0));return e(a.node,"id")&&e(a.node,{id:a.id}),g(a),a.insertAfter(this),a},a.toDefs=function(){var a=q(this);return a.appendChild(this.node),this},a.pattern=a.toPattern=function(a,b,c,d){var g=w("pattern",q(this));return null==a&&(a=this.getBBox()),f(a,"object")&&"x"in a&&(b=a.y,c=a.width,d=a.height,a=a.x),e(g.node,{x:a,y:b,width:c,height:d,patternUnits:"userSpaceOnUse",id:g.id,viewBox:[a,b,c,d].join(" ")}),g.node.appendChild(this.node),g},a.marker=function(a,b,c,d,g,h){var i=w("marker",q(this));return null==a&&(a=this.getBBox()),f(a,"object")&&"x"in a&&(b=a.y,c=a.width,d=a.height,g=a.refX||a.cx,h=a.refY||a.cy,a=a.x),e(i.node,{viewBox:[a,b,c,d].join(K),markerWidth:c,markerHeight:d,orient:"auto",refX:g||0,refY:h||0,id:i.id}),i.node.appendChild(this.node),i};var l=function(a,b,d,e){"function"!=typeof d||d.length||(e=d,d=c.linear),this.attr=a,this.dur=b,d&&(this.easing=d),e&&(this.callback=e)};d._.Animation=l,d.animation=function(a,b,c,d){return new l(a,b,c,d)},a.inAnim=function(){var a=this,b=[];for(var c in a.anims)a.anims[A](c)&&!function(a){b.push({anim:new l(a._attrs,a.dur,a.easing,a._callback),mina:a,curStatus:a.status(),status:function(b){return a.status(b)},stop:function(){a.stop()}})}(a.anims[c]);return b},d.animate=function(a,d,e,f,g,h){"function"!=typeof g||g.length||(h=g,g=c.linear);var i=c.time(),j=c(a,d,i,i+f,c.time,e,g);return h&&b.once("mina.finish."+j.id,h),j},a.stop=function(){for(var a=this.inAnim(),b=0,c=a.length;c>b;b++)a[b].stop();return this},a.animate=function(a,d,e,g){"function"!=typeof e||e.length||(g=e,e=c.linear),a instanceof l&&(g=a.callback,e=a.easing,d=e.dur,a=a.attr);var i,j,k,m,n=[],o=[],p={},q=this;for(var r in a)if(a[A](r)){q.equal?(m=q.equal(r,B(a[r])),i=m.from,j=m.to,k=m.f):(i=+q.attr(r),j=+a[r]);var s=f(i,"array")?i.length:1;p[r]=h(n.length,n.length+s,k),n=n.concat(i),o=o.concat(j)}var t=c.time(),u=c(n,o,t,t+d,c.time,function(a){var b={};for(var c in p)p[A](c)&&(b[c]=p[c](a));q.attr(b)},e);return q.anims[u.id]=u,u._attrs=a,u._callback=g,b("snap.animcreated."+q.id,u),b.once("mina.finish."+u.id,function(){delete q.anims[u.id],g&&g.call(q)}),b.once("mina.stop."+u.id,function(){delete q.anims[u.id]}),q};var m={};a.data=function(a,c){var e=m[this.id]=m[this.id]||{};if(0==arguments.length)return b("snap.data.get."+this.id,this,e,null),e;if(1==arguments.length){if(d.is(a,"object")){for(var f in a)a[A](f)&&this.data(f,a[f]);return this}return b("snap.data.get."+this.id,this,e[a],a),e[a]}return e[a]=c,b("snap.data.set."+this.id,this,c,a),this},a.removeData=function(a){return null==a?m[this.id]={}:m[this.id]&&delete m[this.id][a],this},a.outerSVG=a.toString=i(1),a.innerSVG=i()}(u.prototype),d.parse=function(a){var b=z.doc.createDocumentFragment(),c=!0,d=z.doc.createElement("div");if(a=B(a),a.match(/^\s*<\s*svg(?:\s|>)/)||(a="<svg>"+a+"</svg>",c=!1),d.innerHTML=a,a=d.getElementsByTagName("svg")[0])if(c)b=a;else for(;a.firstChild;)b.appendChild(a.firstChild);return d.innerHTML=J,new v(b)},v.prototype.select=u.prototype.select,v.prototype.selectAll=u.prototype.selectAll,d.fragment=function(){for(var a=Array.prototype.slice.call(arguments,0),b=z.doc.createDocumentFragment(),c=0,e=a.length;e>c;c++){var f=a[c];f.node&&f.node.nodeType&&b.appendChild(f.node),f.nodeType&&b.appendChild(f),"string"==typeof f&&b.appendChild(d.parse(f).node)}return new v(b)},d._.make=w,d._.wrap=y,x.prototype.el=function(a,b){var c=w(a,this.node);return b&&c.attr(b),c},b.on("snap.util.getattr",function(){var a=b.nt();a=a.substring(a.lastIndexOf(".")+1);var c=a.replace(/[A-Z]/g,function(a){return"-"+a.toLowerCase()});return fb[A](c)?this.node.ownerDocument.defaultView.getComputedStyle(this.node,null).getPropertyValue(c):e(this.node,a)});var fb={"alignment-baseline":0,"baseline-shift":0,clip:0,"clip-path":0,"clip-rule":0,color:0,"color-interpolation":0,"color-interpolation-filters":0,"color-profile":0,"color-rendering":0,cursor:0,direction:0,display:0,"dominant-baseline":0,"enable-background":0,fill:0,"fill-opacity":0,"fill-rule":0,filter:0,"flood-color":0,"flood-opacity":0,font:0,"font-family":0,"font-size":0,"font-size-adjust":0,"font-stretch":0,"font-style":0,"font-variant":0,"font-weight":0,"glyph-orientation-horizontal":0,"glyph-orientation-vertical":0,"image-rendering":0,kerning:0,"letter-spacing":0,"lighting-color":0,marker:0,"marker-end":0,"marker-mid":0,"marker-start":0,mask:0,opacity:0,overflow:0,"pointer-events":0,"shape-rendering":0,"stop-color":0,"stop-opacity":0,stroke:0,"stroke-dasharray":0,"stroke-dashoffset":0,"stroke-linecap":0,"stroke-linejoin":0,"stroke-miterlimit":0,"stroke-opacity":0,"stroke-width":0,"text-anchor":0,"text-decoration":0,"text-rendering":0,"unicode-bidi":0,visibility:0,"word-spacing":0,"writing-mode":0};b.on("snap.util.attr",function(a){var c=b.nt(),d={};c=c.substring(c.lastIndexOf(".")+1),d[c]=a;var f=c.replace(/-(\w)/gi,function(a,b){return b.toUpperCase()}),g=c.replace(/[A-Z]/g,function(a){return"-"+a.toLowerCase()});fb[A](g)?this.node.style[f]=null==a?J:a:e(this.node,d)}),function(){}(x.prototype),d.ajax=function(a,c,d,e){var g=new XMLHttpRequest,h=V();if(g){if(f(c,"function"))e=d,d=c,c=null;else if(f(c,"object")){var i=[];for(var j in c)c.hasOwnProperty(j)&&i.push(encodeURIComponent(j)+"="+encodeURIComponent(c[j]));c=i.join("&")}return g.open(c?"POST":"GET",a,!0),c&&(g.setRequestHeader("X-Requested-With","XMLHttpRequest"),g.setRequestHeader("Content-type","application/x-www-form-urlencoded")),d&&(b.once("snap.ajax."+h+".0",d),b.once("snap.ajax."+h+".200",d),b.once("snap.ajax."+h+".304",d)),g.onreadystatechange=function(){4==g.readyState&&b("snap.ajax."+h+"."+g.status,e,g)},4==g.readyState?g:(g.send(c),g)}},d.load=function(a,b,c){d.ajax(a,function(a){var e=d.parse(a.responseText);c?b.call(c,e):b(e)})};var gb=function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument,d=c.body,e=c.documentElement,f=e.clientTop||d.clientTop||0,h=e.clientLeft||d.clientLeft||0,i=b.top+(g.win.pageYOffset||e.scrollTop||d.scrollTop)-f,j=b.left+(g.win.pageXOffset||e.scrollLeft||d.scrollLeft)-h;return{y:i,x:j}};return d.getElementByPoint=function(a,b){var c=this,d=(c.canvas,z.doc.elementFromPoint(a,b));if(z.win.opera&&"svg"==d.tagName){var e=gb(d),f=d.createSVGRect();f.x=a-e.x,f.y=b-e.y,f.width=f.height=1;var g=d.getIntersectionList(f,null);g.length&&(d=g[g.length-1])}return d?y(d):null},d.plugin=function(a){a(d,u,x,z,v)},z.win.Snap=d,d}();return d.plugin(function(a){function b(a,b,d,e,f,g){return null==b&&"[object SVGMatrix]"==c.call(a)?(this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.e=a.e,void(this.f=a.f)):void(null!=a?(this.a=+a,this.b=+b,this.c=+d,this.d=+e,this.e=+f,this.f=+g):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0))}var c=Object.prototype.toString,d=String,e=Math,f="";!function(c){function g(a){return a[0]*a[0]+a[1]*a[1]
}function h(a){var b=e.sqrt(g(a));a[0]&&(a[0]/=b),a[1]&&(a[1]/=b)}c.add=function(a,c,d,e,f,g){var h,i,j,k,l=[[],[],[]],m=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]],n=[[a,d,f],[c,e,g],[0,0,1]];for(a&&a instanceof b&&(n=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1]]),h=0;3>h;h++)for(i=0;3>i;i++){for(k=0,j=0;3>j;j++)k+=m[h][j]*n[j][i];l[h][i]=k}return this.a=l[0][0],this.b=l[1][0],this.c=l[0][1],this.d=l[1][1],this.e=l[0][2],this.f=l[1][2],this},c.invert=function(){var a=this,c=a.a*a.d-a.b*a.c;return new b(a.d/c,-a.b/c,-a.c/c,a.a/c,(a.c*a.f-a.d*a.e)/c,(a.b*a.e-a.a*a.f)/c)},c.clone=function(){return new b(this.a,this.b,this.c,this.d,this.e,this.f)},c.translate=function(a,b){return this.add(1,0,0,1,a,b)},c.scale=function(a,b,c,d){return null==b&&(b=a),(c||d)&&this.add(1,0,0,1,c,d),this.add(a,0,0,b,0,0),(c||d)&&this.add(1,0,0,1,-c,-d),this},c.rotate=function(b,c,d){b=a.rad(b),c=c||0,d=d||0;var f=+e.cos(b).toFixed(9),g=+e.sin(b).toFixed(9);return this.add(f,g,-g,f,c,d),this.add(1,0,0,1,-c,-d)},c.x=function(a,b){return a*this.a+b*this.c+this.e},c.y=function(a,b){return a*this.b+b*this.d+this.f},c.get=function(a){return+this[d.fromCharCode(97+a)].toFixed(4)},c.toString=function(){return"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")"},c.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},c.determinant=function(){return this.a*this.d-this.b*this.c},c.split=function(){var b={};b.dx=this.e,b.dy=this.f;var c=[[this.a,this.c],[this.b,this.d]];b.scalex=e.sqrt(g(c[0])),h(c[0]),b.shear=c[0][0]*c[1][0]+c[0][1]*c[1][1],c[1]=[c[1][0]-c[0][0]*b.shear,c[1][1]-c[0][1]*b.shear],b.scaley=e.sqrt(g(c[1])),h(c[1]),b.shear/=b.scaley,this.determinant()<0&&(b.scalex=-b.scalex);var d=-c[0][1],f=c[1][1];return 0>f?(b.rotate=a.deg(e.acos(f)),0>d&&(b.rotate=360-b.rotate)):b.rotate=a.deg(e.asin(d)),b.isSimple=!(+b.shear.toFixed(9)||b.scalex.toFixed(9)!=b.scaley.toFixed(9)&&b.rotate),b.isSuperSimple=!+b.shear.toFixed(9)&&b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate,b.noRotation=!+b.shear.toFixed(9)&&!b.rotate,b},c.toTransformString=function(a){var b=a||this.split();return+b.shear.toFixed(9)?"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]:(b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4),(b.dx||b.dy?"t"+[+b.dx.toFixed(4),+b.dy.toFixed(4)]:f)+(1!=b.scalex||1!=b.scaley?"s"+[b.scalex,b.scaley,0,0]:f)+(b.rotate?"r"+[+b.rotate.toFixed(4),0,0]:f))}}(b.prototype),a.Matrix=b,a.matrix=function(a,c,d,e,f,g){return new b(a,c,d,e,f,g)}}),d.plugin(function(a,c,d,e,f){function g(d){return function(e){if(b.stop(),e instanceof f&&1==e.node.childNodes.length&&("radialGradient"==e.node.firstChild.tagName||"linearGradient"==e.node.firstChild.tagName||"pattern"==e.node.firstChild.tagName)&&(e=e.node.firstChild,n(this).appendChild(e),e=l(e)),e instanceof c)if("radialGradient"==e.type||"linearGradient"==e.type||"pattern"==e.type){e.node.id||p(e.node,{id:e.id});var g=q(e.node.id)}else g=e.attr(d);else if(g=a.color(e),g.error){var h=a(n(this).ownerSVGElement).gradient(e);h?(h.node.id||p(h.node,{id:h.id}),g=q(h.node.id)):g=e}else g=r(g);var i={};i[d]=g,p(this.node,i),this.node.style[d]=t}}function h(a){b.stop(),a==+a&&(a+="px"),this.node.style.fontSize=a}function i(a){for(var b=[],c=a.childNodes,d=0,e=c.length;e>d;d++){var f=c[d];3==f.nodeType&&b.push(f.nodeValue),"tspan"==f.tagName&&b.push(1==f.childNodes.length&&3==f.firstChild.nodeType?f.firstChild.nodeValue:i(f))}return b}function j(){return b.stop(),this.node.style.fontSize}var k=a._.make,l=a._.wrap,m=a.is,n=a._.getSomeDefs,o=/^url\(#?([^)]+)\)$/,p=a._.$,q=a.url,r=String,s=a._.separator,t="";b.on("snap.util.attr.mask",function(a){if(a instanceof c||a instanceof f){if(b.stop(),a instanceof f&&1==a.node.childNodes.length&&(a=a.node.firstChild,n(this).appendChild(a),a=l(a)),"mask"==a.type)var d=a;else d=k("mask",n(this)),d.node.appendChild(a.node);!d.node.id&&p(d.node,{id:d.id}),p(this.node,{mask:q(d.id)})}}),function(a){b.on("snap.util.attr.clip",a),b.on("snap.util.attr.clip-path",a),b.on("snap.util.attr.clipPath",a)}(function(a){if(a instanceof c||a instanceof f){if(b.stop(),"clipPath"==a.type)var d=a;else d=k("clipPath",n(this)),d.node.appendChild(a.node),!d.node.id&&p(d.node,{id:d.id});p(this.node,{"clip-path":q(d.id)})}}),b.on("snap.util.attr.fill",g("fill")),b.on("snap.util.attr.stroke",g("stroke"));var u=/^([lr])(?:\(([^)]*)\))?(.*)$/i;b.on("snap.util.grad.parse",function(a){a=r(a);var b=a.match(u);if(!b)return null;var c=b[1],d=b[2],e=b[3];return d=d.split(/\s*,\s*/).map(function(a){return+a==a?+a:a}),1==d.length&&0==d[0]&&(d=[]),e=e.split("-"),e=e.map(function(a){a=a.split(":");var b={color:a[0]};return a[1]&&(b.offset=parseFloat(a[1])),b}),{type:c,params:d,stops:e}}),b.on("snap.util.attr.d",function(c){b.stop(),m(c,"array")&&m(c[0],"array")&&(c=a.path.toString.call(c)),c=r(c),c.match(/[ruo]/i)&&(c=a.path.toAbsolute(c)),p(this.node,{d:c})})(-1),b.on("snap.util.attr.#text",function(a){b.stop(),a=r(a);for(var c=e.doc.createTextNode(a);this.node.firstChild;)this.node.removeChild(this.node.firstChild);this.node.appendChild(c)})(-1),b.on("snap.util.attr.path",function(a){b.stop(),this.attr({d:a})})(-1),b.on("snap.util.attr.class",function(a){b.stop(),this.node.className.baseVal=a})(-1),b.on("snap.util.attr.viewBox",function(a){var c;c=m(a,"object")&&"x"in a?[a.x,a.y,a.width,a.height].join(" "):m(a,"array")?a.join(" "):a,p(this.node,{viewBox:c}),b.stop()})(-1),b.on("snap.util.attr.transform",function(a){this.transform(a),b.stop()})(-1),b.on("snap.util.attr.r",function(a){"rect"==this.type&&(b.stop(),p(this.node,{rx:a,ry:a}))})(-1),b.on("snap.util.attr.textpath",function(a){if(b.stop(),"text"==this.type){var d,e,f;if(!a&&this.textPath){for(e=this.textPath;e.node.firstChild;)this.node.appendChild(e.node.firstChild);return e.remove(),void delete this.textPath}if(m(a,"string")){var g=n(this),h=l(g.parentNode).path(a);g.appendChild(h.node),d=h.id,h.attr({id:d})}else a=l(a),a instanceof c&&(d=a.attr("id"),d||(d=a.id,a.attr({id:d})));if(d)if(e=this.textPath,f=this.node,e)e.attr({"xlink:href":"#"+d});else{for(e=p("textPath",{"xlink:href":"#"+d});f.firstChild;)e.appendChild(f.firstChild);f.appendChild(e),this.textPath=l(e)}}})(-1),b.on("snap.util.attr.text",function(a){if("text"==this.type){for(var c=this.node,d=function(a){var b=p("tspan");if(m(a,"array"))for(var c=0;c<a.length;c++)b.appendChild(d(a[c]));else b.appendChild(e.doc.createTextNode(a));return b.normalize&&b.normalize(),b};c.firstChild;)c.removeChild(c.firstChild);for(var f=d(a);f.firstChild;)c.appendChild(f.firstChild)}b.stop()})(-1),b.on("snap.util.attr.fontSize",h)(-1),b.on("snap.util.attr.font-size",h)(-1),b.on("snap.util.getattr.transform",function(){return b.stop(),this.transform()})(-1),b.on("snap.util.getattr.textpath",function(){return b.stop(),this.textPath})(-1),function(){function c(c){return function(){b.stop();var d=e.doc.defaultView.getComputedStyle(this.node,null).getPropertyValue("marker-"+c);return"none"==d?d:a(e.doc.getElementById(d.match(o)[1]))}}function d(a){return function(c){b.stop();var d="marker"+a.charAt(0).toUpperCase()+a.substring(1);if(""==c||!c)return void(this.node.style[d]="none");if("marker"==c.type){var e=c.node.id;return e||p(c.node,{id:c.id}),void(this.node.style[d]=q(e))}}}b.on("snap.util.getattr.marker-end",c("end"))(-1),b.on("snap.util.getattr.markerEnd",c("end"))(-1),b.on("snap.util.getattr.marker-start",c("start"))(-1),b.on("snap.util.getattr.markerStart",c("start"))(-1),b.on("snap.util.getattr.marker-mid",c("mid"))(-1),b.on("snap.util.getattr.markerMid",c("mid"))(-1),b.on("snap.util.attr.marker-end",d("end"))(-1),b.on("snap.util.attr.markerEnd",d("end"))(-1),b.on("snap.util.attr.marker-start",d("start"))(-1),b.on("snap.util.attr.markerStart",d("start"))(-1),b.on("snap.util.attr.marker-mid",d("mid"))(-1),b.on("snap.util.attr.markerMid",d("mid"))(-1)}(),b.on("snap.util.getattr.r",function(){return"rect"==this.type&&p(this.node,"rx")==p(this.node,"ry")?(b.stop(),p(this.node,"rx")):void 0})(-1),b.on("snap.util.getattr.text",function(){if("text"==this.type||"tspan"==this.type){b.stop();var a=i(this.node);return 1==a.length?a[0]:a}})(-1),b.on("snap.util.getattr.#text",function(){return this.node.textContent})(-1),b.on("snap.util.getattr.viewBox",function(){b.stop();var c=p(this.node,"viewBox");return c?(c=c.split(s),a._.box(+c[0],+c[1],+c[2],+c[3])):void 0})(-1),b.on("snap.util.getattr.points",function(){var a=p(this.node,"points");return b.stop(),a?a.split(s):void 0})(-1),b.on("snap.util.getattr.path",function(){var a=p(this.node,"d");return b.stop(),a})(-1),b.on("snap.util.getattr.class",function(){return this.node.className.baseVal})(-1),b.on("snap.util.getattr.fontSize",j)(-1),b.on("snap.util.getattr.font-size",j)(-1)}),d.plugin(function(){function a(a){return a}function c(a){return function(b){return+b.toFixed(3)+a}}var d={"+":function(a,b){return a+b},"-":function(a,b){return a-b},"/":function(a,b){return a/b},"*":function(a,b){return a*b}},e=String,f=/[a-z]+$/i,g=/^\s*([+\-\/*])\s*=\s*([\d.eE+\-]+)\s*([^\d\s]+)?\s*$/;b.on("snap.util.attr",function(a){var c=e(a).match(g);if(c){var h=b.nt(),i=h.substring(h.lastIndexOf(".")+1),j=this.attr(i),k={};b.stop();var l=c[3]||"",m=j.match(f),n=d[c[1]];if(m&&m==l?a=n(parseFloat(j),+c[2]):(j=this.asPX(i),a=n(this.asPX(i),this.asPX(i,c[2]+l))),isNaN(j)||isNaN(a))return;k[i]=a,this.attr(k)}})(-10),b.on("snap.util.equal",function(h,i){var j=e(this.attr(h)||""),k=e(i).match(g);if(k){b.stop();var l=k[3]||"",m=j.match(f),n=d[k[1]];return m&&m==l?{from:parseFloat(j),to:n(parseFloat(j),+k[2]),f:c(m)}:(j=this.asPX(h),{from:j,to:n(j,this.asPX(h,k[2]+l)),f:a})}})(-10)}),d.plugin(function(a,c,d,e){var f=d.prototype,g=a.is;f.rect=function(a,b,c,d,e,f){var h;return null==f&&(f=e),g(a,"object")&&"[object Object]"==a?h=a:null!=a&&(h={x:a,y:b,width:c,height:d},null!=e&&(h.rx=e,h.ry=f)),this.el("rect",h)},f.circle=function(a,b,c){var d;return g(a,"object")&&"[object Object]"==a?d=a:null!=a&&(d={cx:a,cy:b,r:c}),this.el("circle",d)};var h=function(){function a(){this.parentNode.removeChild(this)}return function(b,c){var d=e.doc.createElement("img"),f=e.doc.body;d.style.cssText="position:absolute;left:-9999em;top:-9999em",d.onload=function(){c.call(d),d.onload=d.onerror=null,f.removeChild(d)},d.onerror=a,f.appendChild(d),d.src=b}}();f.image=function(b,c,d,e,f){var i=this.el("image");if(g(b,"object")&&"src"in b)i.attr(b);else if(null!=b){var j={"xlink:href":b,preserveAspectRatio:"none"};null!=c&&null!=d&&(j.x=c,j.y=d),null!=e&&null!=f?(j.width=e,j.height=f):h(b,function(){a._.$(i.node,{width:this.offsetWidth,height:this.offsetHeight})}),a._.$(i.node,j)}return i},f.ellipse=function(a,b,c,d){var e;return g(a,"object")&&"[object Object]"==a?e=a:null!=a&&(e={cx:a,cy:b,rx:c,ry:d}),this.el("ellipse",e)},f.path=function(a){var b;return g(a,"object")&&!g(a,"array")?b=a:a&&(b={d:a}),this.el("path",b)},f.group=f.g=function(a){var b=this.el("g");return 1==arguments.length&&a&&!a.type?b.attr(a):arguments.length&&b.add(Array.prototype.slice.call(arguments,0)),b},f.svg=function(a,b,c,d,e,f,h,i){var j={};return g(a,"object")&&null==b?j=a:(null!=a&&(j.x=a),null!=b&&(j.y=b),null!=c&&(j.width=c),null!=d&&(j.height=d),null!=e&&null!=f&&null!=h&&null!=i&&(j.viewBox=[e,f,h,i])),this.el("svg",j)},f.mask=function(a){var b=this.el("mask");return 1==arguments.length&&a&&!a.type?b.attr(a):arguments.length&&b.add(Array.prototype.slice.call(arguments,0)),b},f.ptrn=function(a,b,c,d,e,f,h,i){if(g(a,"object"))var j=a;else arguments.length?(j={},null!=a&&(j.x=a),null!=b&&(j.y=b),null!=c&&(j.width=c),null!=d&&(j.height=d),null!=e&&null!=f&&null!=h&&null!=i&&(j.viewBox=[e,f,h,i])):j={patternUnits:"userSpaceOnUse"};return this.el("pattern",j)},f.use=function(a){if(null!=a){{make("use",this.node)}return a instanceof c&&(a.attr("id")||a.attr({id:ID()}),a=a.attr("id")),this.el("use",{"xlink:href":a})}return c.prototype.use.call(this)},f.text=function(a,b,c){var d={};return g(a,"object")?d=a:null!=a&&(d={x:a,y:b,text:c||""}),this.el("text",d)},f.line=function(a,b,c,d){var e={};return g(a,"object")?e=a:null!=a&&(e={x1:a,x2:c,y1:b,y2:d}),this.el("line",e)},f.polyline=function(a){arguments.length>1&&(a=Array.prototype.slice.call(arguments,0));var b={};return g(a,"object")&&!g(a,"array")?b=a:null!=a&&(b={points:a}),this.el("polyline",b)},f.polygon=function(a){arguments.length>1&&(a=Array.prototype.slice.call(arguments,0));var b={};return g(a,"object")&&!g(a,"array")?b=a:null!=a&&(b={points:a}),this.el("polygon",b)},function(){function c(){return this.selectAll("stop")}function d(b,c){var d=j("stop"),e={offset:+c+"%"};return b=a.color(b),e["stop-color"]=b.hex,b.opacity<1&&(e["stop-opacity"]=b.opacity),j(d,e),this.node.appendChild(d),this}function e(){if("linearGradient"==this.type){var b=j(this.node,"x1")||0,c=j(this.node,"x2")||1,d=j(this.node,"y1")||0,e=j(this.node,"y2")||0;return a._.box(b,d,math.abs(c-b),math.abs(e-d))}var f=this.node.cx||.5,g=this.node.cy||.5,h=this.node.r||0;return a._.box(f-h,g-h,2*h,2*h)}function g(a,c){function d(a,b){for(var c=(b-l)/(a-m),d=m;a>d;d++)g[d].offset=+(+l+c*(d-m)).toFixed(2);m=a,l=b}var e,f=b("snap.util.grad.parse",null,c).firstDefined();if(!f)return null;f.params.unshift(a),e="l"==f.type.toLowerCase()?h.apply(0,f.params):i.apply(0,f.params),f.type!=f.type.toLowerCase()&&j(e.node,{gradientUnits:"userSpaceOnUse"});var g=f.stops,k=g.length,l=0,m=0;k--;for(var n=0;k>n;n++)"offset"in g[n]&&d(n,g[n].offset);for(g[k].offset=g[k].offset||100,d(k,g[k].offset),n=0;k>=n;n++){var o=g[n];e.addStop(o.color,o.offset)}return e}function h(b,f,g,h,i){var k=a._.make("linearGradient",b);return k.stops=c,k.addStop=d,k.getBBox=e,null!=f&&j(k.node,{x1:f,y1:g,x2:h,y2:i}),k}function i(b,f,g,h,i,k){var l=a._.make("radialGradient",b);return l.stops=c,l.addStop=d,l.getBBox=e,null!=f&&j(l.node,{cx:f,cy:g,r:h}),null!=i&&null!=k&&j(l.node,{fx:i,fy:k}),l}var j=a._.$;f.gradient=function(a){return g(this.defs,a)},f.gradientLinear=function(a,b,c,d){return h(this.defs,a,b,c,d)},f.gradientRadial=function(a,b,c,d,e){return i(this.defs,a,b,c,d,e)},f.toString=function(){var b,c=this.node.ownerDocument,d=c.createDocumentFragment(),e=c.createElement("div"),f=this.node.cloneNode(!0);return d.appendChild(e),e.appendChild(f),a._.$(f,{xmlns:"http://www.w3.org/2000/svg"}),b=e.innerHTML,d.removeChild(d.firstChild),b},f.clear=function(){for(var a,b=this.node.firstChild;b;)a=b.nextSibling,"defs"!=b.tagName?b.parentNode.removeChild(b):f.clear.call({node:b}),b=a}}()}),d.plugin(function(a,b){function c(a){var b=c.ps=c.ps||{};return b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[K](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])}),b[a]}function d(a,b,c,d){return null==a&&(a=b=c=d=0),null==b&&(b=a.y,c=a.width,d=a.height,a=a.x),{x:a,y:b,width:c,w:c,height:d,h:d,x2:a+c,y2:b+d,cx:a+c/2,cy:b+d/2,r1:N.min(c,d)/2,r2:N.max(c,d)/2,r0:N.sqrt(c*c+d*d)/2,path:w(a,b,c,d),vb:[a,b,c,d].join(" ")}}function e(){return this.join(",").replace(L,"$1")}function f(a){var b=J(a);return b.toString=e,b}function g(a,b,c,d,e,f,g,h,j){return null==j?n(a,b,c,d,e,f,g,h):i(a,b,c,d,e,f,g,h,o(a,b,c,d,e,f,g,h,j))}function h(c,d){function e(a){return+(+a).toFixed(3)}return a._.cacher(function(a,f,h){a instanceof b&&(a=a.attr("d")),a=E(a);for(var j,k,l,m,n,o="",p={},q=0,r=0,s=a.length;s>r;r++){if(l=a[r],"M"==l[0])j=+l[1],k=+l[2];else{if(m=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6]),q+m>f){if(d&&!p.start){if(n=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6],f-q),o+=["C"+e(n.start.x),e(n.start.y),e(n.m.x),e(n.m.y),e(n.x),e(n.y)],h)return o;p.start=o,o=["M"+e(n.x),e(n.y)+"C"+e(n.n.x),e(n.n.y),e(n.end.x),e(n.end.y),e(l[5]),e(l[6])].join(),q+=m,j=+l[5],k=+l[6];continue}if(!c&&!d)return n=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6],f-q)}q+=m,j=+l[5],k=+l[6]}o+=l.shift()+l}return p.end=o,n=c?q:d?p:i(j,k,l[0],l[1],l[2],l[3],l[4],l[5],1)},null,a._.clone)}function i(a,b,c,d,e,f,g,h,i){var j=1-i,k=R(j,3),l=R(j,2),m=i*i,n=m*i,o=k*a+3*l*i*c+3*j*i*i*e+n*g,p=k*b+3*l*i*d+3*j*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,w=j*e+i*g,x=j*f+i*h,y=90-180*N.atan2(q-s,r-t)/O;return{x:o,y:p,m:{x:q,y:r},n:{x:s,y:t},start:{x:u,y:v},end:{x:w,y:x},alpha:y}}function j(b,c,e,f,g,h,i,j){a.is(b,"array")||(b=[b,c,e,f,g,h,i,j]);var k=D.apply(null,b);return d(k.min.x,k.min.y,k.max.x-k.min.x,k.max.y-k.min.y)}function k(a,b,c){return b>=a.x&&b<=a.x+a.width&&c>=a.y&&c<=a.y+a.height}function l(a,b){return a=d(a),b=d(b),k(b,a.x,a.y)||k(b,a.x2,a.y)||k(b,a.x,a.y2)||k(b,a.x2,a.y2)||k(a,b.x,b.y)||k(a,b.x2,b.y)||k(a,b.x,b.y2)||k(a,b.x2,b.y2)||(a.x<b.x2&&a.x>b.x||b.x<a.x2&&b.x>a.x)&&(a.y<b.y2&&a.y>b.y||b.y<a.y2&&b.y>a.y)}function m(a,b,c,d,e){var f=-3*b+9*c-9*d+3*e,g=a*f+6*b-12*c+6*d;return a*g-3*b+3*c}function n(a,b,c,d,e,f,g,h,i){null==i&&(i=1),i=i>1?1:0>i?0:i;for(var j=i/2,k=12,l=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],n=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],o=0,p=0;k>p;p++){var q=j*l[p]+j,r=m(q,a,c,e,g),s=m(q,b,d,f,h),t=r*r+s*s;o+=n[p]*N.sqrt(t)}return j*o}function o(a,b,c,d,e,f,g,h,i){if(!(0>i||n(a,b,c,d,e,f,g,h)<i)){var j,k=1,l=k/2,m=k-l,o=.01;for(j=n(a,b,c,d,e,f,g,h,m);S(j-i)>o;)l/=2,m+=(i>j?1:-1)*l,j=n(a,b,c,d,e,f,g,h,m);return m}}function p(a,b,c,d,e,f,g,h){if(!(Q(a,c)<P(e,g)||P(a,c)>Q(e,g)||Q(b,d)<P(f,h)||P(b,d)>Q(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(k){var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(!(n<+P(a,c).toFixed(2)||n>+Q(a,c).toFixed(2)||n<+P(e,g).toFixed(2)||n>+Q(e,g).toFixed(2)||o<+P(b,d).toFixed(2)||o>+Q(b,d).toFixed(2)||o<+P(f,h).toFixed(2)||o>+Q(f,h).toFixed(2)))return{x:l,y:m}}}}function q(a,b,c){var d=j(a),e=j(b);if(!l(d,e))return c?0:[];for(var f=n.apply(0,a),g=n.apply(0,b),h=~~(f/8),k=~~(g/8),m=[],o=[],q={},r=c?0:[],s=0;h+1>s;s++){var t=i.apply(0,a.concat(s/h));m.push({x:t.x,y:t.y,t:s/h})}for(s=0;k+1>s;s++)t=i.apply(0,b.concat(s/k)),o.push({x:t.x,y:t.y,t:s/k});for(s=0;h>s;s++)for(var u=0;k>u;u++){var v=m[s],w=m[s+1],x=o[u],y=o[u+1],z=S(w.x-v.x)<.001?"y":"x",A=S(y.x-x.x)<.001?"y":"x",B=p(v.x,v.y,w.x,w.y,x.x,x.y,y.x,y.y);if(B){if(q[B.x.toFixed(4)]==B.y.toFixed(4))continue;q[B.x.toFixed(4)]=B.y.toFixed(4);var C=v.t+S((B[z]-v[z])/(w[z]-v[z]))*(w.t-v.t),D=x.t+S((B[A]-x[A])/(y[A]-x[A]))*(y.t-x.t);C>=0&&1>=C&&D>=0&&1>=D&&(c?r++:r.push({x:B.x,y:B.y,t1:C,t2:D}))}}return r}function r(a,b){return t(a,b)}function s(a,b){return t(a,b,1)}function t(a,b,c){a=E(a),b=E(b);for(var d,e,f,g,h,i,j,k,l,m,n=c?0:[],o=0,p=a.length;p>o;o++){var r=a[o];if("M"==r[0])d=h=r[1],e=i=r[2];else{"C"==r[0]?(l=[d,e].concat(r.slice(1)),d=l[6],e=l[7]):(l=[d,e,d,e,h,i,h,i],d=h,e=i);for(var s=0,t=b.length;t>s;s++){var u=b[s];if("M"==u[0])f=j=u[1],g=k=u[2];else{"C"==u[0]?(m=[f,g].concat(u.slice(1)),f=m[6],g=m[7]):(m=[f,g,f,g,j,k,j,k],f=j,g=k);var v=q(l,m,c);if(c)n+=v;else{for(var w=0,x=v.length;x>w;w++)v[w].segment1=o,v[w].segment2=s,v[w].bez1=l,v[w].bez2=m;n=n.concat(v)}}}}}return n}function u(a,b,c){var d=v(a);return k(d,b,c)&&t(a,[["M",b,c],["H",d.x2+10]],1)%2==1}function v(a){var b=c(a);if(b.bbox)return J(b.bbox);if(!a)return d();a=E(a);for(var e,f=0,g=0,h=[],i=[],j=0,k=a.length;k>j;j++)if(e=a[j],"M"==e[0])f=e[1],g=e[2],h.push(f),i.push(g);else{var l=D(f,g,e[1],e[2],e[3],e[4],e[5],e[6]);h=h.concat(l.min.x,l.max.x),i=i.concat(l.min.y,l.max.y),f=e[5],g=e[6]}var m=P.apply(0,h),n=P.apply(0,i),o=Q.apply(0,h),p=Q.apply(0,i),q=d(m,n,o-m,p-n);return b.bbox=J(q),q}function w(a,b,c,d,f){if(f)return[["M",+a+ +f,b],["l",c-2*f,0],["a",f,f,0,0,1,f,f],["l",0,d-2*f],["a",f,f,0,0,1,-f,f],["l",2*f-c,0],["a",f,f,0,0,1,-f,-f],["l",0,2*f-d],["a",f,f,0,0,1,f,-f],["z"]];var g=[["M",a,b],["l",c,0],["l",0,d],["l",-c,0],["z"]];return g.toString=e,g}function x(a,b,c,d,f){if(null==f&&null==d&&(d=c),a=+a,b=+b,c=+c,d=+d,null!=f)var g=Math.PI/180,h=a+c*Math.cos(-d*g),i=a+c*Math.cos(-f*g),j=b+c*Math.sin(-d*g),k=b+c*Math.sin(-f*g),l=[["M",h,j],["A",c,c,0,+(f-d>180),0,i,k]];else l=[["M",a,b],["m",0,-d],["a",c,d,0,1,1,0,2*d],["a",c,d,0,1,1,0,-2*d],["z"]];return l.toString=e,l}function y(b){var d=c(b),g=String.prototype.toLowerCase;if(d.rel)return f(d.rel);a.is(b,"array")&&a.is(b&&b[0],"array")||(b=a.parsePathString(b));var h=[],i=0,j=0,k=0,l=0,m=0;"M"==b[0][0]&&(i=b[0][1],j=b[0][2],k=i,l=j,m++,h.push(["M",i,j]));for(var n=m,o=b.length;o>n;n++){var p=h[n]=[],q=b[n];if(q[0]!=g.call(q[0]))switch(p[0]=g.call(q[0]),p[0]){case"a":p[1]=q[1],p[2]=q[2],p[3]=q[3],p[4]=q[4],p[5]=q[5],p[6]=+(q[6]-i).toFixed(3),p[7]=+(q[7]-j).toFixed(3);break;case"v":p[1]=+(q[1]-j).toFixed(3);break;case"m":k=q[1],l=q[2];default:for(var r=1,s=q.length;s>r;r++)p[r]=+(q[r]-(r%2?i:j)).toFixed(3)}else{p=h[n]=[],"m"==q[0]&&(k=q[1]+i,l=q[2]+j);for(var t=0,u=q.length;u>t;t++)h[n][t]=q[t]}var v=h[n].length;switch(h[n][0]){case"z":i=k,j=l;break;case"h":i+=+h[n][v-1];break;case"v":j+=+h[n][v-1];break;default:i+=+h[n][v-2],j+=+h[n][v-1]}}return h.toString=e,d.rel=f(h),h}function z(b){var d=c(b);if(d.abs)return f(d.abs);if(I(b,"array")&&I(b&&b[0],"array")||(b=a.parsePathString(b)),!b||!b.length)return[["M",0,0]];var g,h=[],i=0,j=0,k=0,l=0,m=0;"M"==b[0][0]&&(i=+b[0][1],j=+b[0][2],k=i,l=j,m++,h[0]=["M",i,j]);for(var n,o,p=3==b.length&&"M"==b[0][0]&&"R"==b[1][0].toUpperCase()&&"Z"==b[2][0].toUpperCase(),q=m,r=b.length;r>q;q++){if(h.push(n=[]),o=b[q],g=o[0],g!=g.toUpperCase())switch(n[0]=g.toUpperCase(),n[0]){case"A":n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4],n[5]=o[5],n[6]=+o[6]+i,n[7]=+o[7]+j;break;case"V":n[1]=+o[1]+j;break;case"H":n[1]=+o[1]+i;break;case"R":for(var s=[i,j].concat(o.slice(1)),t=2,u=s.length;u>t;t++)s[t]=+s[t]+i,s[++t]=+s[t]+j;h.pop(),h=h.concat(G(s,p));break;case"O":h.pop(),s=x(i,j,o[1],o[2]),s.push(s[0]),h=h.concat(s);break;case"U":h.pop(),h=h.concat(x(i,j,o[1],o[2],o[3])),n=["U"].concat(h[h.length-1].slice(-2));break;case"M":k=+o[1]+i,l=+o[2]+j;default:for(t=1,u=o.length;u>t;t++)n[t]=+o[t]+(t%2?i:j)}else if("R"==g)s=[i,j].concat(o.slice(1)),h.pop(),h=h.concat(G(s,p)),n=["R"].concat(o.slice(-2));else if("O"==g)h.pop(),s=x(i,j,o[1],o[2]),s.push(s[0]),h=h.concat(s);else if("U"==g)h.pop(),h=h.concat(x(i,j,o[1],o[2],o[3])),n=["U"].concat(h[h.length-1].slice(-2));else for(var v=0,w=o.length;w>v;v++)n[v]=o[v];if(g=g.toUpperCase(),"O"!=g)switch(n[0]){case"Z":i=+k,j=+l;break;case"H":i=n[1];break;case"V":j=n[1];break;case"M":k=n[n.length-2],l=n[n.length-1];default:i=n[n.length-2],j=n[n.length-1]}}return h.toString=e,d.abs=f(h),h}function A(a,b,c,d){return[a,b,c,d,c,d]}function B(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]}function C(b,c,d,e,f,g,h,i,j,k){var l,m=120*O/180,n=O/180*(+f||0),o=[],p=a._.cacher(function(a,b,c){var d=a*N.cos(c)-b*N.sin(c),e=a*N.sin(c)+b*N.cos(c);return{x:d,y:e}});if(k)y=k[0],z=k[1],w=k[2],x=k[3];else{l=p(b,c,-n),b=l.x,c=l.y,l=p(i,j,-n),i=l.x,j=l.y;var q=(N.cos(O/180*f),N.sin(O/180*f),(b-i)/2),r=(c-j)/2,s=q*q/(d*d)+r*r/(e*e);s>1&&(s=N.sqrt(s),d=s*d,e=s*e);var t=d*d,u=e*e,v=(g==h?-1:1)*N.sqrt(S((t*u-t*r*r-u*q*q)/(t*r*r+u*q*q))),w=v*d*r/e+(b+i)/2,x=v*-e*q/d+(c+j)/2,y=N.asin(((c-x)/e).toFixed(9)),z=N.asin(((j-x)/e).toFixed(9));y=w>b?O-y:y,z=w>i?O-z:z,0>y&&(y=2*O+y),0>z&&(z=2*O+z),h&&y>z&&(y-=2*O),!h&&z>y&&(z-=2*O)}var A=z-y;if(S(A)>m){var B=z,D=i,E=j;z=y+m*(h&&z>y?1:-1),i=w+d*N.cos(z),j=x+e*N.sin(z),o=C(i,j,d,e,f,0,h,D,E,[z,B,w,x])}A=z-y;var F=N.cos(y),G=N.sin(y),H=N.cos(z),I=N.sin(z),J=N.tan(A/4),K=4/3*d*J,L=4/3*e*J,M=[b,c],P=[b+K*G,c-L*F],Q=[i+K*I,j-L*H],R=[i,j];if(P[0]=2*M[0]-P[0],P[1]=2*M[1]-P[1],k)return[P,Q,R].concat(o);o=[P,Q,R].concat(o).join().split(",");for(var T=[],U=0,V=o.length;V>U;U++)T[U]=U%2?p(o[U-1],o[U],n).y:p(o[U],o[U+1],n).x;return T}function D(a,b,c,d,e,f,g,h){for(var i,j,k,l,m,n,o,p,q=[],r=[[],[]],s=0;2>s;++s)if(0==s?(j=6*a-12*c+6*e,i=-3*a+9*c-9*e+3*g,k=3*c-3*a):(j=6*b-12*d+6*f,i=-3*b+9*d-9*f+3*h,k=3*d-3*b),S(i)<1e-12){if(S(j)<1e-12)continue;l=-k/j,l>0&&1>l&&q.push(l)}else o=j*j-4*k*i,p=N.sqrt(o),0>o||(m=(-j+p)/(2*i),m>0&&1>m&&q.push(m),n=(-j-p)/(2*i),n>0&&1>n&&q.push(n));for(var t,u=q.length,v=u;u--;)l=q[u],t=1-l,r[0][u]=t*t*t*a+3*t*t*l*c+3*t*l*l*e+l*l*l*g,r[1][u]=t*t*t*b+3*t*t*l*d+3*t*l*l*f+l*l*l*h;return r[0][v]=a,r[1][v]=b,r[0][v+1]=g,r[1][v+1]=h,r[0].length=r[1].length=v+2,{min:{x:P.apply(0,r[0]),y:P.apply(0,r[1])},max:{x:Q.apply(0,r[0]),y:Q.apply(0,r[1])}}}function E(a,b){var d=!b&&c(a);if(!b&&d.curve)return f(d.curve);for(var e=z(a),g=b&&z(b),h={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},i={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},j=(function(a,b,c){var d,e;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];switch(!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null),a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"].concat(C.apply(0,[b.x,b.y].concat(a.slice(1))));break;case"S":"C"==c||"S"==c?(d=2*b.x-b.bx,e=2*b.y-b.by):(d=b.x,e=b.y),a=["C",d,e].concat(a.slice(1));break;case"T":"Q"==c||"T"==c?(b.qx=2*b.x-b.qx,b.qy=2*b.y-b.qy):(b.qx=b.x,b.qy=b.y),a=["C"].concat(B(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1],b.qy=a[2],a=["C"].concat(B(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"].concat(A(b.x,b.y,a[1],a[2]));break;case"H":a=["C"].concat(A(b.x,b.y,a[1],b.y));break;case"V":a=["C"].concat(A(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"].concat(A(b.x,b.y,b.X,b.Y))}return a}),k=function(a,b){if(a[b].length>7){a[b].shift();for(var c=a[b];c.length;)m[b]="A",g&&(n[b]="A"),a.splice(b++,0,["C"].concat(c.splice(0,6)));a.splice(b,1),r=Q(e.length,g&&g.length||0)}},l=function(a,b,c,d,f){a&&b&&"M"==a[f][0]&&"M"!=b[f][0]&&(b.splice(f,0,["M",d.x,d.y]),c.bx=0,c.by=0,c.x=a[f][1],c.y=a[f][2],r=Q(e.length,g&&g.length||0))},m=[],n=[],o="",p="",q=0,r=Q(e.length,g&&g.length||0);r>q;q++){e[q]&&(o=e[q][0]),"C"!=o&&(m[q]=o,q&&(p=m[q-1])),e[q]=j(e[q],h,p),"A"!=m[q]&&"C"==o&&(m[q]="C"),k(e,q),g&&(g[q]&&(o=g[q][0]),"C"!=o&&(n[q]=o,q&&(p=n[q-1])),g[q]=j(g[q],i,p),"A"!=n[q]&&"C"==o&&(n[q]="C"),k(g,q)),l(e,g,h,i,q),l(g,e,i,h,q);var s=e[q],t=g&&g[q],u=s.length,v=g&&t.length;h.x=s[u-2],h.y=s[u-1],h.bx=M(s[u-4])||h.x,h.by=M(s[u-3])||h.y,i.bx=g&&(M(t[v-4])||i.x),i.by=g&&(M(t[v-3])||i.y),i.x=g&&t[v-2],i.y=g&&t[v-1]}return g||(d.curve=f(e)),g?[e,g]:e}function F(a,b){if(!b)return a;var c,d,e,f,g,h,i;for(a=E(a),e=0,g=a.length;g>e;e++)for(i=a[e],f=1,h=i.length;h>f;f+=2)c=b.x(i[f],i[f+1]),d=b.y(i[f],i[f+1]),i[f]=c,i[f+1]=d;return a}function G(a,b){for(var c=[],d=0,e=a.length;e-2*!b>d;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push(["C",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}var H=b.prototype,I=a.is,J=a._.clone,K="hasOwnProperty",L=/,?([a-z]),?/gi,M=parseFloat,N=Math,O=N.PI,P=N.min,Q=N.max,R=N.pow,S=N.abs,T=h(1),U=h(),V=h(0,1),W=a._unit2px,X={path:function(a){return a.attr("path")},circle:function(a){var b=W(a);return x(b.cx,b.cy,b.r)},ellipse:function(a){var b=W(a);return x(b.cx||0,b.cy||0,b.rx,b.ry)},rect:function(a){var b=W(a);return w(b.x||0,b.y||0,b.width,b.height,b.rx,b.ry)},image:function(a){var b=W(a);return w(b.x||0,b.y||0,b.width,b.height)},line:function(a){return"M"+[a.attr("x1")||0,a.attr("y1")||0,a.attr("x2"),a.attr("y2")]},polyline:function(a){return"M"+a.attr("points")},polygon:function(a){return"M"+a.attr("points")+"z"},deflt:function(a){var b=a.node.getBBox();return w(b.x,b.y,b.width,b.height)}};a.path=c,a.path.getTotalLength=T,a.path.getPointAtLength=U,a.path.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return V(a,b).end;var d=V(a,c,1);return b?V(d,b).end:d},H.getTotalLength=function(){return this.node.getTotalLength?this.node.getTotalLength():void 0},H.getPointAtLength=function(a){return U(this.attr("d"),a)},H.getSubpath=function(b,c){return a.path.getSubpath(this.attr("d"),b,c)},a._.box=d,a.path.findDotsAtSegment=i,a.path.bezierBBox=j,a.path.isPointInsideBBox=k,a.path.isBBoxIntersect=l,a.path.intersection=r,a.path.intersectionNumber=s,a.path.isPointInside=u,a.path.getBBox=v,a.path.get=X,a.path.toRelative=y,a.path.toAbsolute=z,a.path.toCubic=E,a.path.map=F,a.path.toString=e,a.path.clone=f}),d.plugin(function(a){var d=Math.max,e=Math.min,f=function(a){if(this.items=[],this.bindings={},this.length=0,this.type="set",a)for(var b=0,c=a.length;c>b;b++)a[b]&&(this[this.items.length]=this.items[this.items.length]=a[b],this.length++)},g=f.prototype;g.push=function(){for(var a,b,c=0,d=arguments.length;d>c;c++)a=arguments[c],a&&(b=this.items.length,this[b]=this.items[b]=a,this.length++);return this},g.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},g.forEach=function(a,b){for(var c=0,d=this.items.length;d>c;c++)if(a.call(b,this.items[c],c)===!1)return this;return this},g.animate=function(d,e,f,g){"function"!=typeof f||f.length||(g=f,f=c.linear),d instanceof a._.Animation&&(g=d.callback,f=d.easing,e=f.dur,d=d.attr);var h=arguments;if(a.is(d,"array")&&a.is(h[h.length-1],"array"))var i=!0;var j,k=function(){j?this.b=j:j=this.b},l=0,m=g&&function(){l++==this.length&&g.call(this)};return this.forEach(function(a,c){b.once("snap.animcreated."+a.id,k),i?h[c]&&a.animate.apply(a,h[c]):a.animate(d,e,f,m)})},g.remove=function(){for(;this.length;)this.pop().remove();return this},g.bind=function(a,b,c){var d={};if("function"==typeof b)this.bindings[a]=b;else{var e=c||a;this.bindings[a]=function(a){d[e]=a,b.attr(d)}}return this},g.attr=function(a){var b={};for(var c in a)this.bindings[c]?this.bindings[c](a[c]):b[c]=a[c];for(var d=0,e=this.items.length;e>d;d++)this.items[d].attr(b);return this},g.clear=function(){for(;this.length;)this.pop()},g.splice=function(a,b){a=0>a?d(this.length+a,0):a,b=d(0,e(this.length-a,b));var c,g=[],h=[],i=[];for(c=2;c<arguments.length;c++)i.push(arguments[c]);for(c=0;b>c;c++)h.push(this[a+c]);for(;c<this.length-a;c++)g.push(this[a+c]);var j=i.length;for(c=0;c<j+g.length;c++)this.items[a+c]=this[a+c]=j>c?i[c]:g[c-j];for(c=this.items.length=this.length-=b-j;this[c];)delete this[c++];return new f(h)},g.exclude=function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]==a)return this.splice(b,1),!0;return!1},g.insertAfter=function(a){for(var b=this.items.length;b--;)this.items[b].insertAfter(a);return this},g.getBBox=function(){for(var a=[],b=[],c=[],f=[],g=this.items.length;g--;)if(!this.items[g].removed){var h=this.items[g].getBBox();a.push(h.x),b.push(h.y),c.push(h.x+h.width),f.push(h.y+h.height)}return a=e.apply(0,a),b=e.apply(0,b),c=d.apply(0,c),f=d.apply(0,f),{x:a,y:b,x2:c,y2:f,width:c-a,height:f-b,cx:a+(c-a)/2,cy:b+(f-b)/2}},g.clone=function(a){a=new f;for(var b=0,c=this.items.length;c>b;b++)a.push(this.items[b].clone());return a},g.toString=function(){return"Snapâs set"},g.type="set",a.set=function(){var a=new f;return arguments.length&&a.push.apply(a,Array.prototype.slice.call(arguments,0)),a}}),d.plugin(function(a,c){function d(a){var b=a[0];switch(b.toLowerCase()){case"t":return[b,0,0];case"m":return[b,1,0,0,1,0,0];case"r":return 4==a.length?[b,0,a[2],a[3]]:[b,0];case"s":return 5==a.length?[b,1,1,a[3],a[4]]:3==a.length?[b,1,1]:[b,1]}}function e(b,c,e){c=m(c).replace(/\.{3}|\u2026/g,b),b=a.parseTransformString(b)||[],c=a.parseTransformString(c)||[];for(var f,g,h,k,l=Math.max(b.length,c.length),n=[],o=[],p=0;l>p;p++){if(h=b[p]||d(c[p]),k=c[p]||d(h),h[0]!=k[0]||"r"==h[0].toLowerCase()&&(h[2]!=k[2]||h[3]!=k[3])||"s"==h[0].toLowerCase()&&(h[3]!=k[3]||h[4]!=k[4])){b=a._.transform2matrix(b,e()),c=a._.transform2matrix(c,e()),n=[["m",b.a,b.b,b.c,b.d,b.e,b.f]],o=[["m",c.a,c.b,c.c,c.d,c.e,c.f]];break}for(n[p]=[],o[p]=[],f=0,g=Math.max(h.length,k.length);g>f;f++)f in h&&(n[p][f]=h[f]),f in k&&(o[p][f]=k[f])}return{from:j(n),to:j(o),f:i(n)}}function f(a){return a}function g(a){return function(b){return+b.toFixed(3)+a}}function h(b){return a.rgb(b[0],b[1],b[2])}function i(a){var b,c,d,e,f,g,h=0,i=[];for(b=0,c=a.length;c>b;b++){for(f="[",g=['"'+a[b][0]+'"'],d=1,e=a[b].length;e>d;d++)g[d]="val["+h++ +"]";
f+=g+"]",i[b]=f}return Function("val","return Snap.path.toString.call(["+i+"])")}function j(a){for(var b=[],c=0,d=a.length;d>c;c++)for(var e=1,f=a[c].length;f>e;e++)b.push(a[c][e]);return b}var k={},l=/[a-z]+$/i,m=String;k.stroke=k.fill="colour",c.prototype.equal=function(a,c){return b("snap.util.equal",this,a,c).firstDefined()},b.on("snap.util.equal",function(b,c){var d,n,o=m(this.attr(b)||""),p=this;if(o==+o&&c==+c)return{from:+o,to:+c,f:f};if("colour"==k[b])return d=a.color(o),n=a.color(c),{from:[d.r,d.g,d.b,d.opacity],to:[n.r,n.g,n.b,n.opacity],f:h};if("transform"==b||"gradientTransform"==b||"patternTransform"==b)return c instanceof a.Matrix&&(c=c.toTransformString()),a._.rgTransform.test(c)||(c=a._.svgTransform2string(c)),e(o,c,function(){return p.getBBox(1)});if("d"==b||"path"==b)return d=a.path.toCubic(o,c),{from:j(d[0]),to:j(d[1]),f:i(d[0])};if("points"==b)return d=m(o).split(a._.separator),n=m(c).split(a._.separator),{from:d,to:n,f:function(a){return a}};aUnit=o.match(l);var q=m(c).match(l);return aUnit&&aUnit==q?{from:parseFloat(o),to:parseFloat(c),f:g(aUnit)}:{from:this.asPX(b),to:this.asPX(b,c),f:f}})}),d.plugin(function(a,c,d,e){for(var f=c.prototype,g="hasOwnProperty",h=("createTouch"in e.doc),i=["click","dblclick","mousedown","mousemove","mouseout","mouseover","mouseup","touchstart","touchmove","touchend","touchcancel"],j={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},k=(function(a,b){var c="y"==a?"scrollTop":"scrollLeft",d=b&&b.node?b.node.ownerDocument:e.doc;return d[c in d.documentElement?"documentElement":"body"][c]}),l=function(){this.returnValue=!1},m=function(){return this.originalEvent.preventDefault()},n=function(){this.cancelBubble=!0},o=function(){return this.originalEvent.stopPropagation()},p=function(){return e.doc.addEventListener?function(a,b,c,d){var e=h&&j[b]?j[b]:b,f=function(e){var f=k("y",d),i=k("x",d);if(h&&j[g](b))for(var l=0,n=e.targetTouches&&e.targetTouches.length;n>l;l++)if(e.targetTouches[l].target==a||a.contains(e.targetTouches[l].target)){var p=e;e=e.targetTouches[l],e.originalEvent=p,e.preventDefault=m,e.stopPropagation=o;break}var q=e.clientX+i,r=e.clientY+f;return c.call(d,e,q,r)};return b!==e&&a.addEventListener(b,f,!1),a.addEventListener(e,f,!1),function(){return b!==e&&a.removeEventListener(b,f,!1),a.removeEventListener(e,f,!1),!0}}:e.doc.attachEvent?function(a,b,c,d){var e=function(a){a=a||d.node.ownerDocument.window.event;var b=k("y",d),e=k("x",d),f=a.clientX+e,g=a.clientY+b;return a.preventDefault=a.preventDefault||l,a.stopPropagation=a.stopPropagation||n,c.call(d,a,f,g)};a.attachEvent("on"+b,e);var f=function(){return a.detachEvent("on"+b,e),!0};return f}:void 0}(),q=[],r=function(a){for(var c,d=a.clientX,e=a.clientY,f=k("y"),g=k("x"),i=q.length;i--;){if(c=q[i],h){for(var j,l=a.touches&&a.touches.length;l--;)if(j=a.touches[l],j.identifier==c.el._drag.id||c.el.node.contains(j.target)){d=j.clientX,e=j.clientY,(a.originalEvent?a.originalEvent:a).preventDefault();break}}else a.preventDefault();{var m=c.el.node;m.nextSibling,m.parentNode,m.style.display}d+=g,e+=f,b("snap.drag.move."+c.el.id,c.move_scope||c.el,d-c.el._drag.x,e-c.el._drag.y,d,e,a)}},s=function(c){a.unmousemove(r).unmouseup(s);for(var d,e=q.length;e--;)d=q[e],d.el._drag={},b("snap.drag.end."+d.el.id,d.end_scope||d.start_scope||d.move_scope||d.el,c);q=[]},t=i.length;t--;)!function(b){a[b]=f[b]=function(c,d){return a.is(c,"function")&&(this.events=this.events||[],this.events.push({name:b,f:c,unbind:p(this.node||document,b,c,d||this)})),this},a["un"+b]=f["un"+b]=function(a){for(var c=this.events||[],d=c.length;d--;)if(c[d].name==b&&(c[d].f==a||!a))return c[d].unbind(),c.splice(d,1),!c.length&&delete this.events,this;return this}}(i[t]);f.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)},f.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var u=[];f.drag=function(c,d,e,f,g,h){function i(i,j,k){(i.originalEvent||i).preventDefault(),this._drag.x=j,this._drag.y=k,this._drag.id=i.identifier,!q.length&&a.mousemove(r).mouseup(s),q.push({el:this,move_scope:f,start_scope:g,end_scope:h}),d&&b.on("snap.drag.start."+this.id,d),c&&b.on("snap.drag.move."+this.id,c),e&&b.on("snap.drag.end."+this.id,e),b("snap.drag.start."+this.id,g||f||this,j,k,i)}if(!arguments.length){var j;return this.drag(function(a,b){this.attr({transform:j+(j?"T":"t")+[a,b]})},function(){j=this.transform().local})}return this._drag={},u.push({el:this,start:i}),this.mousedown(i),this},f.undrag=function(){for(var c=u.length;c--;)u[c].el==this&&(this.unmousedown(u[c].start),u.splice(c,1),b.unbind("snap.drag.*."+this.id));return!u.length&&a.unmousemove(r).unmouseup(s),this}}),d.plugin(function(a,c,d){var e=(c.prototype,d.prototype),f=/^\s*url\((.+)\)/,g=String,h=a._.$;a.filter={},e.filter=function(b){var d=this;"svg"!=d.type&&(d=d.paper);var e=a.parse(g(b)),f=a._.id(),i=(d.node.offsetWidth,d.node.offsetHeight,h("filter"));return h(i,{id:f,filterUnits:"userSpaceOnUse"}),i.appendChild(e.node),d.defs.appendChild(i),new c(i)},b.on("snap.util.getattr.filter",function(){b.stop();var c=h(this.node,"filter");if(c){var d=g(c).match(f);return d&&a.select(d[1])}}),b.on("snap.util.attr.filter",function(d){if(d instanceof c&&"filter"==d.type){b.stop();var e=d.node.id;e||(h(d.node,{id:d.id}),e=d.id),h(this.node,{filter:a.url(e)})}d&&"none"!=d||(b.stop(),this.node.removeAttribute("filter"))}),a.filter.blur=function(b,c){null==b&&(b=2);var d=null==c?b:[b,c];return a.format('<feGaussianBlur stdDeviation="{def}"/>',{def:d})},a.filter.blur.toString=function(){return this()},a.filter.shadow=function(b,c,d,e,f){return"string"==typeof d&&(e=d,f=e,d=4),"string"!=typeof e&&(f=e,e="#000"),e=e||"#000",null==d&&(d=4),null==f&&(f=1),null==b&&(b=0,c=2),null==c&&(c=b),e=a.color(e),a.format('<feGaussianBlur in="SourceAlpha" stdDeviation="{blur}"/><feOffset dx="{dx}" dy="{dy}" result="offsetblur"/><feFlood flood-color="{color}"/><feComposite in2="offsetblur" operator="in"/><feComponentTransfer><feFuncA type="linear" slope="{opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>',{color:e,dx:b,dy:c,blur:d,opacity:f})},a.filter.shadow.toString=function(){return this()},a.filter.grayscale=function(b){return null==b&&(b=1),a.format('<feColorMatrix type="matrix" values="{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0"/>',{a:.2126+.7874*(1-b),b:.7152-.7152*(1-b),c:.0722-.0722*(1-b),d:.2126-.2126*(1-b),e:.7152+.2848*(1-b),f:.0722-.0722*(1-b),g:.2126-.2126*(1-b),h:.0722+.9278*(1-b)})},a.filter.grayscale.toString=function(){return this()},a.filter.sepia=function(b){return null==b&&(b=1),a.format('<feColorMatrix type="matrix" values="{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0"/>',{a:.393+.607*(1-b),b:.769-.769*(1-b),c:.189-.189*(1-b),d:.349-.349*(1-b),e:.686+.314*(1-b),f:.168-.168*(1-b),g:.272-.272*(1-b),h:.534-.534*(1-b),i:.131+.869*(1-b)})},a.filter.sepia.toString=function(){return this()},a.filter.saturate=function(b){return null==b&&(b=1),a.format('<feColorMatrix type="saturate" values="{amount}"/>',{amount:1-b})},a.filter.saturate.toString=function(){return this()},a.filter.hueRotate=function(b){return b=b||0,a.format('<feColorMatrix type="hueRotate" values="{angle}"/>',{angle:b})},a.filter.hueRotate.toString=function(){return this()},a.filter.invert=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type="table" tableValues="{amount} {amount2}"/><feFuncG type="table" tableValues="{amount} {amount2}"/><feFuncB type="table" tableValues="{amount} {amount2}"/></feComponentTransfer>',{amount:b,amount2:1-b})},a.filter.invert.toString=function(){return this()},a.filter.brightness=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type="linear" slope="{amount}"/><feFuncG type="linear" slope="{amount}"/><feFuncB type="linear" slope="{amount}"/></feComponentTransfer>',{amount:b})},a.filter.brightness.toString=function(){return this()},a.filter.contrast=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type="linear" slope="{amount}" intercept="{amount2}"/><feFuncG type="linear" slope="{amount}" intercept="{amount2}"/><feFuncB type="linear" slope="{amount}" intercept="{amount2}"/></feComponentTransfer>',{amount:b,amount2:.5-b/2})},a.filter.contrast.toString=function(){return this()}}),d});
var markers = [
	  {latLng: [48.69, 2.09], name: 'Paris', weburl : "http://www.recontact.me"},
	  {latLng: [-22.65, -43.67], name: 'Rio de Janeiro', weburl : "http://www.recontact.me"},
	  {latLng: [-23.85, -46.89], name: 'São Paulo', weburl : "http://www.recontact.me"},
	  {latLng: [-25.47, -54.60], name: 'Iguazu Falls', weburl : "http://www.recontact.me"},
	  {latLng: [-27.20, -55.89], name: 'Trinidad', weburl : "http://www.recontact.me"},
	  {latLng: [-25.26, -57.67], name: 'Asunción', weburl : "http://www.recontact.me"},
	  {latLng: [-28.10, -57.62], name: 'Esteros del Iberá', weburl : "http://www.recontact.me"},
	  {latLng: [-27.20, -58.96], name: 'Resistencia', weburl : "http://www.recontact.me"},
	  {latLng: [-24.26, -65.40], name: 'Salta', weburl : "http://www.recontact.me/merci.php"},
	  {latLng: [-20.63, -66.75], name: 'Uyuni', weburl : "http://www.recontact.me"},
	  {latLng: [-19.06, -65.76], name: 'Potosi', weburl : "http://www.recontact.me"},
	  {latLng: [-16.35, -68.47], name: 'La Paz', weburl : "http://www.recontact.me"},
	  {latLng: [-15.62, -67.65], name: 'Death road', weburl : "http://www.recontact.me"},
	  {latLng: [-13.72, -71.69], name: 'Cusco', weburl : "http://www.recontact.me"},
	  {latLng: [-13.20, -72.74], name: 'Machu Pichu', weburl : "http://www.recontact.me"},
	  {latLng: [-14.60, -75.14], name: 'Nazca Lines', weburl : "http://www.recontact.me"},
	  {latLng: [-11.65, -77.38], name: 'Lima', weburl : "http://www.recontact.me"},
	  {latLng: [-33.48, -70.87], name: 'Santiago de Chile', weburl : "http://www.recontact.me"},
	  {latLng: [-36.87, 174.74], name: 'Auckland', weburl : "http://www.recontact.me"},
	  {latLng: [-43.71, 170.84], name: 'Tekapo Lake', weburl : "http://www.recontact.me"},
	  {latLng: [-43.09, 170.84], name: 'Mount Cook', weburl : "http://www.recontact.me"},
	  {latLng: [-45.05, 168.67], name: 'Queenstown', weburl : "http://www.recontact.me"},
	  {latLng: [-46.26, 167.92], name: 'Milford Sound', weburl : "http://www.recontact.me"},
	  {latLng: [-44.08, 169.35], name: 'Haast Pass', weburl : "http://www.recontact.me"},
	  {latLng: [-34.35, 150.75], name: 'Sidney', weburl : "http://www.recontact.me"},
	  {latLng: [-34.01, 146.55], name: 'Blue Montains', weburl : "http://www.recontact.me"},
	  {latLng: [-37.69, 145.13], name: 'Melbourne', weburl : "http://www.recontact.me"},
	  {latLng: [-27.13, 152.84], name: 'Brisbane', weburl : "http://www.recontact.me"},
	  {latLng: [-18.03, 148.03], name: 'Great Barrier Reef', weburl : "http://www.recontact.me"},
	  {latLng: [1.49, 103.43], name: 'Singapore', weburl : "http://www.recontact.me"},
	  {latLng: [-8.39, 115.35], name: 'Bali', weburl : "http://www.recontact.me"},
	  {latLng: [-8.61, 116.92], name: 'Gili Islands', weburl : "http://www.recontact.me"},
	  {latLng: [-7.34, 110.11], name: 'Borobudur', weburl : "http://www.recontact.me"},
	  {latLng: [-7.87, 112.80], name: 'Mount Bromo', weburl : "http://www.recontact.me"},
	  {latLng: [13.82, 100.67], name: 'Bankok', weburl : "http://www.recontact.me"},
	  {latLng: [13.31, 104.56], name: 'Angkor', weburl : "http://www.recontact.me"},
	  {latLng: [11.39, 104.49], name: 'Phnom-Penh', weburl : "http://www.recontact.me"},
	  {latLng: [10.50, 106.66], name: 'Hô Chi Minh', weburl : "http://www.recontact.me"},
	  {latLng: [21.16, 105.46], name: 'Hà Noi', weburl : "http://www.recontact.me"},
	  {latLng: [20.51, 106.89], name: 'Halong Bay', weburl : "http://www.recontact.me"},
	  {latLng: [29.65, 103.97], name: 'Sichuan', weburl : "http://www.recontact.me"},
	  {latLng: [34.90, 104.19], name: 'Jiuzhaigou valley', weburl : "http://www.recontact.me"},
	  {latLng: [26.11, 108.61], name: 'Guilin', weburl : "http://www.recontact.me"},
	  {latLng: [39.77, 116.10], name: 'Beijing', weburl : "http://www.recontact.me"},
	  {latLng: [40.97, 116.77], name: 'Great Wall of China', weburl : "http://www.recontact.me"},
	  {latLng: [39.96, 99.62], name: 'Zhangye', weburl : "http://www.recontact.me"},
	  {latLng: [30.67, 90.26], name: 'Lhassa', weburl : "http://www.recontact.me"},
	  {latLng: [30.47, 91.01], name: 'Potala Palace', weburl : "http://www.recontact.me"},
	  {latLng: [27.99, 86.74], name: 'Mount Everest', weburl : "http://www.recontact.me"},
	  {latLng: [27.79, 85.02], name: 'Kahtmandu', weburl : "http://www.recontact.me"},
	  {latLng: [25.06, 83.82], name: 'Varanasi', weburl : "http://www.recontact.me"},
	  {latLng: [22.44, 87.27], name: 'Calcutta', weburl : "http://www.recontact.me"},
	  {latLng: [25.65, 78.43], name: 'Taj Mahal - Agra', weburl : "http://www.recontact.me"},
	  {latLng: [28.75, 77.83], name: 'New Delhi', weburl : "http://www.recontact.me"},
	  {latLng: [23.86, 76.63], name: 'Rajasthan', weburl : "http://www.recontact.me"},
	  {latLng: [33.24, 76.71], name: 'Leh Ladakh', weburl : "http://www.recontact.me"}
];
 <?php
//Header
	define('TITLE', 'Recontact Me! Blog of the world trip of Pierre and BenoÃ®t: Follow their adventure in South America,  New Zealand, Australia, Thailand, Cambodia, Vietnam, China, Nepal, India');		
	define('DESCRIPTIONSEO', 'Articles and challenges realised during the voyage in South America,  New Zealand, Australia, Thailand, Cambodia, Vietnam, China, Nepal, India');
	
//notification
	define('MESSAGENOTIFICATION', "Overview of the road in");
	define('MESSAGENOTIFICATIONHOME', "Overview of the whole road");

//Lightbox
	define('CHALLENGE', 'Challenge');
	define('ARTICLE', 'Article');
	define('THANK', 'Thanks!');
	define('PROPOSE', 'Propose');
	define('EXISTINGCHALLENGES', 'Existing Challenges');
	define('WEARECHALLENGERS', 'Which CHALLENGES? ');
	define('CHAEWW', '<li>We are CHALLENGERS! 
					<Br/>Every week we will realize one challenge
                    <br/>that you can suggest on this website!</li>
                    <li>Come back often to see your last pictures</li>');
	define('YOUHAVECHALLENGES', 'Propose your CHALLENGES?');
	define('READYTODO', 'We are READY to do it!');
	define('PROPOSEACHALLENGE', 'PROPOSE A CHALLENGE');
	define('GALTTEC', 'Get a look to the existing challenges');
	define('NEEDINSPIRATION', 'You need inspiration? ');
	define('CTECTFNO', 'Check the existing challenges to find new ones!');
	define('VIEWCHALLENGES', 'VIEW CHALLENGES');

//Homepage
	define('RETRIEVE', 'Retrieve all the <span id="confort">adventures</span> of
                    <br><span class="enGros">Beno&icirc;t </span> and
                    <span class="enGros">Pierre</span>!');
	define('SCROLL', 'Scroll to discover');
	
	define('CHALLENGEUS', 'Challenge us!');
	
//Menus
	define('HOME', 'Home');
	define('DESTINATION', 'Destination');   
    define('SOUTHAMERICA', 'South America');
	define('BRAZIL', 'Brazil');
	define('ARGENTINA', 'Argentina');
	define('PARAGUAY', 'Paraguay');
	define('BOLIVIA', 'Bolivia');
	define('PERU', 'Peru    ');
	define('CHILE', 'Chile   ');
	define('OCEANIA', 'Oceania');
	define('NZ', 'New Zealand');
	define('AUSTRALIA', 'Australia');
	define('ASIA', 'Asia');
	define('SINGAPOUR', 'Singapore');
	define('INDONESIA', 'Indonesia');
	define('THAILAND', 'Thailand');
	define('CAMBODIA', 'Cambodia');
	define('VIETNAM', 'Vietnam');
	define('CHINA', 'China');
	define('TIBET', 'Tibet');
	define('NEPAL', 'Nepal');
	define('INDIA', 'India');
	define('UAE', 'United Arab Emirates');
	define('ARTICLES', 'Articles');
	define('ALTARTICLES', 'Find all our articles');
	define('CHALLENGES', 'Challenges');
	define('ALTCHALLENGES', 'Find all our challenges');
	define('GALLERY', 'Gallery');
	define('CONTACT', 'Contact');
	define('ALTCONTACT','Send us a message');
	define('ALTAVION','Look at our itinerary');
	define('ALTHOME',"Return to homepage");
	define('ALTPAYPAL',"Help us!");
	define('ALTDEST',"Admire the destinations of our trip!");
	define('ALTCHAL',"Get a look to our last challenge");
	define('ALTART',"Get a look to our last article");
	define('ALTPROP',"Propose a challenge");
	define('ADDCHAL',"Add a challenge");
//CONTACT.php
	define('SUJET','Subject');
	define('FIRSTNAME','First Name');
	define('LASTNAME','Last Name');
 define('SEND','Send');
	 define('CANCEL','Cancel');

	//Discover all our Challenges
	define('PYC','Propose your challenge');
	define('VTEC','View the existing challenges');
	
	define('DAOA','The Articles');
	define('DAOC','The Challenges');
	define('VLAPDLA',"Photo gallery of this article");
	define('VLAA',"List of articles");
	define('VLAPDD',"Photo gallery of this challenge");
	define('VLAD',"List of challenges");
	define('ALTDAOA','Click here to go to the Articles page');
	define('ALTDAOC','Click here to go to the Challenges page');
	define('ALTVLAPDLA',"Click here to see the photo gallery of this article on Dropbox");
	define('ALTVLAA',"Click here to see all the articles");
	define('ALTVLAPDD',"Click here to see the photo gallery of this challenge on Dropbox");
	define('ALTVLAD',"Click here to see all the challenges");
		

	define('QDDM',"Which destinations discover next (work in progress)?");
	define('OU','or');
	
	//Footer
define('PIERRE', "This is Pierre
				<br/> Great traveler and entrepreneur. 
				</p><p>
				 To live is more important than following the paths society built for us.");
	define('BENOIT', 'Benoit aka Jack. 
				<br/> Practising scoutism since the youngest age, he wants to live adventures and discoveries. 
				</p><p> This world trip will be awesome !');
	define('NUAGE','Destination cloud');
	define('GETIT','Get the bracelet of the trip');

	 //Formulaire Contact
	 define('LETSSTAYINTOUCH', "Restons en contact");

//Index
	define('WHO_ARE_WE', 'Who are we?');

	 //Formulaire Contact
	 define('FN','First Name');
	 define('LN','Last Name');
	
	//Donation
	define('DON','You can also help us with donation
					<br/>We will thank you by bringing/sending souvenir for you');
   	
//DROITE
	define('FOOTER', 'Website by Pierre T.     Explore my creation on my <a href="http://pierre.recontact.me">website</a>');
	define('BACK_TO_TOP', 'Back to top');
  ?>
 <?php
//Header
	define('TITLE', 'Recontact Me ! Blog du tour du monde de Pierre et BenoÃ®t : Suivez leur aventure en AmÃ©rique du Sud, Nouvelle ZÃ©lande, Australie, ThaÃ¯lande, Cambodge, ViÃªtnam, Chine, NÃ©pal, Inde');
	define('DESCRIPTIONSEO', 'Articles et challenges rÃ©alisÃ©s durant le voyage en AmÃ©rique du Sud, Nouvelle ZÃ©lande, Australie, ThaÃ¯lande, Cambodge, ViÃªtnam, Chine, NÃ©pal, Inde');
 
//notification
	define('MESSAGENOTIFICATION', "AperÃ§u de l\'itinÃ©raire en");
	define('MESSAGENOTIFICATIONHOME', "AperÃ§u de l\'itinÃ©raire complet");

//Lightbox
	define('CHALLENGE', 'Challenge');
	define('ARTICLE', 'Article');
	define('THANK', 'Merci !');
	define('CONTACT', 'CONTACT');
	define('ALTCONTACT','Envoie-nous un message');
	define('PROPOSE', 'Propose');
	define('EXISTINGCHALLENGES', 'Les dÃ©fis existants');
	define('WEARECHALLENGERS', 'Quels dÃ©fis ? ');
	define('CHAEWW', '<li>Nous aimons les dÃ©fis !
					<br/> Chaque semaine, nous rÃ©aliserons un dÃ©fi !
                    <br/>SuggÃ¨re-nous des dÃ©fis sur ce site !</li>
                    <li>Et reviens voir les dÃ©fis relevÃ©s dans la rubrique Challenge</li>');
	define('YOUHAVECHALLENGES', 'âPropose-nous tes dÃ©fis ?');
	define('READYTODO', 'Nous sommes pr&ecirc;ts Ã  les relever !');
	define('PROPOSEACHALLENGE', 'PROPOSE UN DEFI');
	define('GALTTEC', "Jette un coup d'oeil aux dÃ©fis existants");
	define('NEEDINSPIRATION', "Besoin d'inspiration");
	define('CTECTFNO', 'Regarde les dÃ©fis existants pour en trouver de nouveaux !');
	define('VIEWCHALLENGES', 'VOIR LES D&Eacute;FIS');

//Homepage
	define('CHALLENGEUS', 'DÃ©fie-nous!');
	define('RETRIEVE', 'Retrouve toutes les <span id="confort">aventures</span> de
                    <br><span class="enGros">Beno&icirc;t </span> et
                    <span class="enGros">Pierre</span>!');
	define('SCROLL', 'Scrolle pour dÃ©couvrir');
	
	
//Menus
	define('HOME', 'Accueil');
	define('DESTINATION', 'Destination');   
    define('SOUTHAMERICA', 'AmÃ©rique du Sud');
	define('OCEANIA', 'OcÃ©anie');
	define('BRAZIL', 'BrÃ©sil');
	define('ARGENTINA', 'Argentine');
	define('PARAGUAY', 'Paraguay');
	define('BOLIVIA', 'Bolivie');
	define('PERU', 'PÃ©rou   ');
	define('CHILE', 'Chili     ');
	define('NZ', 'Nouvelle ZÃ©lande');
	define('AUSTRALIA', 'Australie');
	define('ASIA', 'Asie');
	define('SINGAPOUR', 'Singapour');
	define('INDONESIA', 'IndonÃ©sie');
	define('THAILAND', 'Tha&iuml;lande');
	define('CAMBODIA', 'Cambodge');
	define('VIETNAM', 'Vi&ecirc;t Nam');
	define('CHINA', 'Chine');
	define('TIBET', 'Tibet');
	define('NEPAL', 'NÃ©pal              ');
	define('INDIA', 'Inde     ');
	define('UAE', 'Emirats Arabes Unis');
	define('ARTICLES', 'Articles');
	define('ALTARTICLES', 'Retrouve tous nos articles');
	define('CHALLENGES', 'DÃ©fis');
	define('ALTCHALLENGES', 'Retrouve tous nos dÃ©fis');
	define('ALTAVION','Voir notre itinÃ©raire');
	define('ALTHOME',"Retourne Ã  la page d'accueil");
	define('ALTPAYPAL',"Aide-nous !");
	define('ALTDEST',"Admire les destinations de notre voyage !");
	define('ALTCHAL',"Voir notre dernier dÃ©fi");
	define('ALTART',"Voir notre dernier article");
	define('ALTPROP',"Propose un dÃ©fi");
	define('ADDCHAL',"Ajoute un dÃ©fi");

	define('GALLERY', 'Galerie');

	
	//CONTACT.php
	define('SUJET','Sujet');
	define('FIRSTNAME','PrÃ©nom');
	define('LASTNAME','Nom');
	 define('SEND','Envoyer');
	 define('CANCEL','Annuler');

	
	//Discover all our Challenges
	define('PYC','Propose ton dÃ©fi');
	define('VTEC','Voir les dÃ©fis proposÃ©s');
	define('DAOA','Les  articles');
	define('DAOC','Les dÃ©fis rÃ©alisÃ©s');
	define('VLAPDLA',"Galerie photo de l'article");
	define('VLAA',"Liste des articles");
	define('VLAPDD',"Galerie photo du dÃ©fi");
	define('VLAD',"Liste des dÃ©fis");
	define('ALTDAOA','Aller Ã  la page rÃ©pertoriant tous nos articles');
	define('ALTDAOC','Aller Ã  la page rÃ©pertoriant tous nos dÃ©fis rÃ©alisÃ©s');
	define('ALTVLAPDLA',"Aller Ã  la page Dropbox de notre galerie photo de l'article");
	define('ALTVLAA',"Aller Ã  la page rÃ©pertoriant tous les articles");
	define('ALTVLAPDD',"Aller Ã  la page Dropbox de notre galerie photo du dÃ©fi");
	define('ALTVLAD',"Aller Ã  la page rÃ©pertoriant tous les dÃ©fis");
	define('QDDM',"Quelles destinations dÃ©couvrir maintenant (site en construction) ?");
	define('OU','ou');

	//Footer
define('PIERRE', "Voici Pierre
				<br/>Grand voyageur et entrepreneur dans l'Ã¢me.
				</p><p>
				Vivre est plus important que de suivre le chemin tracÃ© pour lui par la sociÃ©tÃ©.");
	define('BENOIT', "Benoit Alias Jack.
				<br/>Scout depuis l'enfance, il veut assouvir sa soif d'aventure et de dÃ©couvertes. 
				</p><p>Ce tour du monde sera inoubliable !");
	define('NUAGE','Nuage des destinations');
	define('GETIT','ReÃ§ois le bracelet du voyage');

	 //Formulaire Contact
	 define('LETSSTAYINTOUCH', "Restons en contact");
	
	 define('FN','PrÃ©nom');
	 define('LN','Nom');

	//Donation
	define('DON','Tu peux nous aider par don
					<br/>Notre budget est tr&egrave;s serrÃ©. Vos dons nous permettront d\'&ecirc;tre s&ucirc;r de pouvoir mener &agrave; bien notre aventure jusqu\'au bout');
   
//DROITE
	define('FOOTER', 'Site par Pierre T.     DÃ©couvrez ma crÃ©ation sur mon <a href="http://pierre.recontact.me">site</a>');
	define('BACK_TO_TOP', 'Haut de la page');
?>
<?php 
 	if(isset($_COOKIE['lang'])) {
 	     $lang = $_COOKIE['lang'];
	} else {
 	     // si aucune langue n'est déclarée on tente de reconnaitre la langue par défaut du navigateur
	     $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); 
 	}
// $lang = 'en';
 	 //script d'origine
 	 if ($lang=='fr') {           // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
 	     include('lang/fr.php'); 
	 } elseif ($lang=='en') {      // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
 	     include('lang/en.php'); 
	 }  else {                       // si aucune langue n'est déclarée on inclut le fichier fr-lang.php par défaut
		include('lang/en.php');
	}
 	 //fin du script d'origine
 	 
 	 //définition de la durée du cookie (1 an)
 	 $expire = 365*24*3600; 
 	 
	//enregistrement du cookie au nom de lang
 	 setcookie('lang', $lang, time() + $expire); 
 	 
?>
<?php		
		
 if(isset($_COOKIE['lang'])) {
 	     $lang = $_COOKIE['lang'];
	 } else {
 	     // si aucune langue n'est dÃ©clarÃ©e on tente de reconnaitre la langue par dÃ©faut du navigateur
	     $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); 
 }		
 	 if ($lang=='fr') {           
 	     $lang = 'en';
	 } elseif ($lang=='en') {     
 	     $lang = 'fr';
	 }  else {                    
		$lang = 'en';
	}
			//dÃ©finition de la durÃ©e du cookie (1 an)
			$expire = 365*24*3600; 
		//	$expire = 10; 
			//enregistrement du cookie au nom de lang
			setcookie('lang', $lang, time() + $expire); 
	// header('Location: http://www.recontact.me/');
?>	
		
<?php
$error=0;
chdir("../..");
use \Dropbox as dbx;

    if (isset($_GET['id'])) {
        $id=htmlspecialchars($_GET['id']);
    }else{
        include("lib/creerBdd.php");
        $reponse = $bdd->query('SELECT count(*) AS count FROM challenge');
        while ($donnees = $reponse->fetch()){
            $id= htmlspecialchars($donnees['count'])+1 ;
        }
        $reponse->closeCursor();
    }
$challengeUid=$id;

include("lib/creerBdd.php");
$reponse = $bdd->query('SELECT challenge_uid FROM challenge WHERE challenge_uid='.$id);
while ($donnees = $reponse->fetch()){
    $bdd->exec('DELETE FROM challenge_galerie WHERE challenge_uid='.$id);
    $bdd->exec('DELETE FROM challenge_contenu WHERE challenge_uid='.$id);
    $bdd->exec('DELETE FROM challenge WHERE challenge_uid='.$id);
    }
$reponse->closeCursor(); // Termine le traitement de la requÃªte

$req = $bdd->prepare('INSERT INTO challenge(challenge_uid, nom, name, img_link, dropbox_link) VALUES(:challengeUid, :nom, :name, :img0, :dropbox_link)');
$reqG = $bdd->prepare('INSERT INTO challenge_galerie(challenge_uid, img_link) VALUES(:challengeUid, :urlGallery)');
$reqI = $bdd->prepare('INSERT INTO challenge_contenu(challenge_uid, position, titre, soustitre, paragraphe, title, subtitle, paragraph, img_link) VALUES(:challengeUid, :position, :titre, :soustitre , :paragraphe, :title, :subtitle , :paragraph, :img)');

/*
* rÃ©cupÃ¨re les img et gallery 
*/
// creation d'un client dropbox 
include("lib/dropboxAPI.php");
$myCustomClient = new dbx\Client($accessToken, $clientIdentifier);


$basePath="/Chargements appareil photo/ChallengeTdm/".$id."";
//Dropbox_link
$dropbox_link=$myCustomClient->createShareableLink($basePath);

//Francais
$file="lib/fr.txt";
$query = "r.php";
$returnSearchFileName=$myCustomClient->searchFileNames($basePath, $query);
foreach ($returnSearchFileName as $idFake => $texte) {
  foreach ($texte as $key => $value) {
    if($key=='path'){
      $file=$myCustomClient->createTemporaryDirectLink($value)[0];
    }
  }
}
$data = file_get_contents($file); 
$convert = explode("*", $data); //create array separate by *
$nom = $convert[0];
$error = (count($returnSearchFileName)==0) ? ($error+1) : 0 ;

//English
$file="lib/en.txt";
$query = "n.php";
$returnSearchFileName=$myCustomClient->searchFileNames($basePath, $query);
foreach ($returnSearchFileName as $idFake => $texte) {
  foreach ($texte as $key => $value) {
    if($key=='path'){
      $file=$myCustomClient->createTemporaryDirectLink($value)[0];
    }
  }
}
$data = file_get_contents($file); 
$convert_en = explode("*", $data); //create array separate by *
$name = $convert_en[0];
$error = (count($returnSearchFileName)==0) ? ($error+1) : 0 ;

$query = "jpg";
$returnSearchFileName1=$myCustomClient->searchFileNames($basePath, $query);
$query = "mp4";
$returnSearchFileName2=$myCustomClient->searchFileNames($basePath, $query);
$returnSearchFileName= array_merge($returnSearchFileName1,$returnSearchFileName2);
$urlGallery = array( );
$url = array( );

foreach ($returnSearchFileName as $idFake => $image) {
  $value = $image['path'];
  if(substr($value,-9,3)=='img'){
    $position= intval(substr($value, -6,2));
    require("lib/ajax/convert.php");
    $img=$myCustomClient->createShareableLink($value);
    $img[strlen($img)-1]='1';
    $reqI->execute(array( 'challengeUid' => $challengeUid, 'position' => $position,'titre' => $titre,'soustitre' => $soustitre, 'paragraphe' => $paragraphe, 'title' => $title,'subtitle' => $subtitle, 'paragraph' => $paragraph, 'img' => $img));
   }else if(substr($value,-9,4)== "/img"){
    if(substr($value, -5)==0) {
      $img0 = $myCustomClient->createShareableLink($value);
      $img0[strlen($img0)-1]='1';
      $req->execute(array( 'challengeUid' => $challengeUid, 'nom' => $nom, 'name' => $name, 'img0' => $img0, 'dropbox_link' => $dropbox_link));
  }else{
    $position= intval(substr($value, -5,1));
    require("lib/ajax/convert.php");
    $img=$myCustomClient->createShareableLink($value);
    $img[strlen($img)-1]='1';
    $reqI->execute(array( 'challengeUid' => $challengeUid, 'position' => $position,'titre' => $titre,'soustitre' => $soustitre, 'paragraphe' => $paragraphe, 'title' => $title,'subtitle' => $subtitle, 'paragraph' => $paragraph, 'img' => $img));
    }
  }
  else{
    $urlGallery= $myCustomClient->createShareableLink($value);
    $urlGallery[strlen($urlGallery)-1]='1';
    $reqG->execute(array( 'challengeUid' => $challengeUid, 'urlGallery' => $urlGallery));
  }
}
$reponse = $bdd->query('SELECT count(*) AS count FROM challenge WHERE challenge_uid='.$id);
while ($donnees = $reponse->fetch()){
    $isImg= htmlspecialchars($donnees['count']) ;
    if ($isImg==0) {
      $img0 = 'http://www.recontact.me/img/lost.jpg';
      $req->execute(array( 'challengeUid' => $challengeUid, 'nom' => $nom, 'name' => $name, 'img0' => $img0, 'dropbox_link' => $dropbox_link));
    }
}
$error = (count($returnSearchFileName)==0) ? ($error+1) : 0 ;

//YOUTUBE
$file="lib/you.txt";
$query = ".txt";
$returnSearchFileName=$myCustomClient->searchFileNames($basePath, $query);
foreach ($returnSearchFileName as $idFake => $texte) {
  foreach ($texte as $key => $value) {
    if($key=='path'){
      $file=$myCustomClient->createTemporaryDirectLink($value)[0];
    }
  }
}
$data = file_get_contents($file); 
$convert = explode("*", $data); //create array separate by *
foreach ($convert as $key => $urlGallery) {
  $reqG->execute(array( 'challengeUid' => $challengeUid, 'urlGallery' => $urlGallery));
}

$reponse->closeCursor();
$reponse = $bdd->query('SELECT count(*) AS count FROM challenge_contenu WHERE challenge_uid='.$id);
$out= TRUE;
while ($donnees = $reponse->fetch() AND $out){
  $nbImgs= htmlspecialchars($donnees['count']) ;
  $max=max(count($convert),count($convert_en));
  $calcul = 3 * $nbImgs +1 ;
    if ($calcul< $max) {
    $reponse->closeCursor();
    for ($position=1; $position < $max; $position++) { 
      $reponse = $bdd->query('SELECT count(*) AS count FROM challenge_contenu WHERE challenge_uid='.$id.' AND position='.$position);
      if (htmlspecialchars($donnees['count'])== 0) {
        require("lib/ajax/verifconvert.php");
        $img = 'http://www.recontact.me/img/lost.jpg';
        $reqI->execute(array( 'challengeUid' => $challengeUid, 'position' => $position,'titre' => $titre,'soustitre' => $soustitre, 'paragraphe' => $paragraphe, 'title' => $title,'subtitle' => $subtitle, 'paragraph' => $paragraph, 'img' => $img));
      }
    }
    $out=false;
  }else{
    $out=false;
  }
}
$reponse->closeCursor();
$req->closeCursor(); 
$reqI->closeCursor(); 
$reqG->closeCursor(); 
echo 'Synchronisation OK !';
if ($error > 2) {
  echo 'Synchronisation NOK : '.$error;
  include("lib/creerBdd.php");
  $reponse = $bdd->query('SELECT challenge_uid FROM challenge WHERE challenge_uid='.$id);
  while ($donnees = $reponse->fetch()){
    $bdd->exec('DELETE FROM challenge_galerie WHERE challenge_uid='.$id);
    $bdd->exec('DELETE FROM challenge_contenu WHERE challenge_uid='.$id);
    $bdd->exec('DELETE FROM challenge WHERE challenge_uid='.$id);
  }
  $reponse->closeCursor(); // Termine le traitement de la requÃªte
}

sleep(rand(0,30));
include("lib/creerBdd.php");
        $reponse = $bdd->query('SELECT count(*) AS count FROM challenge WHERE challenge_uid='.$id);
 
while ($donnees = $reponse->fetch()){
    if ($donnees['count'] > 1){
    $bdd->exec('DELETE FROM challenge_galerie WHERE challenge_uid='.$id);
    $bdd->exec('DELETE FROM challenge_contenu WHERE challenge_uid='.$id);
    $bdd->exec('DELETE FROM challenge WHERE challenge_uid='.$id);
    $reponse->closeCursor(); // Termine le traitement de la requÃªte
    sleep(rand(0,30));
    header('Location: lib/ajax/challenge_update.php?id='.$id);
    }else{
      sleep(30);
      $reponse->closeCursor(); // Termine le traitement de la requÃªte
      include("lib/creerBdd.php");
      $reponse = $bdd->query('SELECT count(*) AS count FROM challenge WHERE challenge_uid='.$id);
      while ($donnees = $reponse->fetch()){
        if ($donnees['count'] > 1){
          header('Location: lib/ajax/challenge_update.php?id='.$id);
        }
      }
    }
  }
  include("lib/creerBdd.php");
$reponse = $bdd->query('SELECT challenge_uid FROM challenge WHERE challenge_uid='.$id);
while ($donnees = $reponse->fetch()){
    $bdd->exec('DELETE FROM challenge_galerie WHERE challenge_uid='.$id);
   
    }
$reponse->closeCursor(); // Termine le traitement de la requÃªte

?>
<?php
  $titre=$convert[3*$position-2];
  $soustitre=$convert[3*$position-1];
  $paragraphe=$convert[3*$position];
  $title=$convert_en[3*$position-2];
  $subtitle=$convert_en[3*$position-1];
  $paragraph=$convert_en[3*$position];
  
<?php

chdir("../..");
use \Dropbox as dbx;

//On vide article
include("lib/creerBdd.php");
$reponse = $bdd->query('SELECT count(*) AS count FROM article');
while ($donnees = $reponse->fetch()){
    $countA= htmlspecialchars($donnees['count']) ;
}
$reponse->closeCursor();

include("lib/creerBdd.php");
for ($i=1; $i < $countA ; $i++) { 
  $id = $i;
  $reponse = $bdd->query('SELECT article_uid FROM article WHERE article_uid='.$id);
  while ($donnees = $reponse->fetch()){
    $bdd->exec('DELETE FROM article_galerie WHERE article_uid='.$id);
    $bdd->exec('DELETE FROM article_contenu WHERE article_uid='.$id);
    $bdd->exec('DELETE FROM article WHERE article_uid='.$id);
  }
}
$reponse->closeCursor();
echo $countA.' articles ont Ã©tÃ© supprimÃ©s !';

//On vide challenge
include("lib/creerBdd.php");
$reponse = $bdd->query('SELECT count(*) AS count FROM challenge');
while ($donnees = $reponse->fetch()){
    $countC= htmlspecialchars($donnees['count']) ;
}
$reponse->closeCursor();

include("lib/creerBdd.php");
for ($i=1; $i < $countC ; $i++) { 
  $id = $i;
  $reponse = $bdd->query('SELECT challenge_uid FROM challenge WHERE challenge_uid='.$id);
  while ($donnees = $reponse->fetch()){
    $bdd->exec('DELETE FROM challenge_galerie WHERE challenge_uid='.$id);
    $bdd->exec('DELETE FROM challenge_contenu WHERE challenge_uid='.$id);
    $bdd->exec('DELETE FROM challenge WHERE challenge_uid='.$id);
  }
}
$reponse->closeCursor();
echo $countC.' challenges ont Ã©tÃ© supprimÃ©s !';

/*
$countA = 5;
$countC = 4;

for ($i=1; $i < $countA ; $i++) { 
   header('Location: url.php?id='.$i);
  echo "L'article nÂ° ".$i.' a ete reinitialise !';
}
for ($i=1; $i < $countC ; $i++) { 
  require('lib/ajax/challenge_update.php?id='.$i);
  echo "Le challenge nÂ° ".$i.' a ete reinitialise !';
}*/
?>
<div class="container col-sm-6 col-sm-offset-2 col-lg-6 col-lg-offset-2">
<br/>
<br/>
<?php	if (!isset($_POST["submit"]))  {   ?>
 <form class="form-horizontal" id="form" name="form" method="post" action="lib/ajax/traitementrecontact.php" style="margin-top: 60px;">  
	 <?php if ($lang=='fr' ) { ?>
               <div class="pcontact">  Ecrire exactement "article" ou "challenge" si on repare un article ou un defi </div>
    <?php }else{ ?>
              <div class="pcontact">  Write exactly "article" or "challenge" depending on what to repare </div>
    <?php } ?>

	<fieldset>  
		<input type="hidden" name="token" id="token" value="<?php echo $token;?>"/>
		<div class="form-group">  
			<label class="control-label" for="firstname"> <?php echo "article/challenge"; ?></label>  
			<div class="controls">  
				<input type="text" class="form-control" id="firstname" name="firstname">  
			</div>  
		</div>  
		<div class="form-group">  
			<label class="control-label" for="email">NÂ°</label>  
			<div class="controls">  
				<input type="text" class="form-control" id="email" name="email">  
			</div>  
		</div> 
		
		<div class="form-actions">  
			<button type="submit" class="btn btn-primary"><?php echo "REPARE"; ?></button>  
			<button class="btn"><?php echo CANCEL; ?></button>  
		</div>  
		</div>  
	</fieldset>  
<?php
}else
{// the user has submitted the form
	if ((isset($_POST["email"]))&&(isset($_POST["firstname"]))) 
	{ // Check if the "from" input field is filled out
		$mail = htmlentities($email);  // virer les saloperies de code
		$irstname = htmlentities($firstname);  // virer les saloperies de code
	
		$irstname = $_POST["irstname"];
		$mail= $_POST["mail"];

		$temps = 3600*24;   //Vous passez en argument le temps de validitÃ© (en secondes)
	
		if($irstname == "article"){
		$ir="url";
		}else if($irstname == "challenge"){
		$ir="challenge_update";
		}
		header('Location: lib/ajax/'.$ir.'.php?id='.$mail);
	}
}
?>

</div>
<div class="vide">
<br/>
<br/>
</div>
<?php
	if ((isset($_POST["email"]))&&(isset($_POST["firstname"]))) 
	{ // Check if the "from" input field is filled out
		$mail = htmlentities($email);  // virer les saloperies de code
		$irstname = htmlentities($firstname);  // virer les saloperies de code
	
		$irstname = $_POST["irstname"];
		$mail= $_POST["mail"];

		$temps = 3600*24;   //Vous passez en argument le temps de validitÃ© (en secondes)
	
		if($irstname == "article"){
		$ir="url";
		}else if($irstname == "challenge"){
		$ir="challenge_update";
		}
		header('Location: lib/ajax/'.$ir.'.php?id='.$mail);
	}
	?>

<?php
if ((isset($_POST["email"]))&&(isset($_POST["firstname"])))
{ // Check if the "from" input field is filled out
$mail = htmlentities($email); // virer les saloperies de code
$irstname = htmlentities($firstname); // virer les saloperies de code
$irstname = $_POST["irstname"];
$mail= $_POST["mail"];
$temps = 3600*24; //Vous passez en argument le temps de validitÃ© (en secondes)
if($irstname == "article"){
$ir="url";
}else if($irstname == "challenge"){
  $ir="challenge_update";
  //a partir d ici, ca ne doit pas exister
}else{
$ir="challenge_update";
}
$mail=2;
//jusque ici. Merci Nico. sinon regarde repare.php dans le dossier principal
header('Location: '.$ir.'.php?id='.$mail);
}
?>
<?php
$error=0;
chdir("../..");
use \Dropbox as dbx;

    if (isset($_GET['id'])) {
        $id=htmlspecialchars($_GET['id']);
    }else{
        include("lib/creerBdd.php");
        $reponse = $bdd->query('SELECT count(*) AS count FROM article');
        while ($donnees = $reponse->fetch()){
            $id= htmlspecialchars($donnees['count'])+1 ;
        }
        $reponse->closeCursor();
    }   
$articleUid=$id;

include("lib/creerBdd.php");
$reponse = $bdd->query('SELECT article_uid FROM article WHERE article_uid='.$id);
while ($donnees = $reponse->fetch()){
    $bdd->exec('DELETE FROM article_galerie WHERE article_uid='.$id);
    $bdd->exec('DELETE FROM article_contenu WHERE article_uid='.$id);
    $bdd->exec('DELETE FROM article WHERE article_uid='.$id);
    }
$reponse->closeCursor(); // Termine le traitement de la requÃªte

$req = $bdd->prepare('INSERT INTO article(article_uid, nom, name, img_link, dropbox_link) VALUES(:articleUid, :nom, :name, :img0, :dropbox_link)');
$reqG = $bdd->prepare('INSERT INTO article_galerie(article_uid, img_link) VALUES(:articleUid, :urlGallery)');
$reqI = $bdd->prepare('INSERT INTO article_contenu(article_uid, position, titre, soustitre, paragraphe, title, subtitle, paragraph, img_link) VALUES(:articleUid, :position, :titre, :soustitre , :paragraphe, :title, :subtitle , :paragraph, :img)');

/*
* rÃ©cupÃ¨re les img et gallery 
*/
// creation d'un client dropbox 
include("lib/dropboxAPI.php");
$myCustomClient = new dbx\Client($accessToken, $clientIdentifier);


$basePath="/Chargements appareil photo/ArticleTdm/".$id."";
//Dropbox_link
$dropbox_link=$myCustomClient->createShareableLink($basePath);

//Francais
$file="lib/fr.txt";
$query = "r.php";
$returnSearchFileName=$myCustomClient->searchFileNames($basePath, $query);
foreach ($returnSearchFileName as $idFake => $texte) {
  foreach ($texte as $key => $value) {
    if($key=='path'){
      $file=$myCustomClient->createTemporaryDirectLink($value)[0];
    }
  }
}
$data = file_get_contents($file); 
$convert = explode("*", $data); //create array separate by *
$nom = $convert[0];
$error = (count($returnSearchFileName)==0) ? ($error+1) : 0 ;

//English
$file="lib/en.txt";
$query = "n.php";
$returnSearchFileName=$myCustomClient->searchFileNames($basePath, $query);
foreach ($returnSearchFileName as $idFake => $texte) {
  foreach ($texte as $key => $value) {
    if($key=='path'){
      $file=$myCustomClient->createTemporaryDirectLink($value)[0];
    }
  }
}
$data = file_get_contents($file); 
$convert_en = explode("*", $data); //create array separate by *
$name = $convert_en[0];
$error = (count($returnSearchFileName)==0) ? ($error+1) : 0 ;

$query = "jpg";
$returnSearchFileName1=$myCustomClient->searchFileNames($basePath, $query);
$query = "mp4";
$returnSearchFileName2=$myCustomClient->searchFileNames($basePath, $query);
$returnSearchFileName= array_merge($returnSearchFileName1,$returnSearchFileName2);

$urlGallery = array( );
$url = array( );

foreach ($returnSearchFileName as $idFake => $image) {
  $value = $image['path'];
  if(substr($value,-9,3)=='img'){//cas imgXX.jpg
    $position= intval(substr($value, -6,2));
    require("lib/ajax/convert.php");
    $img=$myCustomClient->createShareableLink($value);
    $img[strlen($img)-1]='1';
    $reqI->execute(array( 'articleUid' => $articleUid, 'position' => $position,'titre' => $titre,'soustitre' => $soustitre, 'paragraphe' => $paragraphe, 'title' => $title,'subtitle' => $subtitle, 'paragraph' => $paragraph, 'img' => $img));
   }else if(substr($value,-9,4)== "/img"){//cas imgX.jpg
    if(substr($value, -5)==0) {//cas img0.jpg
      $img0 = $myCustomClient->createShareableLink($value);
      $img0[strlen($img0)-1]='1';
      $req->execute(array( 'articleUid' => $articleUid, 'nom' => $nom, 'name' => $name, 'img0' => $img0, 'dropbox_link' => $dropbox_link));
    }else{
    $position= intval(substr($value, -5,1));
    require("lib/ajax/convert.php");
    $img=$myCustomClient->createShareableLink($value);
    $img[strlen($img)-1]='1';
    $reqI->execute(array( 'articleUid' => $articleUid, 'position' => $position,'titre' => $titre,'soustitre' => $soustitre, 'paragraphe' => $paragraphe, 'title' => $title,'subtitle' => $subtitle, 'paragraph' => $paragraph, 'img' => $img));
    }
  }else{// gallery  name alea video 
    $urlGallery= $myCustomClient->createShareableLink($value);  
    $urlGallery[strlen($urlGallery)-1]='1';  
    $reqG->execute(array( 'articleUid' => $articleUid, 'urlGallery' => $urlGallery));
  }
}
$error = (count($returnSearchFileName)==0) ? ($error+1) : 0 ;

//YOUTUBE
$file="lib/you.txt";
$query = ".txt";
$returnSearchFileName=$myCustomClient->searchFileNames($basePath, $query);
foreach ($returnSearchFileName as $idFake => $texte) {
  foreach ($texte as $key => $value) {
    if($key=='path'){
      $file=$myCustomClient->createTemporaryDirectLink($value)[0];
    }
  }
}
$data = file_get_contents($file); 
$convert = explode("*", $data); //create array separate by *
foreach ($convert as $key => $urlGallery) {
  $reqG->execute(array( 'articleUid' => $articleUid, 'urlGallery' => $urlGallery));
}

$reponse = $bdd->query('SELECT count(*) AS count FROM article WHERE article_uid='.$id);
while ($donnees = $reponse->fetch()){
    $isImg= htmlspecialchars($donnees['count']) ;
    if ($isImg==0) {
      $img0 = 'http://www.recontact.me/img/lost.jpg';
      $req->execute(array( 'articleUid' => $articleUid, 'nom' => $nom, 'name' => $name, 'img0' => $img0, 'dropbox_link' => $dropbox_link));
    }
}
$reponse->closeCursor();
$reponse = $bdd->query('SELECT count(*) AS count FROM article_contenu WHERE article_uid='.$id);
$out= TRUE;
while ($donnees = $reponse->fetch() AND $out){
    $nbImgs= htmlspecialchars($donnees['count']) ;
    $max=max(count($convert),count($convert_en));
    $calcul = 3 * $nbImgs +1 ;
    if ($calcul< $max) {
      $reponse->closeCursor();
      for ($position=1; $position < $max; $position++) { 
        $reponse = $bdd->query('SELECT count(*) AS count FROM article_contenu WHERE article_uid='.$id.' AND position='.$position);
        if (htmlspecialchars($donnees['count'])== 0) {
          echo "je converte mal";
          require("lib/ajax/verifconvert.php");
          $img = 'http://www.recontact.me/img/lost.jpg';
          $reqI->execute(array( 'articleUid' => $articleUid, 'position' => $position,'titre' => $titre,'soustitre' => $soustitre, 'paragraphe' => $paragraphe, 'title' => $title,'subtitle' => $subtitle, 'paragraph' => $paragraph, 'img' => $img));
        }
      }
      $out=false;
    }else{
      $out=false;
    }
}
$reponse->closeCursor();
$req->closeCursor(); 
$reqI->closeCursor(); 
$reqG->closeCursor(); 
echo 'Synchronisation OK !';
if ($error > 2) {
  echo 'Synchronisation NOK : '.$error;
  include("lib/creerBdd.php");
  $reponse = $bdd->query('SELECT article_uid FROM article WHERE article_uid='.$id);
  while ($donnees = $reponse->fetch()){
    $bdd->exec('DELETE FROM article_galerie WHERE article_uid='.$id);
    $bdd->exec('DELETE FROM article_contenu WHERE article_uid='.$id);
    $bdd->exec('DELETE FROM article WHERE article_uid='.$id);
  }
  $reponse->closeCursor(); // Termine le traitement de la requÃªte
}

sleep(rand(0,30));
include("lib/creerBdd.php");
        $reponse = $bdd->query('SELECT count(*) AS count FROM article WHERE article_uid='.$id);
 
while ($donnees = $reponse->fetch()){
    if ($donnees['count'] > 1){
    $bdd->exec('DELETE FROM article_galerie WHERE article_uid='.$id);
    $bdd->exec('DELETE FROM article_contenu WHERE article_uid='.$id);
    $bdd->exec('DELETE FROM article WHERE article_uid='.$id);
    $reponse->closeCursor(); // Termine le traitement de la requÃªte
    sleep(rand(0,30));
    header('Location: lib/ajax/url.php?id='.$id);
    }else{
      sleep(30);
      $reponse->closeCursor(); // Termine le traitement de la requÃªte
      include("lib/creerBdd.php");
      $reponse = $bdd->query('SELECT count(*) AS count FROM article WHERE article_uid='.$id);
      while ($donnees = $reponse->fetch()){
        if ($donnees['count'] > 1){
          header('Location: lib/ajax/url.php?id='.$id);
        }
      }
    }
  }


?>
<?php
  if (count($convert)<=(1+3*$position)) {
    $titre=$convert[3*$position-2];
    $soustitre=$convert[3*$position-1];
    $paragraphe=$convert[3*$position];
    if (count($convert_en)<=(1+3*$position)) {
      $title=$convert_en[3*$position-2];
      $subtitle=$convert_en[3*$position-1];
      $paragraph=$convert_en[3*$position];
    }else{
      $title=$titre;
      $subtitle=$soustitre;
      $paragraph=$paragraphe;
    }
  }else{
    if (count($convert_en)<=(1+3*$position))  {
      $title=$convert_en[3*$position-2];
      $subtitle=$convert_en[3*$position-1];
      $paragraph=$convert_en[3*$position];
      $titre=$title;
      $soustitre=$subtitle;
      $paragraphe=$paragraph;
    }else{
      $title = "Article not written yet";
      $titre = "Article pas encore rÃ©digÃ©";
      $paragraph = "To make you wait, find the first pictures below";
      $paragraphe = "Pour vous faire patienter, retrouver les photos de l'article ci-dessous";
      $soustitre ="";
      $subtitle="";
    }
  }
?>
<?php
try{
  $resu = '';
  $pdm = '';
  include("lib/alwaysdata.php");
  $bdd = new PDO('mysql:host=mysql1.alwaysdata.com;dbname=recontact_world_articles', $resu, $pdm);
}catch (Exception $e){
  die('Erreur : ' . $e->getMessage());
}
?>
ï»¿/*
	com.roytanck.wpcumulus.Tag
	Copyright: Roy Tanck 
		
	This file is part of WP-Cumulus.

	WP-Cumulus is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	WP-Cumulus is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with WP-Cumulus.  If not, see <http://www.gnu.org/licenses/>.
*/

package com.roytanck.wpcumulus
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.net.navigateToURL;
	import flash.net.URLRequest;
	import flash.display.Graphics;
	import flash.geom.ColorTransform;
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.PixelSnapping;
	import flash.geom.Matrix;
	import flash.text.engine.*;
	import com.roytanck.wpcumulus.TagCloud;
	
	public class Tag extends Sprite {
		
		private var _object:Object;
		private var _cx:Number;
		private var _cy:Number;
		private var _cz:Number;
		private var _color:Number;
		private var _hicolor:Number;
		private var _active:Boolean;
		
		public function Tag( o:Object, color:Number, hicolor:Number, cloud:TagCloud ){
			_object = o;
			_color = color;
			_hicolor = hicolor;
			_active = false;
			// get some settings from the main timeline
			var scale:Number = cloud.holder.scaleX;
			// determine scale factor for bitmap copy of tag
			var scaleFactor:Number = scale * 2; // add resolution to bitmap copy by rendering bigger at larger canvas sizes
			var scaleFactor2:Number = 5; // extra scale factor used to get better kerning
			// styles, etc
			var fd:FontDescription = new FontDescription();
			fd.fontName = cloud.fontname;
			fd.fontLookup = FontLookup.DEVICE;
			if( cloud.fontweight == "bold" ){ fd.fontWeight = FontWeight.BOLD; }
			fd.renderingMode = RenderingMode.NORMAL;
			var fm:ElementFormat = new ElementFormat(); 
			fm.fontDescription = fd;
			fm.fontSize = ( Number(_object.size[0]) * 2) * scaleFactor * scaleFactor2;
			fm.color = _color;
			fm.kerning = Kerning.ON;
			// create instances
			var tb:TextBlock = new TextBlock();
			if( cloud.rtl ){ tb.bidiLevel = 1; } // set rtl is specified
			var te:TextElement = new TextElement( _object.text[0], fm );
			tb.content = te;
			var tl:TextLine = tb.createTextLine(null);
			addChild(tl);
			// create BitmapData copy of text to animate smoothly
			var bmd:BitmapData = new BitmapData( tl.textWidth/scaleFactor2, tl.textHeight/scaleFactor2, true, 0 );
			var m:Matrix = new Matrix();
			m.translate( 0, tl.ascent );
			m.scale ( 1/scaleFactor2, 1/scaleFactor2 );
			bmd.draw( tl, m );
			var b:Bitmap = new Bitmap( bmd );
			b.smoothing = true;
			//b.pixelSnapping = PixelSnapping.NEVER;
			addChild(b);
			// hide original text objects, show copy image instead
			tl.visible = false;
			removeChild(tl);
			tl = null;
			tb= null;
			fd = null;
			fm = null;
			b.scaleX = b.scaleY = 1/scaleFactor; // reduce back down to get sharper image allowing for scaling
			b.x = -b.width/2;
			b.y = -b.height/2;
			// check for http links only
			//if( _object.href.substr(0,4).toLowerCase() == "http" ){
			if( _object.href[0] != null ){
				// force mouse cursor on rollover
				this.mouseChildren = false;
				this.buttonMode = true;
				this.useHandCursor = true;
				// events
				this.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
				this.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
				this.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
			}
		}
		
		private function mouseOverHandler( e:MouseEvent ):void {
			var ct:ColorTransform = this.transform.colorTransform;
			ct.color = _hicolor;
			this.transform.colorTransform = ct;
			_active = true;
		}
		
		private function mouseOutHandler( e:MouseEvent ):void {
			var ct:ColorTransform = this.transform.colorTransform;
			ct.color = _color;
			this.transform.colorTransform = ct;
			_active = false;
		}
		
		private function mouseUpHandler( e:MouseEvent ):void {
			var request:URLRequest = new URLRequest( _object.href[0] );
			var target:String = _object.target[0] == undefined ? "_self" : _object.target[0];
			navigateToURL( request, target );
		}

		// setters and getters
		public function set cx( n:Number ):void { _cx = n; }
		public function get cx():Number { return _cx; }
		public function set cy( n:Number ):void { _cy = n; }
		public function get cy():Number { return _cy; }
		public function set cz( n:Number ):void { _cz = n; }
		public function get cz():Number { return _cz; }
		public function get active():Boolean { return _active; }

	}

}
ï»¿/*
	com.roytanck.wpcumulus.TagCloud
	Copyright: Roy Tanck 
		
	This file is part of WP-Cumulus.

	WP-Cumulus is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	WP-Cumulus is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with WP-Cumulus.  If not, see <http://www.gnu.org/licenses/>.
*/

package com.roytanck.wpcumulus
{
	import flash.display.MovieClip;
	import flash.display.Sprite;
	import flash.display.Stage;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.display.StageQuality;
	import flash.display.Loader;
	import flash.display.LoaderInfo;
	import flash.events.*;
	import flash.net.URLRequest;
	import flash.net.URLLoader;
	import flash.net.URLVariables;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.text.TextFormat;
	import flash.geom.ColorTransform;
	import flash.events.MouseEvent;
	import flash.ui.ContextMenu;
	import flash.ui.ContextMenuItem;
	import flash.events.ContextMenuEvent;
	import flash.net.navigateToURL;
	import flash.net.URLRequest;
	import com.roytanck.wpcumulus.Tag;

	public class TagCloud extends MovieClip	{
		
		// private vars
		private var radius:Number;
		private var mcList:Array;
		private var dtr:Number;
		private var d:Number;
		private var sa:Number;
		private var ca:Number;
		private var sb:Number;
		private var cb:Number;
		private var sc:Number;
		private var cc:Number;
		private var originx:Number;
		private var originy:Number;
		private var tcolor:Number;
		private var hicolor:Number;
		private var tcolor2:Number;
		private var tspeed:Number;
		private var distr:Boolean;
		private var lasta:Number;
		private var lastb:Number;
		private var active:Boolean;
		private var tagData:Object;
		private var loader:URLLoader;
		private var xmlData:XML;
		
		// public vars
		public var holder:MovieClip;
		public var mousetrap:MovieClip;
		public var rtl:Boolean;
		public var fontname:String;
		public var fontweight:String;
		
		public function TagCloud(){
			// stage settings
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.quality = StageQuality.HIGH;
			stage.align = StageAlign.TOP_LEFT;
			// get settings from flashvars
			tcolor = ( this.loaderInfo.parameters.tcolor == null ) ? 0x000000 : Number(this.loaderInfo.parameters.tcolor);
			tcolor2 = ( this.loaderInfo.parameters.tcolor2 == null ) ? 0x003366 : Number(this.loaderInfo.parameters.tcolor2);
			hicolor = ( this.loaderInfo.parameters.hicolor == null ) ? 0x000000 : Number(this.loaderInfo.parameters.hicolor);
			tspeed = ( this.loaderInfo.parameters.tspeed == null ) ? 1 : Number(this.loaderInfo.parameters.tspeed)/100;
			distr = ( this.loaderInfo.parameters.distr != "true" );
			// get desired font properties
			rtl = ( this.loaderInfo.parameters.rtl == "true" );
			fontname = ( this.loaderInfo.parameters.fontname == null ) ? "_sans" : this.loaderInfo.parameters.fontname;
			fontweight = ( this.loaderInfo.parameters.fontweight == null ) ? "bold" : this.loaderInfo.parameters.fontweight;
			// add context menu item
			var myContextMenu:ContextMenu = new ContextMenu();
			myContextMenu.hideBuiltInItems();
			var item:ContextMenuItem = new ContextMenuItem("Cumulus Tag Cloud by Roy Tanck");
			myContextMenu.customItems.push(item);
			this.contextMenu = myContextMenu;
			item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler);
			// assemble the path to load the tags cloud data from (relative path for securoty reasons (NEEDS WORK!)
			var a:Array = this.loaderInfo.url.split("/");
			a.pop();
			var baseURL:String = a.join("/") + "lib/cumulus/";
			var cloudpath:String = ( this.loaderInfo.parameters.cloudpath == null ) ? "tagcloud.xml" : this.loaderInfo.parameters.cloudpath;
			var reqUrl:String = ( this.loaderInfo.url.substr( 0, 4 ) == "http" ) ? baseURL + cloudpath : cloudpath;
			var req:URLRequest = new URLRequest( reqUrl );
			// catch flashvars, send them along with the request
			var fv:Object = LoaderInfo(this.root.loaderInfo).parameters;
			var urlVars:URLVariables = new URLVariables();
			for( var varStr:String in fv ){
				urlVars[varStr] = fv[varStr];
			}
			if( this.loaderInfo.url.substr( 0, 4 ) == "http" ){
				req.data = urlVars;
			}
			loader = new URLLoader( req );
			loader.addEventListener( "complete", init );
			loader.addEventListener( IOErrorEvent.IO_ERROR, ioErrorHandler );
			loader.load( req );
		}
		
		private function init( e:Event ):void {
			// store XML data
			xmlData = new XML( loader.data );
			trace( xmlData );
			// set some vars
			radius = 150;
			dtr = Math.PI/180;
			d = 300;
			sineCosine( 0,0,0 );
			mcList = [];
			active = false;
			lasta = 1;
			lastb = 1;
			// create mousetrap mc
			mousetrap = new MovieClip();
			mousetrap.graphics.beginFill(0x000000,0);
			mousetrap.graphics.drawRect(0,0,100,100);
			addChildAt(mousetrap,0);
			// create holder mc, center it		
			holder = new MovieClip();
			addChild(holder);
			resizeHandler();
			// loop though them to find the smallest and largest tags
			var largest:Number = 0;
			var smallest:Number = 9999;
			for( var id:String in xmlData.tag ){
				var nr:Number = Number( xmlData.tag[id].size[0] );
				largest = Math.max( largest, nr );
				smallest = Math.min( smallest, nr );
			}
			// loop through tags, create movie clips
			for( var i:String in xmlData.tag ){
				// figure out what color it should be
				var nr2:Number = Number( xmlData.tag[i].size[0] );
				var perc:Number = ( smallest == largest ) ? 1 : (nr2-smallest) / (largest-smallest);
				var col:Number = ( xmlData.tag[i].color[0] == undefined ) ? getColorFromGradient( perc ) : Number( xmlData.tag[i].color[0] );
				var hicol:Number = ( xmlData.tag[i].hicolor[0] == undefined ) ? ( ( hicolor == tcolor ) ? getColorFromGradient( perc ) : hicolor ) : Number( xmlData.tag[i].hicolor[0] );
				// create mc
				var mc:Tag = new Tag( xmlData.tag[i], col, hicol, this );
				holder.addChild(mc);
				// store reference
				mcList.push( mc );
			}
			// distribute the tags on the sphere
			positionAll();
			// add event listeners
			addEventListener(Event.ENTER_FRAME, updateTags);
			stage.addEventListener(Event.MOUSE_LEAVE, mouseExitHandler);
			stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
			stage.addEventListener(Event.RESIZE, resizeHandler);
		}

		private function updateTags( e:Event ):void {
			var a:Number;
			var b:Number;
			if( active ){
				a = (-Math.min( Math.max( holder.mouseY, -250 ), 250 ) / 150 ) * tspeed;
				b = (Math.min( Math.max( holder.mouseX, -250 ), 250 ) /150 ) * tspeed;
			} else {
				a = lasta * 0.98;
				b = lastb * 0.98;
			}
			lasta = a;
			lastb = b;
			// if a and b under threshold, skip motion calculations to free up the processor
			if( Math.abs(a) > 0.01 || Math.abs(b) > 0.01 ){
				var c:Number = 0;
				sineCosine( a, b, c );
				for( var j:Number=0; j<mcList.length; j++ ) {
					// multiply positions by a x-rotation matrix
					var rx1:Number = mcList[j].cx;
					var ry1:Number = mcList[j].cy * ca + mcList[j].cz * -sa;
					var rz1:Number = mcList[j].cy * sa + mcList[j].cz * ca;
					// multiply new positions by a y-rotation matrix
					var rx2:Number = rx1 * cb + rz1 * sb;
					var ry2:Number = ry1;
					var rz2:Number = rx1 * -sb + rz1 * cb;
					// multiply new positions by a z-rotation matrix
					var rx3:Number = rx2 * cc + ry2 * -sc;
					var ry3:Number = rx2 * sc + ry2 * cc;
					var rz3:Number = rz2;
					// set arrays to new positions
					mcList[j].cx = rx3;
					mcList[j].cy = ry3;
					mcList[j].cz = rz3;
					// add perspective
					var per:Number = d / (d+rz3);
					// set mc position, scale, alpha
					mcList[j].x = rx3 * per;
					mcList[j].y = ry3 * per;
					mcList[j].scaleX = mcList[j].scaleY = per;
					mcList[j].alpha = per/2;
				}
				depthSort();
			}
		}
		
		private function depthSort():void {
			mcList.sortOn( "cz", Array.DESCENDING | Array.NUMERIC );
			var current:Number = 0;
			for( var i:Number=0; i<mcList.length; i++ ){
				holder.setChildIndex( mcList[i], i );
				if( mcList[i].active == true ){
					current = i;
				}
			}
			holder.setChildIndex( mcList[current], mcList.length-1 );
		}
		
		private function positionAll():void {		
			var phi:Number = 0;
			var theta:Number = 0;
			var max:Number = mcList.length;
			// mix up the list so not all a' live on the north pole
			mcList.sort( function():Number { return Math.random()<0.5 ? 1 : -1; } );
			// distibute
			for( var i:Number=1; i<max+1; i++){
				if( distr ){
					phi = Math.acos(-1+(2*i-1)/max);
					theta = Math.sqrt(max*Math.PI)*phi;
				} else {
					phi = Math.random()*(Math.PI);
					theta = Math.random()*(2*Math.PI);
				}
				// Coordinate conversion
				mcList[i-1].cx = radius * Math.cos(theta)*Math.sin(phi);
				mcList[i-1].cy = radius * Math.sin(theta)*Math.sin(phi);
				mcList[i-1].cz = radius * Math.cos(phi);
			}
		}
		
		private function menuItemSelectHandler( e:ContextMenuEvent ):void {
			var request:URLRequest = new URLRequest( "http://www.cumulus-cloud.org" );
			navigateToURL(request);
		}
		
		private function mouseExitHandler( e:Event ):void { active = false; }
		private function mouseMoveHandler( e:MouseEvent ):void { active = true; }
		
		private function resizeHandler( e:Event = null ):void {
			var s:Stage = this.stage;
			holder.x = s.stageWidth/2;
			holder.y = s.stageHeight/2;
			var scale:Number;
			if( s.stageWidth > s.stageHeight ){
				scale = (s.stageHeight/500);
			} else {
				scale = (s.stageWidth/500);
			}
			holder.scaleX = holder.scaleY = scale;
			// scale mousetrap too
			mousetrap.width = s.stageWidth;
			mousetrap.height = s.stageHeight;
		}
		
		private function sineCosine( a:Number, b:Number, c:Number ):void {
			sa = Math.sin(a * dtr);
			ca = Math.cos(a * dtr);
			sb = Math.sin(b * dtr);
			cb = Math.cos(b * dtr);
			sc = Math.sin(c * dtr);
			cc = Math.cos(c * dtr);
		}
		
		private function getColorFromGradient( perc:Number ):Number {
			var r:Number = ( perc * ( tcolor >> 16 ) ) + ( (1-perc) * ( tcolor2 >> 16 ) );
			var g:Number = ( perc * ( (tcolor >> 8) % 256 ) ) + ( (1-perc) * ( (tcolor2 >> 8) % 256 ) );
			var b:Number = ( perc * ( tcolor % 256 ) ) + ( (1-perc) * ( tcolor2 % 256 ) );
			return( (r << 16) | (g << 8) | b );
		}

		private function ioErrorHandler(e:IOErrorEvent):void { displayError( "IO error: "+e ); }
		
		private function displayError( msg:String ):void {
			trace( msg );
			var debug:TextField = new TextField();
			debug.width = stage.stageWidth;
			debug.height = stage.stageHeight;
			debug.multiline = true;
			debug.wordWrap = true;
			debug.background = true;
			debug.text = msg;
			addChild( debug );
		}
		
	}

}
/*	SWFObject v2.2 <http://code.google.com/p/swfobject/> 
	is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/
var swfobject = function () {
    var D = "undefined",
        r = "object",
        S = "Shockwave Flash",
        W = "ShockwaveFlash.ShockwaveFlash",
        q = "application/x-shockwave-flash",
        R = "SWFObjectExprInst",
        x = "onreadystatechange",
        O = window,
        j = document,
        t = navigator,
        T = false,
        U = [h],
        o = [],
        N = [],
        I = [],
        l, Q, E, B, J = false,
        a = false,
        n, G, m = true,
        M = function () {
            var aa = typeof j.getElementById != D && typeof j.getElementsByTagName != D && typeof j.createElement != D,
                ah = t.userAgent.toLowerCase(),
                Y = t.platform.toLowerCase(),
                ae = Y ? /win/.test(Y) : /win/.test(ah),
                ac = Y ? /mac/.test(Y) : /mac/.test(ah),
                af = /webkit/.test(ah) ? parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false,
                X = !+"\v1",
                ag = [0, 0, 0],
                ab = null;
            if (typeof t.plugins != D && typeof t.plugins[S] == r) {
                ab = t.plugins[S].description;
                if (ab && !(typeof t.mimeTypes != D && t.mimeTypes[q] && !t.mimeTypes[q].enabledPlugin)) {
                    T = true;
                    X = false;
                    ab = ab.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
                    ag[0] = parseInt(ab.replace(/^(.*)\..*$/, "$1"), 10);
                    ag[1] = parseInt(ab.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
                    ag[2] = /[a-zA-Z]/.test(ab) ? parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0
                }
            } else {
                if (typeof O.ActiveXObject != D) {
                    try {
                        var ad = new ActiveXObject(W);
                        if (ad) {
                            ab = ad.GetVariable("$version");
                            if (ab) {
                                X = true;
                                ab = ab.split(" ")[1].split(",");
                                ag = [parseInt(ab[0], 10), parseInt(ab[1], 10), parseInt(ab[2], 10)]
                            }
                        }
                    } catch (Z) {}
                }
            }
            return {
                w3: aa,
                pv: ag,
                wk: af,
                ie: X,
                win: ae,
                mac: ac
            }
        }(),
        k = function () {
            if (!M.w3) {
                return
            }
            if ((typeof j.readyState != D && j.readyState == "complete") || (typeof j.readyState == D && (j.getElementsByTagName("body")[0] || j.body))) {
                f()
            }
            if (!J) {
                if (typeof j.addEventListener != D) {
                    j.addEventListener("DOMContentLoaded", f, false)
                }
                if (M.ie && M.win) {
                    j.attachEvent(x, function () {
                        if (j.readyState == "complete") {
                            j.detachEvent(x, arguments.callee);
                            f()
                        }
                    });
                    if (O == top) {
                        (function () {
                            if (J) {
                                return
                            }
                            try {
                                j.documentElement.doScroll("left")
                            } catch (X) {
                                setTimeout(arguments.callee, 0);
                                return
                            }
                            f()
                        })()
                    }
                }
                if (M.wk) {
                    (function () {
                        if (J) {
                            return
                        }
                        if (!/loaded|complete/.test(j.readyState)) {
                            setTimeout(arguments.callee, 0);
                            return
                        }
                        f()
                    })()
                }
                s(f)
            }
        }();

    function f() {
        if (J) {
            return
        }
        try {
            var Z = j.getElementsByTagName("body")[0].appendChild(C("span"));
            Z.parentNode.removeChild(Z)
        } catch (aa) {
            return
        }
        J = true;
        var X = U.length;
        for (var Y = 0; Y < X; Y++) {
            U[Y]()
        }
    }

    function K(X) {
        if (J) {
            X()
        } else {
            U[U.length] = X
        }
    }

    function s(Y) {
        if (typeof O.addEventListener != D) {
            O.addEventListener("load", Y, false)
        } else {
            if (typeof j.addEventListener != D) {
                j.addEventListener("load", Y, false)
            } else {
                if (typeof O.attachEvent != D) {
                    i(O, "onload", Y)
                } else {
                    if (typeof O.onload == "function") {
                        var X = O.onload;
                        O.onload = function () {
                            X();
                            Y()
                        }
                    } else {
                        O.onload = Y
                    }
                }
            }
        }
    }

    function h() {
        if (T) {
            V()
        } else {
            H()
        }
    }

    function V() {
        var X = j.getElementsByTagName("body")[0];
        var aa = C(r);
        aa.setAttribute("type", q);
        var Z = X.appendChild(aa);
        if (Z) {
            var Y = 0;
            (function () {
                if (typeof Z.GetVariable != D) {
                    var ab = Z.GetVariable("$version");
                    if (ab) {
                        ab = ab.split(" ")[1].split(",");
                        M.pv = [parseInt(ab[0], 10), parseInt(ab[1], 10), parseInt(ab[2], 10)]
                    }
                } else {
                    if (Y < 10) {
                        Y++;
                        setTimeout(arguments.callee, 10);
                        return
                    }
                }
                X.removeChild(aa);
                Z = null;
                H()
            })()
        } else {
            H()
        }
    }

    function H() {
        var ag = o.length;
        if (ag > 0) {
            for (var af = 0; af < ag; af++) {
                var Y = o[af].id;
                var ab = o[af].callbackFn;
                var aa = {
                    success: false,
                    id: Y
                };
                if (M.pv[0] > 0) {
                    var ae = c(Y);
                    if (ae) {
                        if (F(o[af].swfVersion) && !(M.wk && M.wk < 312)) {
                            w(Y, true);
                            if (ab) {
                                aa.success = true;
                                aa.ref = z(Y);
                                ab(aa)
                            }
                        } else {
                            if (o[af].expressInstall && A()) {
                                var ai = {};
                                ai.data = o[af].expressInstall;
                                ai.width = ae.getAttribute("width") || "0";
                                ai.height = ae.getAttribute("height") || "0";
                                if (ae.getAttribute("class")) {
                                    ai.styleclass = ae.getAttribute("class")
                                }
                                if (ae.getAttribute("align")) {
                                    ai.align = ae.getAttribute("align")
                                }
                                var ah = {};
                                var X = ae.getElementsByTagName("param");
                                var ac = X.length;
                                for (var ad = 0; ad < ac; ad++) {
                                    if (X[ad].getAttribute("name").toLowerCase() != "movie") {
                                        ah[X[ad].getAttribute("name")] = X[ad].getAttribute("value")
                                    }
                                }
                                P(ai, ah, Y, ab)
                            } else {
                                p(ae);
                                if (ab) {
                                    ab(aa)
                                }
                            }
                        }
                    }
                } else {
                    w(Y, true);
                    if (ab) {
                        var Z = z(Y);
                        if (Z && typeof Z.SetVariable != D) {
                            aa.success = true;
                            aa.ref = Z
                        }
                        ab(aa)
                    }
                }
            }
        }
    }

    function z(aa) {
        var X = null;
        var Y = c(aa);
        if (Y && Y.nodeName == "OBJECT") {
            if (typeof Y.SetVariable != D) {
                X = Y
            } else {
                var Z = Y.getElementsByTagName(r)[0];
                if (Z) {
                    X = Z
                }
            }
        }
        return X
    }

    function A() {
        return !a && F("6.0.65") && (M.win || M.mac) && !(M.wk && M.wk < 312)
    }

    function P(aa, ab, X, Z) {
        a = true;
        E = Z || null;
        B = {
            success: false,
            id: X
        };
        var ae = c(X);
        if (ae) {
            if (ae.nodeName == "OBJECT") {
                l = g(ae);
                Q = null
            } else {
                l = ae;
                Q = X
            }
            aa.id = R;
            if (typeof aa.width == D || (!/%$/.test(aa.width) && parseInt(aa.width, 10) < 310)) {
                aa.width = "310"
            }
            if (typeof aa.height == D || (!/%$/.test(aa.height) && parseInt(aa.height, 10) < 137)) {
                aa.height = "137"
            }
            j.title = j.title.slice(0, 47) + " - Flash Player Installation";
            var ad = M.ie && M.win ? "ActiveX" : "PlugIn",
                ac = "MMredirectURL=" + O.location.toString().replace(/&/g, "%26") + "&MMplayerType=" + ad + "&MMdoctitle=" + j.title;
            if (typeof ab.flashvars != D) {
                ab.flashvars += "&" + ac
            } else {
                ab.flashvars = ac
            } if (M.ie && M.win && ae.readyState != 4) {
                var Y = C("div");
                X += "SWFObjectNew";
                Y.setAttribute("id", X);
                ae.parentNode.insertBefore(Y, ae);
                ae.style.display = "none";
                (function () {
                    if (ae.readyState == 4) {
                        ae.parentNode.removeChild(ae)
                    } else {
                        setTimeout(arguments.callee, 10)
                    }
                })()
            }
            u(aa, ab, X)
        }
    }

    function p(Y) {
        if (M.ie && M.win && Y.readyState != 4) {
            var X = C("div");
            Y.parentNode.insertBefore(X, Y);
            X.parentNode.replaceChild(g(Y), X);
            Y.style.display = "none";
            (function () {
                if (Y.readyState == 4) {
                    Y.parentNode.removeChild(Y)
                } else {
                    setTimeout(arguments.callee, 10)
                }
            })()
        } else {
            Y.parentNode.replaceChild(g(Y), Y)
        }
    }

    function g(ab) {
        var aa = C("div");
        if (M.win && M.ie) {
            aa.innerHTML = ab.innerHTML
        } else {
            var Y = ab.getElementsByTagName(r)[0];
            if (Y) {
                var ad = Y.childNodes;
                if (ad) {
                    var X = ad.length;
                    for (var Z = 0; Z < X; Z++) {
                        if (!(ad[Z].nodeType == 1 && ad[Z].nodeName == "PARAM") && !(ad[Z].nodeType == 8)) {
                            aa.appendChild(ad[Z].cloneNode(true))
                        }
                    }
                }
            }
        }
        return aa
    }

    function u(ai, ag, Y) {
        var X, aa = c(Y);
        if (M.wk && M.wk < 312) {
            return X
        }
        if (aa) {
            if (typeof ai.id == D) {
                ai.id = Y
            }
            if (M.ie && M.win) {
                var ah = "";
                for (var ae in ai) {
                    if (ai[ae] != Object.prototype[ae]) {
                        if (ae.toLowerCase() == "data") {
                            ag.movie = ai[ae]
                        } else {
                            if (ae.toLowerCase() == "styleclass") {
                                ah += ' class="' + ai[ae] + '"'
                            } else {
                                if (ae.toLowerCase() != "classid") {
                                    ah += " " + ae + '="' + ai[ae] + '"'
                                }
                            }
                        }
                    }
                }
                var af = "";
                for (var ad in ag) {
                    if (ag[ad] != Object.prototype[ad]) {
                        af += '<param name="' + ad + '" value="' + ag[ad] + '" />'
                    }
                }
                aa.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + ah + ">" + af + "</object>";
                N[N.length] = ai.id;
                X = c(ai.id)
            } else {
                var Z = C(r);
                Z.setAttribute("type", q);
                for (var ac in ai) {
                    if (ai[ac] != Object.prototype[ac]) {
                        if (ac.toLowerCase() == "styleclass") {
                            Z.setAttribute("class", ai[ac])
                        } else {
                            if (ac.toLowerCase() != "classid") {
                                Z.setAttribute(ac, ai[ac])
                            }
                        }
                    }
                }
                for (var ab in ag) {
                    if (ag[ab] != Object.prototype[ab] && ab.toLowerCase() != "movie") {
                        e(Z, ab, ag[ab])
                    }
                }
                aa.parentNode.replaceChild(Z, aa);
                X = Z
            }
        }
        return X
    }

    function e(Z, X, Y) {
        var aa = C("param");
        aa.setAttribute("name", X);
        aa.setAttribute("value", Y);
        Z.appendChild(aa)
    }

    function y(Y) {
        var X = c(Y);
        if (X && X.nodeName == "OBJECT") {
            if (M.ie && M.win) {
                X.style.display = "none";
                (function () {
                    if (X.readyState == 4) {
                        b(Y)
                    } else {
                        setTimeout(arguments.callee, 10)
                    }
                })()
            } else {
                X.parentNode.removeChild(X)
            }
        }
    }

    function b(Z) {
        var Y = c(Z);
        if (Y) {
            for (var X in Y) {
                if (typeof Y[X] == "function") {
                    Y[X] = null
                }
            }
            Y.parentNode.removeChild(Y)
        }
    }

    function c(Z) {
        var X = null;
        try {
            X = j.getElementById(Z)
        } catch (Y) {}
        return X
    }

    function C(X) {
        return j.createElement(X)
    }

    function i(Z, X, Y) {
        Z.attachEvent(X, Y);
        I[I.length] = [Z, X, Y]
    }

    function F(Z) {
        var Y = M.pv,
            X = Z.split(".");
        X[0] = parseInt(X[0], 10);
        X[1] = parseInt(X[1], 10) || 0;
        X[2] = parseInt(X[2], 10) || 0;
        return (Y[0] > X[0] || (Y[0] == X[0] && Y[1] > X[1]) || (Y[0] == X[0] && Y[1] == X[1] && Y[2] >= X[2])) ? true : false
    }

    function v(ac, Y, ad, ab) {
        if (M.ie && M.mac) {
            return
        }
        var aa = j.getElementsByTagName("head")[0];
        if (!aa) {
            return
        }
        var X = (ad && typeof ad == "string") ? ad : "screen";
        if (ab) {
            n = null;
            G = null
        }
        if (!n || G != X) {
            var Z = C("style");
            Z.setAttribute("type", "text/css");
            Z.setAttribute("media", X);
            n = aa.appendChild(Z);
            if (M.ie && M.win && typeof j.styleSheets != D && j.styleSheets.length > 0) {
                n = j.styleSheets[j.styleSheets.length - 1]
            }
            G = X
        }
        if (M.ie && M.win) {
            if (n && typeof n.addRule == r) {
                n.addRule(ac, Y)
            }
        } else {
            if (n && typeof j.createTextNode != D) {
                n.appendChild(j.createTextNode(ac + " {" + Y + "}"))
            }
        }
    }

    function w(Z, X) {
        if (!m) {
            return
        }
        var Y = X ? "visible" : "hidden";
        if (J && c(Z)) {
            c(Z).style.visibility = Y
        } else {
            v("#" + Z, "visibility:" + Y)
        }
    }

    function L(Y) {
        var Z = /[\\\"<>\.;]/;
        var X = Z.exec(Y) != null;
        return X && typeof encodeURIComponent != D ? encodeURIComponent(Y) : Y
    }
    var d = function () {
        if (M.ie && M.win) {
            window.attachEvent("onunload", function () {
                var ac = I.length;
                for (var ab = 0; ab < ac; ab++) {
                    I[ab][0].detachEvent(I[ab][1], I[ab][2])
                }
                var Z = N.length;
                for (var aa = 0; aa < Z; aa++) {
                    y(N[aa])
                }
                for (var Y in M) {
                    M[Y] = null
                }
                M = null;
                for (var X in swfobject) {
                    swfobject[X] = null
                }
                swfobject = null
            })
        }
    }();
    return {
        registerObject: function (ab, X, aa, Z) {
            if (M.w3 && ab && X) {
                var Y = {};
                Y.id = ab;
                Y.swfVersion = X;
                Y.expressInstall = aa;
                Y.callbackFn = Z;
                o[o.length] = Y;
                w(ab, false)
            } else {
                if (Z) {
                    Z({
                        success: false,
                        id: ab
                    })
                }
            }
        },
        getObjectById: function (X) {
            if (M.w3) {
                return z(X)
            }
        },
        embedSWF: function (ab, ah, ae, ag, Y, aa, Z, ad, af, ac) {
            var X = {
                success: false,
                id: ah
            };
            if (M.w3 && !(M.wk && M.wk < 312) && ab && ah && ae && ag && Y) {
                w(ah, false);
                K(function () {
                    ae += "";
                    ag += "";
                    var aj = {};
                    if (af && typeof af === r) {
                        for (var al in af) {
                            aj[al] = af[al]
                        }
                    }
                    aj.data = ab;
                    aj.width = ae;
                    aj.height = ag;
                    var am = {};
                    if (ad && typeof ad === r) {
                        for (var ak in ad) {
                            am[ak] = ad[ak]
                        }
                    }
                    if (Z && typeof Z === r) {
                        for (var ai in Z) {
                            if (typeof am.flashvars != D) {
                                am.flashvars += "&" + ai + "=" + Z[ai]
                            } else {
                                am.flashvars = ai + "=" + Z[ai]
                            }
                        }
                    }
                    if (F(Y)) {
                        var an = u(aj, am, ah);
                        if (aj.id == ah) {
                            w(ah, true)
                        }
                        X.success = true;
                        X.ref = an
                    } else {
                        if (aa && A()) {
                            aj.data = aa;
                            P(aj, am, ah, ac);
                            return
                        } else {
                            w(ah, true)
                        }
                    } if (ac) {
                        ac(X)
                    }
                })
            } else {
                if (ac) {
                    ac(X)
                }
            }
        },
        switchOffAutoHideShow: function () {
            m = false
        },
        ua: M,
        getFlashPlayerVersion: function () {
            return {
                major: M.pv[0],
                minor: M.pv[1],
                release: M.pv[2]
            }
        },
        hasFlashPlayerVersion: F,
        createSWF: function (Z, Y, X) {
            if (M.w3) {
                return u(Z, Y, X)
            } else {
                return undefined
            }
        },
        showExpressInstall: function (Z, aa, X, Y) {
            if (M.w3 && A()) {
                P(Z, aa, X, Y)
            }
        },
        removeSWF: function (X) {
            if (M.w3) {
                y(X)
            }
        },
        createCSS: function (aa, Z, Y, X) {
            if (M.w3) {
                v(aa, Z, Y, X)
            }
        },
        addDomLoadEvent: K,
        addLoadEvent: s,
        getQueryParamValue: function (aa) {
            var Z = j.location.search || j.location.hash;
            if (Z) {
                if (/\?/.test(Z)) {
                    Z = Z.split("?")[1]
                }
                if (aa == null) {
                    return L(Z)
                }
                var Y = Z.split("&");
                for (var X = 0; X < Y.length; X++) {
                    if (Y[X].substring(0, Y[X].indexOf("=")) == aa) {
                        return L(Y[X].substring((Y[X].indexOf("=") + 1)))
                    }
                }
            }
            return ""
        },
        expressInstallCallback: function () {
            if (a) {
                var X = c(R);
                if (X && l) {
                    X.parentNode.replaceChild(l, X);
                    if (Q) {
                        w(Q, true);
                        if (M.ie && M.win) {
                            l.style.display = "block"
                        }
                    }
                    if (E) {
                        E(B)
                    }
                }
                a = false
            }
        }
    }
}();
<tagcloud>
     <tag>
        <text>BrÃ©sil</text>
        <href>destination.php?dest=brazil</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
    <tag>
        <text>Argentine</text>
        <href>destination.php?dest=argentina</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
    <tag>
        <text>Paraguay</text>
        <href>destination.php?dest=paraguay</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
    <tag>
        <text>Bolivie</text>
        <href>destination.php?dest=bolivia</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
    <tag>
        <text>Chili</text>
        <href>destination.php?dest=chile</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
    <tag>
        <text>PÃ©rou</text>
        <href>destination.php?dest=peru</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
    <tag>
        <text>Australie</text>
        <href>destination.php?dest=australia</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
    <tag>
        <text>Nouvelle-ZÃ©lande</text>
        <href>destination.php?dest=newZealand</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
    <tag>
        <text>Singapour</text>
        <href>destination.php?dest=singapore</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
    <tag>
        <text>IndonÃ©sie</text>
        <href>destination.php?dest=indonesia</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
    <tag>
        <text>ThaÃ¯lande</text>
        <href>destination.php?dest=thailand</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
    <tag>
        <text>Cambodge</text>
        <href>destination.php?dest=cambodia</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
    <tag>
        <text>ViÃªt Nam</text>
        <href>destination.php?dest=vietnam</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
    <tag>
        <text>Chine</text>
        <href>destination.php?dest=china</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
    <tag>
        <text>NÃ©pal</text>
        <href>destination.php?dest=nepal</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
    <tag>
        <text>Inde</text>
        <href>destination.php?dest=india</href>
        <size>16</size>
        <target>_top</target>
        <color>0x000000</color>
        <hicolor>0x000099</hicolor>
    </tag> 
  


</tagcloud>
AAFEDV4gIVFaMNPhuW0nC3IUIWTimPg_Cwfo2Vzh5C53WRJfzZVuYcUyPPokNq54HRI-acjlI6pjUwd4FnaxgB3Auifdom9dZEINf_1y2DLRTiQpB2clJ7KcYByyi0aNIIOmKep7yWay4aJKxFCpXYqewlwHY2vBZ9ytBmkkZ6KlLA
AAHtIxXjA30398YjrRImeK_8lrwC4WgQYvfE2nQszpuUNnKD5phBcsnfhEN3qQ82IuH7wP9eFW2hrBeGTnWa0EgjkvRNdeicO0ddkmpZ0mvhUqNujlvkeaFO9ogVXGJP4PCQldLgu9KxLBnxdvYFSpOPFr1j3BkIysSdDSmwsUjj7Q
<?php
namespace Dropbox;

/**
 * Your app's API key and secret.
 */
final class AppInfo
{
    /**
     * Your Dropbox <em>app key</em> (OAuth calls this the <em>consumer key</em>).  You can
     * create an app key and secret on the <a href="http://dropbox.com/developers/apps">Dropbox developer website</a>.
     *
     * @return string
     */
    function getKey() { return $this->key; }

    /** @var string */
    private $key;

    /**
     * Your Dropbox <em>app secret</em> (OAuth calls this the <em>consumer secret</em>).  You can
     * create an app key and secret on the <a href="http://dropbox.com/developers/apps">Dropbox developer website</a>.
     *
     * Make sure that this is kept a secret.  Someone with your app secret can impesonate your
     * application.  People sometimes ask for help on the Dropbox API forums and
     * copy/paste code that includes their app secret.  Do not do that.
     *
     * @return string
     */
    function getSecret() { return $this->secret; }

    /** @var string */
    private $secret;

    /**
     * The set of servers your app will use.  This defaults to the standard Dropbox servers
     * {@link Host::getDefault}.
     *
     * @return Host
     *
     * @internal
     */
    function getHost() { return $this->host; }

    /** @var Host */
    private $host;

    /**
     * Constructor.
     *
     * @param string $key
     *    See {@link getKey()}
     * @param string $secret
     *    See {@link getSecret()}
     */
    function __construct($key, $secret)
    {
        self::checkKeyArg($key);
        self::checkSecretArg($secret);

        $this->key = $key;
        $this->secret = $secret;

        // The $host parameter is sort of internal.  We don't include it in the param list because
        // we don't want it to be included in the documentation.  Use PHP arg list hacks to get at
        // it.
        $host = null;
        if (\func_num_args() == 3) {
            $host = \func_get_arg(2);
            Host::checkArgOrNull("host", $host);
        }
        if ($host === null) {
            $host = Host::getDefault();
        }
        $this->host = $host;
    }

    /**
     * Loads a JSON file containing information about your app. At a minimum, the file must include
     * the "key" and "secret" fields.  Run 'php authorize.php' in the examples directory
     * for details about what this file should look like.
     *
     * @param string $path
     *    Path to a JSON file
     *
     * @return AppInfo
     *
     * @throws AppInfoLoadException
     */
    static function loadFromJsonFile($path)
    {
        list($rawJson, $appInfo) = self::loadFromJsonFileWithRaw($path);
        return $appInfo;
    }

    /**
     * Loads a JSON file containing information about your app. At a minimum, the file must include
     * the "key" and "secret" fields.  Run 'php authorize.php' in the examples directory
     * for details about what this file should look like.
     *
     * @param string $path
     *    Path to a JSON file
     *
     * @return array
     *    A list of two items.  The first is a PHP array representation of the raw JSON, the second
     *    is an AppInfo object that is the parsed version of the JSON.
     *
     * @throws AppInfoLoadException
     *
     * @internal
     */
    static function loadFromJsonFileWithRaw($path)
    {
        if (!file_exists($path)) {
            throw new AppInfoLoadException("File doesn't exist: \"$path\"");
        }

        $str = file_get_contents($path);
        $jsonArr = json_decode($str, TRUE);

        if (is_null($jsonArr)) {
            throw new AppInfoLoadException("JSON parse error: \"$path\"");
        }

        $appInfo = self::loadFromJson($jsonArr);

        return array($jsonArr, $appInfo);
    }

    /**
     * Parses a JSON object to build an AppInfo object.  If you would like to load this from a file,
     * use the loadFromJsonFile() method.
     *
     * @param array $jsonArr Output from json_decode($str, TRUE)
     *
     * @return AppInfo
     *
     * @throws AppInfoLoadException
     */
    static function loadFromJson($jsonArr)
    {
        if (!is_array($jsonArr)) {
            throw new AppInfoLoadException("Expecting JSON object, got something else");
        }

        $requiredKeys = array("key", "secret");
        foreach ($requiredKeys as $key) {
            if (!array_key_exists($key, $jsonArr)) {
                throw new AppInfoLoadException("Missing field \"$key\"");
            }

            if (!is_string($jsonArr[$key])) {
                throw new AppInfoLoadException("Expecting field \"$key\" to be a string");
            }
        }

        // Check app_key and app_secret
        $appKey = $jsonArr["key"];
        $appSecret = $jsonArr["secret"];

        $tokenErr = self::getTokenPartError($appKey);
        if (!is_null($tokenErr)) {
            throw new AppInfoLoadException("Field \"key\" doesn't look like a valid app key: $tokenErr");
        }

        $tokenErr = self::getTokenPartError($appSecret);
        if (!is_null($tokenErr)) {
            throw new AppInfoLoadException("Field \"secret\" doesn't look like a valid app secret: $tokenErr");
        }

        // Check for the optional 'host' field
        if (!array_key_exists('host', $jsonArr)) {
            $host = null;
        }
        else {
            $baseHost = $jsonArr["host"];
            if (!is_string($baseHost)) {
                throw new AppInfoLoadException("Optional field \"host\" must be a string");
            }

            $api = "api-$baseHost";
            $content = "api-content-$baseHost";
            $web = "meta-$baseHost";

            $host = new Host($api, $content, $web);
        }

        return new AppInfo($appKey, $appSecret, $host);
    }

    /**
     * Use this to check that a function argument is of type <code>AppInfo</code>
     *
     * @internal
     */
    static function checkArg($argName, $argValue)
    {
        if (!($argValue instanceof self)) Checker::throwError($argName, $argValue, __CLASS__);
    }

    /**
     * Use this to check that a function argument is either <code>null</code> or of type
     * <code>AppInfo</code>.
     *
     * @internal
     */
    static function checkArgOrNull($argName, $argValue)
    {
        if ($argValue === null) return;
        if (!($argValue instanceof self)) Checker::throwError($argName, $argValue, __CLASS__);
    }

    /** @internal */
    static function getTokenPartError($s)
    {
        if ($s === null) return "can't be null";
        if (strlen($s) === 0) return "can't be empty";
        if (strstr($s, ' ')) return "can't contain a space";
        return null;  // 'null' means "no error"
    }

    /** @internal */
    static function checkKeyArg($key)
    {
        $error = self::getTokenPartError($key);
        if ($error === null) return;
        throw new \InvalidArgumentException("Bad 'key': \"$key\": $error.");
    }

    /** @internal */
    static function checkSecretArg($secret)
    {
        $error = self::getTokenPartError($secret);
        if ($error === null) return;
        throw new \InvalidArgumentException("Bad 'secret': \"$secret\": $error.");
    }

}
<?php
namespace Dropbox;

/**
 * Thrown by the <code>AppInfo::loadXXX</code> methods if something goes wrong.
 */
final class AppInfoLoadException extends \Exception
{
    /**
     * @param string $message
     *
     * @internal
     */
    function __construct($message)
    {
        parent::__construct($message);
    }
}
<?php
namespace Dropbox;

/**
 * A class that gives get/put/clear access to a single entry in an array.
 */
class ArrayEntryStore implements ValueStore
{
    /** @var array */
    private $array;

    /** @var mixed */
    private $key;

    /**
     * Constructor.
     *
     * @param array $array
     *    The array that we'll be accessing.
     *
     * @param mixed $key
     *    The key for the array element we'll be accessing.
     */
    function __construct(&$array, $key)
    {
        $this->array = &$array;
        $this->key = $key;
    }

    /**
     * Returns the entry's current value or <code>null</code> if nothing is set.
     *
     * @return object
     */
    function get()
    {
        if (isset($this->array[$this->key])) {
            return $this->array[$this->key];
        } else {
            return null;
        }
    }

    /**
     * Set the array entry to the given value.
     *
     * @param object $value
     */
    function set($value)
    {
        $this->array[$this->key] = $value;
    }

    /**
     * Clear the entry.
     */
    function clear()
    {
        unset($this->array[$this->key]);
    }
}
<?php
namespace Dropbox;

/**
 * Base class for API authorization-related classes.
 */
class AuthBase
{
    /**
     * Whatever AppInfo was passed into the constructor.
     *
     * @return AppInfo
     */
    function getAppInfo() { return $this->appInfo; }

    /** @var AppInfo */
    protected $appInfo;

    /**
     * An identifier for the API client, typically of the form "Name/Version".
     * This is used to set the HTTP <code>User-Agent</code> header when making API requests.
     * Example: <code>"PhotoEditServer/1.3"</code>
     *
     * If you're the author a higher-level library on top of the basic SDK, and the
     * "Photo Edit" app's server code is using your library to access Dropbox, you should append
     * your library's name and version to form the full identifier.  For example,
     * if your library is called "File Picker", you might set this field to:
     * <code>"PhotoEditServer/1.3 FilePicker/0.1-beta"</code>
     *
     * The exact format of the <code>User-Agent</code> header is described in
     * <a href="http://tools.ietf.org/html/rfc2616#section-3.8">section 3.8 of the HTTP specification</a>.
     *
     * Note that underlying HTTP client may append other things to the <code>User-Agent</code>, such as
     * the name of the library being used to actually make the HTTP request (such as cURL).
     *
     * @return string
     */
    function getClientIdentifier() { return $this->clientIdentifier; }

    /** @var string */
    protected $clientIdentifier;

    /**
     * The locale of the user of your application.  Some API calls return localized
     * data and error messages; this "user locale" setting determines which locale
     * the server should use to localize those strings.
     *
     * @return null|string
     */
    function getUserLocale() { return $this->userLocale; }

    /** @var string */
    protected $userLocale;

    /**
     * Constructor.
     *
     * @param AppInfo $appInfo
     *     See {@link getAppInfo()}
     * @param string $clientIdentifier
     *     See {@link getClientIdentifier()}
     * @param null|string $userLocale
     *     See {@link getUserLocale()}
     */
    function __construct($appInfo, $clientIdentifier, $userLocale = null)
    {
        AppInfo::checkArg("appInfo", $appInfo);
        Client::checkClientIdentifierArg("clientIdentifier", $clientIdentifier);
        Checker::argStringNonEmptyOrNull("userLocale", $userLocale);

        $this->appInfo = $appInfo;
        $this->clientIdentifier = $clientIdentifier;
        $this->userLocale = $userLocale;
    }
}
<?php
namespace Dropbox;

/**
 * This class contains methods to load an AppInfo and AccessToken from a JSON file.
 * This can help simplify simple scripts (such as the example programs that come with the
 * SDK) but is probably not useful in typical Dropbox API apps.
 *
 */
final class AuthInfo
{
    /**
     * Loads a JSON file containing authorization information for your app. 'php authorize.php'
     * in the examples directory for details about what this file should look like.
     *
     * @param string $path
     *    Path to a JSON file
     * @return array
     *    A <code>list(string $accessToken, Host $host)</code>.
     *
     * @throws AuthInfoLoadException
     */
    static function loadFromJsonFile($path)
    {
        if (!file_exists($path)) {
            throw new AuthInfoLoadException("File doesn't exist: \"$path\"");
        }

        $str = file_get_contents($path);
        $jsonArr = json_decode($str, TRUE);

        if (is_null($jsonArr)) {
            throw new AuthInfoLoadException("JSON parse error: \"$path\"");
        }

        return self::loadFromJson($jsonArr);
    }

    /**
     * Parses a JSON object to build an AuthInfo object.  If you would like to load this from a file,
     * please use the @see loadFromJsonFile method.
     *
     * @param array $jsonArr
     *    A parsed JSON object, typcally the result of json_decode(..., TRUE).
     * @return array
     *    A <code>list(string $accessToken, Host $host)</code>.
     *
     * @throws AuthInfoLoadException
     */
    private static function loadFromJson($jsonArr)
    {
        if (!is_array($jsonArr)) {
            throw new AuthInfoLoadException("Expecting JSON object, found something else");
        }

        // Check access_token
        if (!array_key_exists('access_token', $jsonArr)) {
            throw new AuthInfoLoadException("Missing field \"access_token\"");
        }

        $accessToken = $jsonArr['access_token'];
        if (!is_string($accessToken)) {
            throw new AuthInfoLoadException("Expecting field \"access_token\" to be a string");
        }

        // Check for the optional 'host' field
        if (!array_key_exists('host', $jsonArr)) {
            $host = null;
        }
        else {
            $baseHost = $jsonArr["host"];
            if (!is_string($baseHost)) {
                throw new AuthInfoLoadException("Optional field \"host\" must be a string");
            }

            $api = "api-$baseHost";
            $content = "api-content-$baseHost";
            $web = "meta-$baseHost";

            $host = new Host($api, $content, $web);
        }

        return array($accessToken, $host);
    }
}
<?php
namespace Dropbox;

/**
 * Thrown by the <code>AuthInfo::loadXXX</code> methods if something goes wrong.
 */
final class AuthInfoLoadException extends \Exception
{
    /**
     * @param string $message
     *
     * @internal
     */
    function __construct($message)
    {
        parent::__construct($message);
    }
}
<?php
namespace Dropbox;

/**
 * Helper functions to validate arguments.
 *
 * @internal
 */
class Checker
{
    static function throwError($argName, $argValue, $expectedTypeName)
    {
        if ($argValue === null) throw new \InvalidArgumentException("'$argName' must not be null");

        if (is_object($argValue)) {
            // Class type.
            $argTypeName = get_class($argValue);
        } else {
            // Built-in type.
            $argTypeName = gettype($argValue);
        }
        throw new \InvalidArgumentException("'$argName' has bad type; expecting $expectedTypeName, got $argTypeName");
    }

    static function argResource($argName, $argValue)
    {
        if (!is_resource($argValue)) self::throwError($argName, $argValue, "resource");
    }

    static function argCallable($argName, $argValue)
    {
        if (!is_callable($argValue)) self::throwError($argName, $argValue, "callable");
    }

    static function argBool($argName, $argValue)
    {
        if (!is_bool($argValue)) self::throwError($argName, $argValue, "boolean");
    }

    static function argArray($argName, $argValue)
    {
        if (!is_array($argValue)) self::throwError($argName, $argValue, "array");
    }

    static function argString($argName, $argValue)
    {
        if (!is_string($argValue)) self::throwError($argName, $argValue, "string");
    }

    static function argStringOrNull($argName, $argValue)
    {
        if ($argValue === null) return;
        if (!is_string($argValue)) self::throwError($argName, $argValue, "string");
    }

    static function argStringNonEmpty($argName, $argValue)
    {
        if (!is_string($argValue)) self::throwError($argName, $argValue, "string");
        if (strlen($argValue) === 0) throw new \InvalidArgumentException("'$argName' must be non-empty");
    }

    static function argStringNonEmptyOrNull($argName, $argValue)
    {
        if ($argValue === null) return;
        if (!is_string($argValue)) self::throwError($argName, $argValue, "string");
        if (strlen($argValue) === 0) throw new \InvalidArgumentException("'$argName' must be non-empty");
    }

    static function argNat($argName, $argValue)
    {
        if (!is_int($argValue)) self::throwError($argName, $argValue, "int");
        if ($argValue < 0) throw new \InvalidArgumentException("'$argName' must be non-negative (you passed in $argValue)");
    }

    static function argNatOrNull($argName, $argValue)
    {
        if ($argValue === null) return;
        if (!is_int($argValue)) self::throwError($argName, $argValue, "int");
        if ($argValue < 0) throw new \InvalidArgumentException("'$argName' must be non-negative (you passed in $argValue)");
    }

    static function argIntPositive($argName, $argValue)
    {
        if (!is_int($argValue)) self::throwError($argName, $argValue, "int");
        if ($argValue < 1) throw new \InvalidArgumentException("'$argName' must be positive (you passed in $argValue)");
    }

    static function argIntPositiveOrNull($argName, $argValue)
    {
        if ($argValue === null) return;
        if (!is_int($argValue)) self::throwError($argName, $argValue, "int");
        if ($argValue < 1) throw new \InvalidArgumentException("'$argName' must be positive (you passed in $argValue)");
    }
}
<?php
namespace Dropbox;

/**
 * The class used to make most Dropbox API calls.  You can use this once you've gotten an
 * {@link AccessToken} via {@link WebAuth}.
 *
 * This class is stateless so it can be shared/reused.
 */
class Client
{
    /**
     * The access token used by this client to make authenticated API calls.  You can get an
     * access token via {@link WebAuth}.
     *
     * @return AccessToken
     */
    function getAccessToken() { return $this->accessToken; }

    /** @var AccessToken */
    private $accessToken;

    /**
     * An identifier for the API client, typically of the form "Name/Version".
     * This is used to set the HTTP <code>User-Agent</code> header when making API requests.
     * Example: <code>"PhotoEditServer/1.3"</code>
     *
     * If you're the author a higher-level library on top of the basic SDK, and the
     * "Photo Edit" app's server code is using your library to access Dropbox, you should append
     * your library's name and version to form the full identifier.  For example,
     * if your library is called "File Picker", you might set this field to:
     * <code>"PhotoEditServer/1.3 FilePicker/0.1-beta"</code>
     *
     * The exact format of the <code>User-Agent</code> header is described in
     * <a href="http://tools.ietf.org/html/rfc2616#section-3.8">section 3.8 of the HTTP specification</a>.
     *
     * Note that underlying HTTP client may append other things to the <code>User-Agent</code>, such as
     * the name of the library being used to actually make the HTTP request (such as cURL).
     *
     * @return string
     */
    function getClientIdentifier() { return $this->clientIdentifier; }

    /** @var string */
    private $clientIdentifier;

    /**
     * The locale of the user of your application.  Some API calls return localized
     * data and error messages; this "user locale" setting determines which locale
     * the server should use to localize those strings.
     *
     * @return null|string
     */
    function getUserLocale() { return $this->userLocale; }

    /** @var null|string */
    private $userLocale;

    /**
     * The {@link Host} object that determines the hostnames we make requests to.
     *
     * @return Host
     */
    function getHost() { return $this->host; }

    /**
     * Constructor.
     *
     * @param string $accessToken
     *     See {@link getAccessToken()}
     * @param string $clientIdentifier
     *     See {@link getClientIdentifier()}
     * @param null|string $userLocale
     *     See {@link getUserLocale()}
     */
    function __construct($accessToken, $clientIdentifier, $userLocale = null)
    {
        self::checkAccessTokenArg("accessToken", $accessToken);
        self::checkClientIdentifierArg("clientIdentifier", $clientIdentifier);
        Checker::argStringNonEmptyOrNull("userLocale", $userLocale);

        $this->accessToken = $accessToken;
        $this->clientIdentifier = $clientIdentifier;
        $this->userLocale = $userLocale;

        // The $host parameter is sort of internal.  We don't include it in the param list because
        // we don't want it to be included in the documentation.  Use PHP arg list hacks to get at
        // it.
        $host = null;
        if (\func_num_args() == 4) {
            $host = \func_get_arg(3);
            Host::checkArgOrNull("host", $host);
        }
        if ($host === null) {
            $host = Host::getDefault();
        }
        $this->host = $host;

        // These fields are redundant, but it makes these values a little more convenient
        // to access.
        $this->apiHost = $host->getApi();
        $this->contentHost = $host->getContent();
    }

    /** @var string */
    private $apiHost;
    /** @var string */
    private $contentHost;

    /**
     * Given a <code>$base</code> path for an API endpoint (for example, "/files"), append
     * a Dropbox API file path to the end of that URL.  Special characters in the file will
     * be encoded properly.
     *
     * This is for endpoints like "/files" takes the path on the URL and not as a separate
     * query or POST parameter.
     *
     * @param string $base
     * @param string $path
     * @return string
     */
    function appendFilePath($base, $path)
    {
        return $base . "/auto/" . rawurlencode(substr($path, 1));
    }

    /**
     * Make an API call to disable the access token that you constructed this <code>Client</code>
     * with.  After calling this, API calls made with this <code>Client</code> will fail.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#disable-token">/disable_access_token</a>.
     *
     * @throws Exception
     */
    function disableAccessToken()
    {
        $response = $this->doPost($this->apiHost, "1/disable_access_token");
        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
    }

    /**
     * Make an API call to get basic account and quota information.
     *
     * <code>
     * $client = ...
     * $accountInfo = $client->getAccountInfo();
     * print_r($accountInfo);
     * </code>
     *
     * @return array
     *    See <a href="https://www.dropbox.com/developers/core/docs#account-info">/account/info</a>.
     *
     * @throws Exception
     */
    function getAccountInfo()
    {
        $response = $this->doGet($this->apiHost, "1/account/info");
        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
        return RequestUtil::parseResponseJson($response->body);
    }

    /**
     * Downloads a file from Dropbox.  The file's contents are written to the
     * given <code>$outStream</code> and the file's metadata is returned.
     *
     * <code>
     * $client = ...;
     * $fd = fopen("./Frog.jpeg", "wb");
     * $metadata = $client->getFile("/Photos/Frog.jpeg", $fd);
     * fclose($fd);
     * print_r($metadata);
     * </code>
     *
     * @param string $path
     *   The path to the file on Dropbox (UTF-8).
     *
     * @param resource $outStream
     *   If the file exists, the file contents will be written to this stream.
     *
     * @param string|null $rev
     *   If you want the latest revision of the file at the given path, pass in <code>null</code>.
     *   If you want a specific version of a file, pass in value of the file metadata's "rev" field.
     *
     * @return null|array
     *   The <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata
     *   object</a> for the file at the given $path and $rev, or <code>null</code> if the file
     *   doesn't exist,
     *
     * @throws Exception
     */
    function getFile($path, $outStream, $rev = null)
    {
        Path::checkArgNonRoot("path", $path);
        Checker::argResource("outStream", $outStream);
        Checker::argStringNonEmptyOrNull("rev", $rev);

        $url = $this->buildUrlForGetOrPut(
            $this->contentHost,
            $this->appendFilePath("1/files", $path),
            array("rev" => $rev));

        $curl = $this->mkCurl($url);
        $metadataCatcher = new DropboxMetadataHeaderCatcher($curl->handle);
        $streamRelay = new CurlStreamRelay($curl->handle, $outStream);

        $response = $curl->exec();

        if ($response->statusCode === 404) return null;

        if ($response->statusCode !== 200) {
            $response->body = $streamRelay->getErrorBody();
            throw RequestUtil::unexpectedStatus($response);
        }

        return $metadataCatcher->getMetadata();
    }

    /**
     * Calling 'uploadFile' with <code>$numBytes</code> less than this value, will cause this SDK
     * to use the standard /files_put endpoint.  When <code>$numBytes</code> is greater than this
     * value, we'll use the /chunked_upload endpoint.
     *
     * @var int
     */
    private static $AUTO_CHUNKED_UPLOAD_THRESHOLD = 9863168;  // 8 MB

    /**
     * @var int
     */
    private static $DEFAULT_CHUNK_SIZE = 4194304;  // 4 MB

    /**
     * Creates a file on Dropbox, using the data from <code>$inStream</code> for the file contents.
     *
     * <code>
     * use \Dropbox as dbx;
     * $client = ...;
     * $fd = fopen("./frog.jpeg", "rb");
     * $md1 = $client->uploadFile("/Photos/Frog.jpeg",
     *                            dbx\WriteMode::add(), $fd);
     * fclose($fd);
     * print_r($md1);
     * $rev = $md1["rev"];
     *
     * // Re-upload with WriteMode::update(...), which will overwrite the
     * // file if it hasn't been modified from our original upload.
     * $fd = fopen("./frog-new.jpeg", "rb");
     * $md2 = $client->uploadFile("/Photos/Frog.jpeg",
     *                            dbx\WriteMode::update($rev), $fd);
     * fclose($fd);
     * print_r($md2);
     * </code>
     *
     * @param string $path
     *    The Dropbox path to save the file to (UTF-8).
     *
     * @param WriteMode $writeMode
     *    What to do if there's already a file at the given path.
     *
     * @param resource $inStream
     *    The data to use for the file contents.
     *
     * @param int|null $numBytes
     *    You can pass in <code>null</code> if you don't know.  If you do provide the size, we can
     *    perform a slightly more efficient upload (fewer network round-trips) for files smaller
     *    than 8 MB.
     *
     * @return mixed
     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details>metadata
     *    object</a> for the newly-added file.
     *
     * @throws Exception
     */
    function uploadFile($path, $writeMode, $inStream, $numBytes = null)
    {
        Path::checkArgNonRoot("path", $path);
        WriteMode::checkArg("writeMode", $writeMode);
        Checker::argResource("inStream", $inStream);
        Checker::argNatOrNull("numBytes", $numBytes);

        // If we don't know how many bytes are coming, we have to use chunked upload.
        // If $numBytes is large, we elect to use chunked upload.
        // In all other cases, use regular upload.
        if ($numBytes === null || $numBytes > self::$AUTO_CHUNKED_UPLOAD_THRESHOLD) {
            $metadata = $this->_uploadFileChunked($path, $writeMode, $inStream, $numBytes,
                                                  self::$DEFAULT_CHUNK_SIZE);
        } else {
            $metadata = $this->_uploadFile($path, $writeMode,
                function(Curl $curl) use ($inStream, $numBytes) {
                    $curl->set(CURLOPT_PUT, true);
                    $curl->set(CURLOPT_INFILE, $inStream);
                    $curl->set(CURLOPT_INFILESIZE, $numBytes);
                });
        }

        return $metadata;
    }

    /**
     * Creates a file on Dropbox, using the given $data string as the file contents.
     *
     * <code>
     * use \Dropbox as dbx;
     * $client = ...;
     * $md = $client->uploadFileFromString("/Grocery List.txt",
     *                                     dbx\WriteMode::add(),
     *                                     "1. Coke\n2. Popcorn\n3. Toothpaste\n");
     * print_r($md);
     * </code>
     *
     * @param string $path
     *    The Dropbox path to save the file to (UTF-8).
     *
     * @param WriteMode $writeMode
     *    What to do if there's already a file at the given path.
     *
     * @param string $data
     *    The data to use for the contents of the file.
     *
     * @return mixed
     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details>metadata
     *    object</a> for the newly-added file.
     *
     * @throws Exception
     */
    function uploadFileFromString($path, $writeMode, $data)
    {
        Path::checkArgNonRoot("path", $path);
        WriteMode::checkArg("writeMode", $writeMode);
        Checker::argString("data", $data);

        return $this->_uploadFile($path, $writeMode, function(Curl $curl) use ($data) {
            $curl->set(CURLOPT_CUSTOMREQUEST, "PUT");
            $curl->set(CURLOPT_POSTFIELDS, $data);
            $curl->addHeader("Content-Type: application/octet-stream");
        });
    }

    /**
     * Creates a file on Dropbox, using the data from $inStream as the file contents.
     *
     * This version of <code>uploadFile</code> splits uploads the file ~4MB chunks at a time and
     * will retry a few times if one chunk fails to upload.  Uses {@link chunkedUploadStart()},
     * {@link chunkedUploadContinue()}, and {@link chunkedUploadFinish()}.
     *
     * @param string $path
     *    The Dropbox path to save the file to (UTF-8).
     *
     * @param WriteMode $writeMode
     *    What to do if there's already a file at the given path.
     *
     * @param resource $inStream
     *    The data to use for the file contents.
     *
     * @param int|null $numBytes
     *    The number of bytes available from $inStream.
     *    You can pass in <code>null</code> if you don't know.
     *
     * @param int|null $chunkSize
     *    The number of bytes to upload in each chunk.  You can omit this (or pass in
     *    <code>null</code> and the library will use a reasonable default.
     *
     * @return mixed
     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details>metadata
     *    object</a> for the newly-added file.
     *
     * @throws Exception
     */
    function uploadFileChunked($path, $writeMode, $inStream, $numBytes = null, $chunkSize = null)
    {
        if ($chunkSize === null) {
            $chunkSize = self::$DEFAULT_CHUNK_SIZE;
        }

        Path::checkArgNonRoot("path", $path);
        WriteMode::checkArg("writeMode", $writeMode);
        Checker::argResource("inStream", $inStream);
        Checker::argNatOrNull("numBytes", $numBytes);
        Checker::argIntPositive("chunkSize", $chunkSize);

        return $this->_uploadFileChunked($path, $writeMode, $inStream, $numBytes, $chunkSize);
    }

    /**
     * @param string $path
     *
     * @param WriteMode $writeMode
     *    What to do if there's already a file at the given path (UTF-8).
     *
     * @param resource $inStream
     *    The source of data to upload.
     *
     * @param int|null $numBytes
     *    You can pass in <code>null</code>.  But if you know how many bytes you expect, pass in
     *    that value and this function will do a sanity check at the end to make sure the number of
     *    bytes read from $inStream matches up.
     *
     * @param int $chunkSize
     *
     * @return array
     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details>metadata
     *    object</a> for the newly-added file.
     */
    private function _uploadFileChunked($path, $writeMode, $inStream, $numBytes, $chunkSize)
    {
        Path::checkArg("path", $path);
        WriteMode::checkArg("writeMode", $writeMode);
        Checker::argResource("inStream", $inStream);
        Checker::argNatOrNull("numBytes", $numBytes);
        Checker::argNat("chunkSize", $chunkSize);

        // NOTE: This function performs 3 retries on every call.  This is maybe not the right
        // layer to make retry decisions.  It's also awkward because none of the other calls
        // perform retries.

        assert($chunkSize > 0);

        $data = self::readFully($inStream, $chunkSize);
        $len = strlen($data);

        $client = $this;
        $uploadId = RequestUtil::runWithRetry(3, function() use ($data, $client) {
            return $client->chunkedUploadStart($data);
        });

        $byteOffset = $len;

        while (!feof($inStream)) {
            $data = self::readFully($inStream, $chunkSize);
            $len = strlen($data);

            while (true) {
                $r = RequestUtil::runWithRetry(3,
                    function() use ($client, $uploadId, $byteOffset, $data) {
                        return $client->chunkedUploadContinue($uploadId, $byteOffset, $data);
                    });

                if ($r === true) {  // Chunk got uploaded!
                    $byteOffset += $len;
                    break;
                }
                if ($r === false) {  // Server didn't recognize our upload ID
                    // This is very unlikely since we're uploading all the chunks in sequence.
                    throw new Exception_BadResponse("Server forgot our uploadId");
                }

                // Otherwise, the server is at a different byte offset from us.
                $serverByteOffset = $r;
                assert($serverByteOffset !== $byteOffset);  // chunkedUploadContinue ensures this.
                // An earlier byte offset means the server has lost data we sent earlier.
                if ($serverByteOffset < $byteOffset) throw new Exception_BadResponse(
                    "Server is at an ealier byte offset: us=$byteOffset, server=$serverByteOffset");
                $diff = $serverByteOffset - $byteOffset;
                // If the server is past where we think it could possibly be, something went wrong.
                if ($diff > $len) throw new Exception_BadResponse(
                    "Server is more than a chunk ahead: us=$byteOffset, server=$serverByteOffset");
                // The normal case is that the server is a bit further along than us because of a
                // partially-uploaded chunk.  Finish it off.
                $byteOffset += $diff;
                if ($diff === $len) break;  // If the server is at the end, we're done.
                $data = substr($data, $diff);
            }
        }

        if ($numBytes !== null && $byteOffset !== $numBytes) throw new \InvalidArgumentException(
            "You passed numBytes=$numBytes but the stream had $byteOffset bytes.");

        $metadata = RequestUtil::runWithRetry(3,
            function() use ($client, $uploadId, $path, $writeMode) {
                return $client->chunkedUploadFinish($uploadId, $path, $writeMode);
            });

        return $metadata;
    }

    /**
     * Sometimes fread() returns less than the request number of bytes (for example, when reading
     * from network streams).  This function repeatedly calls fread until the requested number of
     * bytes have been read or we've reached EOF.
     *
     * @param resource $inStream
     * @param int $numBytes
     * @throws StreamReadException
     * @return string
     */
    private static function readFully($inStream, $numBytes)
    {
        Checker::argNat("numBytes", $numBytes);

        $full = '';
        $bytesRemaining = $numBytes;
        while (!feof($inStream) && $bytesRemaining > 0) {
            $part = fread($inStream, $bytesRemaining);
            if ($part === false) throw new StreamReadException("Error reading from \$inStream.");
            $full .= $part;
            $bytesRemaining -= strlen($part);
        }
        return $full;
    }

    /**
     * @param string $path
     * @param WriteMode $writeMode
     * @param callable $curlConfigClosure
     * @return array
     */
    private function _uploadFile($path, $writeMode, $curlConfigClosure)
    {
        Path::checkArg("path", $path);
        WriteMode::checkArg("writeMode", $writeMode);
        Checker::argCallable("curlConfigClosure", $curlConfigClosure);

        $url = $this->buildUrlForGetOrPut(
            $this->contentHost,
            $this->appendFilePath("1/files_put", $path),
            $writeMode->getExtraParams());

        $curl = $this->mkCurl($url);

        $curlConfigClosure($curl);

        $curl->set(CURLOPT_RETURNTRANSFER, true);
        $response = $curl->exec();

        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        return RequestUtil::parseResponseJson($response->body);
    }

    /**
     * Start a new chunked upload session and upload the first chunk of data.
     *
     * @param string $data
     *     The data to start off the chunked upload session.
     *
     * @return array
     *     A pair of <code>(string $uploadId, int $byteOffset)</code>.  <code>$uploadId</code>
     *     is a unique identifier for this chunked upload session.  You pass this in to
     *     {@link chunkedUploadContinue} and {@link chuunkedUploadFinish}.  <code>$byteOffset</code>
     *     is the number of bytes that were successfully uploaded.
     *
     * @throws Exception
     */
    function chunkedUploadStart($data)
    {
        Checker::argString("data", $data);

        $response = $this->_chunkedUpload(array(), $data);

        if ($response->statusCode === 404) {
            throw new Exception_BadResponse("Got a 404, but we didn't send up an 'upload_id'");
        }

        $correction = self::_chunkedUploadCheckForOffsetCorrection($response);
        if ($correction !== null) throw new Exception_BadResponse(
            "Got an offset-correcting 400 response, but we didn't send an offset");

        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        list($uploadId, $byteOffset) = self::_chunkedUploadParse200Response($response->body);
        $len = strlen($data);
        if ($byteOffset !== $len) throw new Exception_BadResponse(
            "We sent $len bytes, but server returned an offset of $byteOffset");

        return $uploadId;
    }

    /**
     * Append another chunk data to a previously-started chunked upload session.
     *
     * @param string $uploadId
     *     The unique identifier for the chunked upload session.  This is obtained via
     *     {@link chunkedUploadStart}.
     *
     * @param int $byteOffset
     *     The number of bytes you think you've already uploaded to the given chunked upload
     *     session.  The server will append the new chunk of data after that point.
     *
     * @param string $data
     *     The data to append to the existing chunked upload session.
     *
     * @return int|bool
     *     If <code>false</code>, it means the server didn't know about the given
     *     <code>$uploadId</code>.  This may be because the chunked upload session has expired
     *     (they last around 24 hours).
     *     If <code>true</code>, the chunk was successfully uploaded.  If an integer, it means
     *     you and the server don't agree on the current <code>$byteOffset</code>.  The returned
     *     integer is the server's internal byte offset for the chunked upload session.  You need
     *     to adjust your input to match.
     *
     * @throws Exception
     */
    function chunkedUploadContinue($uploadId, $byteOffset, $data)
    {
        Checker::argStringNonEmpty("uploadId", $uploadId);
        Checker::argNat("byteOffset", $byteOffset);
        Checker::argString("data", $data);

        $response = $this->_chunkedUpload(
            array("upload_id" => $uploadId, "offset" => $byteOffset), $data);

        if ($response->statusCode === 404) {
            // The server doesn't know our upload ID.  Maybe it expired?
            return false;
        }

        $correction = self::_chunkedUploadCheckForOffsetCorrection($response);
        if ($correction !== null) {
            list($correctedUploadId, $correctedByteOffset) = $correction;
            if ($correctedUploadId !== $uploadId) throw new Exception_BadResponse(
                "Corrective 400 upload_id mismatch: us=".
                self::q($uploadId)." server=".self::q($correctedUploadId));
            if ($correctedByteOffset === $byteOffset) throw new Exception_BadResponse(
                "Corrective 400 offset is the same as ours: $byteOffset");
            return $correctedByteOffset;
        }

        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
        list($retUploadId, $retByteOffset) = self::_chunkedUploadParse200Response($response->body);

        $nextByteOffset = $byteOffset + strlen($data);
        if ($uploadId !== $retUploadId) throw new Exception_BadResponse(
                "upload_id mismatch: us=".self::q($uploadId).", server=".self::q($uploadId));
        if ($nextByteOffset !== $retByteOffset) throw new Exception_BadResponse(
                "next-offset mismatch: us=$nextByteOffset, server=$retByteOffset");

        return true;
    }

    /**
     * @param string $body
     * @return array
     */
    private static function _chunkedUploadParse200Response($body)
    {
        $j = RequestUtil::parseResponseJson($body);
        $uploadId = self::getField($j, "upload_id");
        $byteOffset = self::getField($j, "offset");
        return array($uploadId, $byteOffset);
    }

    /**
     * @param HttpResponse $response
     * @return array|null
     */
    private static function _chunkedUploadCheckForOffsetCorrection($response)
    {
        if ($response->statusCode !== 400) return null;
        $j = json_decode($response->body, true);
        if ($j === null) return null;
        if (!array_key_exists("upload_id", $j) || !array_key_exists("offset", $j)) return null;
        $uploadId = $j["upload_id"];
        $byteOffset = $j["offset"];
        return array($uploadId, $byteOffset);
    }

    /**
     * Creates a file on Dropbox using the accumulated contents of the given chunked upload session.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#commit-chunked-upload">/commit_chunked_upload</a>.
     *
     * @param string $uploadId
     *     The unique identifier for the chunked upload session.  This is obtained via
     *     {@link chunkedUploadStart}.
     *
     * @param string $path
     *    The Dropbox path to save the file to ($path).
     *
     * @param WriteMode $writeMode
     *    What to do if there's already a file at the given path.
     *
     * @return array|null
     *    If <code>null</code>, it means the Dropbox server wasn't aware of the
     *    <code>$uploadId</code> you gave it.
     *    Otherwise, you get back the
     *    <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata object</a>
     *    for the newly-created file.
     *
     * @throws Exception
     */
    function chunkedUploadFinish($uploadId, $path, $writeMode)
    {
        Checker::argStringNonEmpty("uploadId", $uploadId);
        Path::checkArgNonRoot("path", $path);
        WriteMode::checkArg("writeMode", $writeMode);

        $params = array_merge(array("upload_id" => $uploadId), $writeMode->getExtraParams());

        $response = $this->doPost(
            $this->contentHost,
            $this->appendFilePath("1/commit_chunked_upload", $path),
            $params);

        if ($response->statusCode === 404) return null;
        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        return RequestUtil::parseResponseJson($response->body);
    }

    /**
     * @param array $params
     * @param string $data
     * @return HttpResponse
     */
    protected function _chunkedUpload($params, $data)
        // Marked 'protected' so I can override it in testing.
    {
        $url = $this->buildUrlForGetOrPut(
            $this->contentHost, "1/chunked_upload", $params);

        $curl = $this->mkCurl($url);

        // We can't use CURLOPT_PUT because it wants a stream, but we already have $data in memory.
        $curl->set(CURLOPT_CUSTOMREQUEST, "PUT");
        $curl->set(CURLOPT_POSTFIELDS, $data);
        $curl->addHeader("Content-Type: application/octet-stream");

        $curl->set(CURLOPT_RETURNTRANSFER, true);
        return $curl->exec();
    }

    /**
     * Returns the metadata for whatever file or folder is at the given path.
     *
     * <code>
     * $client = ...;
     * $md = $client->getMetadata("/Photos/Frog.jpeg");
     * print_r($md);
     * </code>
     *
     * @param string $path
     *    The Dropbox path to a file or folder (UTF-8).
     *
     * @return array|null
     *    If there is a file or folder at the given path, you'll get back the
     *    <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata object</a>
     *    for that file or folder.  If not, you'll get back <code>null</code>.
     *
     * @throws Exception
     */
    function getMetadata($path)
    {
        Path::checkArg("path", $path);

        return $this->_getMetadata($path, array("list" => "false"));
    }

    /**
     * Returns the metadata for whatever file or folder is at the given path and, if it's a folder,
     * also include the metadata for all the immediate children of that folder.
     *
     * <code>
     * $client = ...;
     * $md = $client->getMetadataWithChildren("/Photos");
     * print_r($md);
     * </code>
     *
     * @param string $path
     *    The Dropbox path to a file or folder (UTF-8).
     *
     * @return array|null
     *    If there is a file or folder at the given path, you'll get back the
     *    <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata object</a>
     *    for that file or folder, along with all immediate children if it's a folder.  If not,
     *    you'll get back <code>null</code>.
     *
     * @throws Exception
     */
    function getMetadataWithChildren($path)
    {
        Path::checkArg("path", $path);

        return $this->_getMetadata($path, array("list" => "true", "file_limit" => "25000"));
    }

    /**
     * @param string $path
     * @param array $params
     * @return array
     */
    private function _getMetadata($path, $params)
    {
        $response = $this->doGet(
            $this->apiHost,
            $this->appendFilePath("1/metadata", $path),
            $params);

        if ($response->statusCode === 404) return null;
        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        $metadata = RequestUtil::parseResponseJson($response->body);
        if (array_key_exists("is_deleted", $metadata) && $metadata["is_deleted"]) return null;
        return $metadata;
    }

    /**
     * If you've previously retrieved the metadata for a folder and its children, this method will
     * retrieve updated metadata only if something has changed.  This is more efficient than
     * calling {@link getMetadataWithChildren} if you have a cache of previous results.
     *
     * <code>
     * $client = ...;
     * $md = $client->getMetadataWithChildren("/Photos");
     * print_r($md);
     * assert($md["is_dir"], "expecting \"/Photos\" to be a folder");
     *
     * sleep(10);
     *
     * // Now see if anything changed...
     * list($changed, $new_md) = $client->getMetadataWithChildrenIfChanged(
     *                                    "/Photos", $md["hash"]);
     * if ($changed) {
     *     echo "Folder changed.\n";
     *     print_r($new_md);
     * } else {
     *     echo "Folder didn't change.\n";
     * }
     * </code>
     *
     * @param string $path
     *    The Dropbox path to a folder (UTF-8).
     *
     * @param string $previousFolderHash
     *    The "hash" field from the previously retrieved folder metadata.
     *
     * @return array
     *    A <code>list(boolean $changed, array $metadata)</code>.  If the metadata hasn't changed,
     *    you'll get <code>list(false, null)</code>.  If the metadata of the folder or any of its
     *    children has changed, you'll get <code>list(true, $newMetadata)</code>.  $metadata is a
     *    <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata object</a>.
     *
     * @throws Exception
     */
    function getMetadataWithChildrenIfChanged($path, $previousFolderHash)
    {
        Path::checkArg("path", $path);
        Checker::argStringNonEmpty("previousFolderHash", $previousFolderHash);

        $params = array("list" => "true", "file_limit" => "25000", "hash" => $previousFolderHash);

        $response = $this->doGet(
            $this->apiHost,
            $this->appendFilePath("1/metadata", $path),
            $params);

        if ($response->statusCode === 304) return array(false, null);
        if ($response->statusCode === 404) return array(true, null);
        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        $metadata = RequestUtil::parseResponseJson($response->body);
        if (array_key_exists("is_deleted", $metadata) && $metadata["is_deleted"]) {
            return array(true, null);
        }
        return array(true, $metadata);
    }

    /**
     * A way of letting you keep up with changes to files and folders in a user's Dropbox.
     *
     * @param string|null $cursor
     *    If this is the first time you're calling this, pass in <code>null</code>.  Otherwise,
     *    pass in whatever cursor was returned by the previous call.
     *
     * @param string|null $pathPrefix
     *    If <code>null</code>, you'll get results for the entire folder (either the user's
     *    entire Dropbox or your App Folder).  If you set <code>$path_prefix</code> to
     *    "/Photos/Vacation", you'll only get results for that path and any files and folders
     *    under it.
     *
     * @return array
     *    A <a href="https://www.dropbox.com/developers/core/docs#delta">delta page</a>, which
     *    contains a list of changes to apply along with a new "cursor" that should be passed into
     *    future <code>getDelta</code> calls.  If the "reset" field is <code>true</code>, you
     *    should clear your local state before applying the changes.  If the "has_more" field is
     *    <code>true</code>, call <code>getDelta</code> immediately to get more results, otherwise
     *    wait a while (at least 5 minutes) before calling <code>getDelta</code> again.
     *
     * @throws Exception
     */
    function getDelta($cursor = null, $pathPrefix = null)
    {
        Checker::argStringNonEmptyOrNull("cursor", $cursor);
        Path::checkArgOrNull("pathPrefix", $pathPrefix);

        $response = $this->doPost($this->apiHost, "1/delta", array(
            "cursor" => $cursor,
            "path_prefix" => $pathPrefix));

        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        return RequestUtil::parseResponseJson($response->body);
    }

    /**
     * Gets the metadata for all the file revisions (up to a limit) for a given path.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#revisions">/revisions</a>.
     *
     * @param string path
     *    The Dropbox path that you want file revision metadata for (UTF-8).
     *
     * @param int|null limit
     *    The maximum number of revisions to return.
     *
     * @return array|null
     *    A list of <a href="https://www.dropbox.com/developers/core/docs#metadata-details>metadata
     *    objects</a>, one for each file revision.  The later revisions appear first in the list.
     *    If <code>null</code>, then there were too many revisions at that path.
     *
     * @throws Exception
     */
    function getRevisions($path, $limit = null)
    {
        Path::checkArgNonRoot("path", $path);
        Checker::argIntPositiveOrNull("limit", $limit);

        $response = $this->doGet(
            $this->apiHost,
            $this->appendFilePath("1/revisions", $path),
            array("rev_limit" => $limit));

        if ($response->statusCode === 406) return null;
        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        return RequestUtil::parseResponseJson($response->body);
    }

    /**
     * Takes a copy of the file at the given revision and saves it over the current copy.  This
     * will create a new revision, but the file contents will match the revision you specified.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#restore">/restore</a>.
     *
     * @param string $path
     *    The Dropbox path of the file to restore (UTF-8).
     *
     * @param string $rev
     *    The revision to restore the contents to.
     *
     * @return mixed
     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata
     *    object</a>
     *
     * @throws Exception
     */
    function restoreFile($path, $rev)
    {
        Path::checkArgNonRoot("path", $path);
        Checker::argStringNonEmpty("rev", $rev);

        $response = $this->doPost(
            $this->apiHost,
            $this->appendFilePath("1/restore", $path),
            array("rev" => $rev));

        if ($response->statusCode === 404) return null;
        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        return RequestUtil::parseResponseJson($response->body);
    }

    /**
     * Returns metadata for all files and folders whose filename matches the query string.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#search">/search</a>.
     *
     * @param string $basePath
     *    The path to limit the search to (UTF-8).  Pass in "/" to search everything.
     *
     * @param string $query
     *    A space-separated list of substrings to search for.  A file matches only if it contains
     *    all the substrings.
     *
     * @param int|null $limit
     *    The maximum number of results to return.
     *
     * @param bool $includeDeleted
     *    Whether to include deleted files in the results.
     *
     * @return mixed
     *    A list of <a href="https://www.dropbox.com/developers/core/docs#metadata-details>metadata
     *    objects</a> of files that match the search query.
     *
     * @throws Exception
     */
    function searchFileNames($basePath, $query, $limit = null, $includeDeleted = false)
    {
        Path::checkArg("basePath", $basePath);
        Checker::argStringNonEmpty("query", $query);
        Checker::argNatOrNull("limit", $limit);
        Checker::argBool("includeDeleted", $includeDeleted);

        $response = $this->doPost(
            $this->apiHost,
            $this->appendFilePath("1/search", $basePath),
            array(
                "query" => $query,
                "file_limit" => $limit,
                "include_deleted" => $includeDeleted,
            ));

        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        return RequestUtil::parseResponseJson($response->body);
    }

    /**
     * Creates and returns a public link to a file or folder's "preview page".  This link can be
     * used without authentication.  The preview page may contain a thumbnail or some other
     * preview of the file, along with a download link to download the actual file.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#shares">/shares</a>.
     *
     * @param string $path
     *    The Dropbox path to the file or folder you want to create a shareable link to (UTF-8).
     *
     * @return string
     *    The URL of the preview page.
     *
     * @throws Exception
     */
    function createShareableLink($path)
    {
        Path::checkArg("path", $path);

        $response = $this->doPost(
            $this->apiHost,
            $this->appendFilePath("1/shares", $path),
            array(
                "short_url" => "false",
            ));

        if ($response->statusCode === 404) return null;
        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        $j = RequestUtil::parseResponseJson($response->body);
        return self::getField($j, "url");
    }

    /**
     * Creates and returns a direct link to a file.  This link can be used without authentication.
     * This link will expire in a few hours.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#media">/media</a>.
     *
     * @param string $path
     *    The Dropbox path to a file or folder (UTF-8).
     *
     * @return array
     *    A <code>list(string $url, \DateTime $expires)</code> where <code>$url</code> is a direct
     *    link to the requested file and <code>$expires</code> is a standard PHP
     *    <code>\DateTime</code> representing when <code>$url</code> will stop working.
     *
     * @throws Exception
     */
    function createTemporaryDirectLink($path)
    {
        Path::checkArgNonRoot("path", $path);

        $response = $this->doPost(
            $this->apiHost,
            $this->appendFilePath("1/media", $path));

        if ($response->statusCode === 404) return null;
        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        $j = RequestUtil::parseResponseJson($response->body);
        $url = self::getField($j, "url");
        $expires = self::parseDateTime(self::getField($j, "expires"));
        return array($url, $expires);
    }

    /**
     * Creates and returns a "copy ref" to a file.  A copy ref can be used to copy a file across
     * different Dropbox accounts without downloading and re-uploading.
     *
     * For example: Create a <code>Client</code> using the access token from one account and call
     * <code>createCopyRef</code>.  Then, create a <code>Client</code> using the access token for
     * another account and call <code>copyFromCopyRef</code> using the copy ref.  (You need to use
     * the same app key both times.)
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#copy_ref">/copy_ref</a>.
     *
     * @param string path
     *    The Dropbox path of the file or folder you want to create a copy ref for (UTF-8).
     *
     * @return string
     *    The copy ref (just a string that you keep track of).
     *
     * @throws Exception
     */
    function createCopyRef($path)
    {
        Path::checkArg("path", $path);

        $response = $this->doGet(
            $this->apiHost,
            $this->appendFilePath("1/copy_ref", $path));

        if ($response->statusCode === 404) return null;
        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        $j = RequestUtil::parseResponseJson($response->body);
        return self::getField($j, "copy_ref");
    }

    /**
     * Gets a thumbnail image representation of the file at the given path.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#thumbnails">/thumbnails</a>.
     *
     * @param string $path
     *    The path to the file you want a thumbnail for (UTF-8).
     *
     * @param string $format
     *    One of the two image formats: "jpeg" or "png".
     *
     * @param string $size
     *    One of the predefined image size names, as a string:
     *    <ul>
     *    <li>"xs" - 32x32</li>
     *    <li>"s" - 64x64</li>
     *    <li>"m" - 128x128</li>
     *    <li>"l" - 640x480</li>
     *    <li>"xl" - 1024x768</li>
     *    </ul>
     *
     * @return array|null
     *    If the file exists, you'll get <code>list(array $metadata, string $data)</code> where
     *    <code>$metadata</code> is the file's
     *    <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata object</a>
     *    and $data is the raw data for the thumbnail image.  If the file doesn't exist, you'll
     *    get <code>null</code>.
     *
     * @throws Exception
     */
    function getThumbnail($path, $format, $size)
    {
        Path::checkArgNonRoot("path", $path);
        Checker::argString("format", $format);
        Checker::argString("size", $size);
        if (!in_array($format, array("jpeg", "png"))) {
            throw new \InvalidArgumentException("Invalid 'format': ".self::q($format));
        }
        if (!in_array($size, array("xs", "s", "m", "l", "xl"))) {
            throw new \InvalidArgumentException("Invalid 'size': ".self::q($format));
        }

        $url = $this->buildUrlForGetOrPut(
            $this->contentHost,
            $this->appendFilePath("1/thumbnails", $path),
            array("size" => $size, "format" => $format));

        $curl = $this->mkCurl($url);
        $metadataCatcher = new DropboxMetadataHeaderCatcher($curl->handle);

        $curl->set(CURLOPT_RETURNTRANSFER, true);
        $response = $curl->exec();

        if ($response->statusCode === 404) return null;
        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        $metadata = $metadataCatcher->getMetadata();
        return array($metadata, $response->body);
    }

    /**
     * Copies a file or folder to a new location
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#fileops-copy">/fileops/copy</a>.
     *
     * @param string $fromPath
     *    The Dropbox path of the file or folder you want to copy (UTF-8).
     *
     * @param string $toPath
     *    The destination Dropbox path (UTF-8).
     *
     * @return mixed
     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata
     *    object</a> for the new file or folder.
     *
     * @throws Exception
     */
    function copy($fromPath, $toPath)
    {
        Path::checkArg("fromPath", $fromPath);
        Path::checkArgNonRoot("toPath", $toPath);

        $response = $this->doPost(
            $this->apiHost,
            "1/fileops/copy",
            array(
                "root" => "auto",
                "from_path" => $fromPath,
                "to_path" => $toPath,
            ));

        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        return RequestUtil::parseResponseJson($response->body);
    }

    /**
     * Creates a file or folder based on an existing copy ref (possibly from a different Dropbox
     * account).
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#fileops-copy">/fileops/copy</a>.
     *
     * @param string $copyRef
     *    A copy ref obtained via the {@link createCopyRef()} call.
     *
     * @param string $toPath
     *    The Dropbox path you want to copy the file or folder to (UTF-8).
     *
     * @return mixed
     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata
     *    object</a> for the new file or folder.
     *
     * @throws Exception
     */
    function copyFromCopyRef($copyRef, $toPath)
    {
        Checker::argStringNonEmpty("copyRef", $copyRef);
        Path::checkArgNonRoot("toPath", $toPath);

        $response = $this->doPost(
            $this->apiHost,
            "1/fileops/copy",
            array(
                "root" => "auto",
                "from_copy_ref" => $copyRef,
                "to_path" => $toPath,
            )
        );

        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        return RequestUtil::parseResponseJson($response->body);
    }

    /**
     * Creates a folder.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#fileops-create-folder">/fileops/create_folder</a>.
     *
     * @param string $path
     *    The Dropbox path at which to create the folder (UTF-8).
     *
     * @return array|null
     *    If successful, you'll get back the
     *    <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata object</a>
     *    for the newly-created folder.  If not successful, you'll get <code>null</code>.
     *
     * @throws Exception
     */
    function createFolder($path)
    {
        Path::checkArgNonRoot("path", $path);

        $response = $this->doPost(
            $this->apiHost,
            "1/fileops/create_folder",
            array(
                "root" => "auto",
                "path" => $path,
            ));

        if ($response->statusCode === 403) return null;
        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        return RequestUtil::parseResponseJson($response->body);
    }

    /**
     * Deletes a file or folder
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#fileops-delete">/fileops/delete</a>.
     *
     * @param string $path
     *    The Dropbox path of the file or folder to delete (UTF-8).
     *
     * @return mixed
     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata
     *    object</a> for the deleted file or folder.
     *
     * @throws Exception
     */
    function delete($path)
    {
        Path::checkArgNonRoot("path", $path);

        $response = $this->doPost(
            $this->apiHost,
            "1/fileops/delete",
            array(
                "root" => "auto",
                "path" => $path,
            ));

        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        return RequestUtil::parseResponseJson($response->body);
    }

    /**
     * Moves a file or folder to a new location.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#fileops-move">/fileops/move</a>.
     *
     * @param string $fromPath
     *    The source Dropbox path (UTF-8).
     *
     * @param string $toPath
     *    The destination Dropbox path (UTF-8).
     *
     * @return mixed
     *    The <a href="https://www.dropbox.com/developers/core/docs#metadata-details">metadata
     *    object</a> for the destination file or folder.
     *
     * @throws Exception
     */
    function move($fromPath, $toPath)
    {
        Path::checkArgNonRoot("fromPath", $fromPath);
        Path::checkArgNonRoot("toPath", $toPath);

        $response = $this->doPost(
            $this->apiHost,
            "1/fileops/move",
            array(
                "root" => "auto",
                "from_path" => $fromPath,
                "to_path" => $toPath,
            ));

        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        return RequestUtil::parseResponseJson($response->body);
    }

    /**
     * Build a URL for making a GET or PUT request.  Will add the "locale"
     * parameter.
     *
     * @param string $host
     *    Either the "API" or "API content" hostname from {@link getHost()}.
     * @param string $path
     *    The "path" part of the URL.  For example, "/account/info".
     * @param array|null $params
     *    URL parameters.  For POST requests, do not put the parameters here.
     *    Include them in the request body instead.
     *
     * @return string
     */
    function buildUrlForGetOrPut($host, $path, $params = null)
    {
        return RequestUtil::buildUrlForGetOrPut($this->userLocale, $host, $path, $params);
    }

    /**
     * Perform an OAuth-2-authorized GET request to the Dropbox API.  Will automatically
     * fill in "User-Agent" and "locale" as well.
     *
     * @param string $host
     *    Either the "API" or "API content" hostname from {@link getHost()}.
     * @param string $path
     *    The "path" part of the URL.  For example, "/account/info".
     * @param array|null $params
     *    GET parameters.
     * @return HttpResponse
     *
     * @throws Exception
     */
    function doGet($host, $path, $params = null)
    {
        Checker::argString("host", $host);
        Checker::argString("path", $path);
        return RequestUtil::doGet($this->clientIdentifier, $this->accessToken, $this->userLocale,
                                  $host, $path, $params);
    }

    /**
     * Perform an OAuth-2-authorized POST request to the Dropbox API.  Will automatically
     * fill in "User-Agent" and "locale" as well.
     *
     * @param string $host
     *    Either the "API" or "API content" hostname from {@link getHost()}.
     * @param string $path
     *    The "path" part of the URL.  For example, "/commit_chunked_upload".
     * @param array|null $params
     *    POST parameters.
     * @return HttpResponse
     *
     * @throws Exception
     */
    function doPost($host, $path, $params = null)
    {
        Checker::argString("host", $host);
        Checker::argString("path", $path);
        return RequestUtil::doPost($this->clientIdentifier, $this->accessToken, $this->userLocale,
                                   $host, $path, $params);
    }

    /**
     * Create a {@link Curl} object that is pre-configured with {@link getClientIdentifier()},
     * and the proper OAuth 2 "Authorization" header.
     *
     * @param string $url
     *    Generate this URL using {@link buildUrl()}.
     *
     * @return Curl
     */
    function mkCurl($url)
    {
        return RequestUtil::mkCurlWithOAuth($this->clientIdentifier, $url, $this->accessToken);
    }

    /**
     * Parses date/time strings returned by the Dropbox API.  The Dropbox API returns date/times
     * formatted like: <code>"Sat, 21 Aug 2010 22:31:20 +0000"</code>.
     *
     * @param string $apiDateTimeString
     *    A date/time string returned by the API.
     *
     * @return \DateTime
     *    A standard PHP <code>\DateTime</code> instance.
     *
     * @throws Exception_BadResponse
     *    Thrown if <code>$apiDateTimeString</code> isn't correctly formatted.
     */
    static function parseDateTime($apiDateTimeString)
    {
        $dt = \DateTime::createFromFormat(self::$dateTimeFormat, $apiDateTimeString);
        if ($dt === false) throw new Exception_BadResponse(
            "Bad date/time from server: ".self::q($apiDateTimeString));
        return $dt;
    }

    private static $dateTimeFormat = "D, d M Y H:i:s T";

    /**
     * @internal
     */
    static function q($object) { return var_export($object, true); }

    /**
     * @internal
     */
    static function getField($j, $fieldName)
    {
        if (!array_key_exists($fieldName, $j)) throw new Exception_BadResponse(
            "missing field \"$fieldName\" in ".self::q($j));
        return $j[$fieldName];
    }

    /**
     * Given an OAuth 2 access token, returns <code>null</code> if it is well-formed (though
     * not necessarily valid).  Otherwise, returns a string describing what's wrong with it.
     *
     * @param string $s
     *
     * @return string
     */
    static function getAccessTokenError($s)
    {
        if ($s === null) return "can't be null";
        if (strlen($s) === 0) return "can't be empty";
        if (preg_match('@[^-=_~/A-Za-z0-9\.\+]@', $s) === 1) return "contains invalid character";
        return null;
    }

    /**
     * @internal
     */
    static function checkAccessTokenArg($argName, $accessToken)
    {
        $error = self::getAccessTokenError($accessToken);
        if ($error !== null) throw new \InvalidArgumentException("'$argName' invalid: $error");
    }

    /**
     * @internal
     */
    static function getClientIdentifierError($s)
    {
        if ($s === null) return "can't be null";
        if (strlen($s) === 0) return "can't be empty";
        if (preg_match('@[\x00-\x1f\x7f]@', $s) === 1) return "contains control character";
        return null;
    }

    /**
     * @internal
     */
    static function checkClientIdentifierArg($argName, $accessToken)
    {
        $error = self::getClientIdentifierError($accessToken);
        if ($error !== null) throw new \InvalidArgumentException("'$argName' invalid: $error");
    }
}
<?php
namespace Dropbox;

/**
 * A minimal wrapper around a cURL handle.
 *
 * @internal
 */
final class Curl
{
    /** @var resource */
    public $handle;

    /** @var string[] */
    private $headers = array();

    /**
     * @param string $url
     */
    function __construct($url)
    {
        // Make sure there aren't any spaces in the URL (i.e. the caller forgot to URL-encode).
        if (strpos($url, ' ') !== false) {
            throw new \InvalidArgumentException("Found space in \$url; it should be encoded");
        }

        $this->handle = curl_init($url);

        // NOTE: Though we turn on all the correct SSL settings, many PHP installations
        // don't respect these settings.  Run "examples/test-ssl.php" to run some basic
        // SSL tests to see how well your PHP implementation behaves.

        // Force SSL and use our own certificate list.
        $this->set(CURLOPT_SSL_VERIFYPEER, true);   // Enforce certificate validation
        $this->set(CURLOPT_SSL_VERIFYHOST, 2);      // Enforce hostname validation
        $this->set(CURLOPT_SSLVERSION, 1);          // Enforce TLS

        // Limit the set of ciphersuites used.
        global $sslCiphersuiteList;
        if ($sslCiphersuiteList !== null) {
            $this->set(CURLOPT_SSL_CIPHER_LIST, $sslCiphersuiteList);
        }

        // Certificate file.
        $this->set(CURLOPT_CAINFO, __DIR__.'/certs/trusted-certs.crt');
        // Certificate folder.  If not specified, some PHP installations will use
        // the system default, even when CURLOPT_CAINFO is specified.
        $this->set(CURLOPT_CAPATH, __DIR__.'/certs/');

        // Limit vulnerability surface area.  Supported in cURL 7.19.4+
        if (defined('CURLOPT_PROTOCOLS')) $this->set(CURLOPT_PROTOCOLS, CURLPROTO_HTTPS);
        if (defined('CURLOPT_REDIR_PROTOCOLS')) $this->set(CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTPS);
    }

    /**
     * @param string $header
     */
    function addHeader($header)
    {
        $this->headers[] = $header;
    }

    function exec()
    {
        $this->set(CURLOPT_HTTPHEADER, $this->headers);

        $body = curl_exec($this->handle);
        if ($body === false) {
            throw new Exception_NetworkIO("Error executing HTTP request: " . curl_error($this->handle));
        }

        $statusCode = curl_getinfo($this->handle, CURLINFO_HTTP_CODE);

        return new HttpResponse($statusCode, $body);
    }

    /**
     * @param int $option
     * @param mixed $value
     */
    function set($option, $value)
    {
        curl_setopt($this->handle, $option, $value);
    }

    function __destruct()
    {
        curl_close($this->handle);
    }
}

// Different cURL SSL backends use different names for ciphersuites.
$curlVersion = \curl_version();
$curlSslBackend = $curlVersion['ssl_version'];
if (\substr_compare($curlSslBackend, "NSS/", 0, strlen("NSS/")) === 0) {
    // Can't figure out how to reliably set ciphersuites for NSS.
    $sslCiphersuiteList = null;
}
else {
    // Use the OpenSSL names for all other backends.  We may have to
    // refine this if users report errors.
    $sslCiphersuiteList =
        'ECDHE-RSA-AES256-GCM-SHA384:'.
        'ECDHE-RSA-AES128-GCM-SHA256:'.
        'ECDHE-RSA-AES256-SHA384:'.
        'ECDHE-RSA-AES128-SHA256:'.
        'ECDHE-RSA-AES256-SHA:'.
        'ECDHE-RSA-AES128-SHA:'.
        'ECDHE-RSA-RC4-SHA:'.
        'DHE-RSA-AES256-GCM-SHA384:'.
        'DHE-RSA-AES128-GCM-SHA256:'.
        'DHE-RSA-AES256-SHA256:'.
        'DHE-RSA-AES128-SHA256:'.
        'DHE-RSA-AES256-SHA:'.
        'DHE-RSA-AES128-SHA:'.
        'AES256-GCM-SHA384:'.
        'AES128-GCM-SHA256:'.
        'AES256-SHA256:'.
        'AES128-SHA256:'.
        'AES256-SHA:'.
        'AES128-SHA';
}
<?php
namespace Dropbox;

/**
 * A CURLOPT_WRITEFUNCTION that will write HTTP response data to $outStream if
 * it's an HTTP 200 response.  For all other HTTP status codes, it'll save the
 * output in a string, which you can retrieve it via {@link getErrorBody}.
 *
 * @internal
 */
class CurlStreamRelay
{
    var $outStream;
    var $errorData;
    var $isError;

    function __construct($ch, $outStream)
    {
        $this->outStream = $outStream;
        $this->errorData = array();
        $isError = null;
        curl_setopt($ch, CURLOPT_WRITEFUNCTION, array($this, 'writeData'));
    }

    function writeData($ch, $data)
    {
        if ($this->isError === null) {
            $statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
            $this->isError = ($statusCode !== 200);
        }

        if ($this->isError) {
            $this->errorData[] = $data;
        } else {
            fwrite($this->outStream, $data);
        }

        return strlen($data);
    }

    function getErrorBody()
    {
        return implode($this->errorData);
    }
}

<?php
namespace Dropbox;

/**
 * If, when loading a serialized {@link RequestToken} or {@link AccessToken}, the input string is
 * malformed, this exception will be thrown.
 */
final class DeserializeException extends \Exception
{
    /**
     * @param string $message
     *
     * @internal
     */
    function __construct($message)
    {
        parent::__construct($message);
    }
}
<?php
namespace Dropbox;

/**
 * @internal
 */
final class DropboxMetadataHeaderCatcher
{
    /**
     * @var mixed
     */
    var $metadata = null;

    /**
     * @var string
     */
    var $error = null;

    /**
     * @var bool
     */
    var $skippedFirstLine = false;

    /**
     * @param resource $ch
     */
    function __construct($ch)
    {
        curl_setopt($ch, CURLOPT_HEADERFUNCTION, array($this, 'headerFunction'));
    }

    /**
     * @param resource $ch
     * @param string $header
     * @return int
     * @throws Exception_BadResponse
     */
    function headerFunction($ch, $header)
    {
        // The first line is the HTTP status line (Ex: "HTTP/1.1 200 OK").
        if (!$this->skippedFirstLine) {
            $this->skippedFirstLine = true;
            return strlen($header);
        }

        // If we've encountered an error on a previous callback, then there's nothing left to do.
        if ($this->error !== null) {
            return strlen($header);
        }

        // case-insensitive starts-with check.
        if (\substr_compare($header, "x-dropbox-metadata:", 0, 19, true) !== 0) {
            return strlen($header);
        }

        if ($this->metadata !== null) {
            $this->error = "Duplicate X-Dropbox-Metadata header";
            return strlen($header);
        }

        $headerValue = substr($header, 19);
        $parsed = json_decode($headerValue, true, 10);

        if ($parsed === null) {
            $this->error = "Bad JSON in X-Dropbox-Metadata header";
            return strlen($header);
        }

        $this->metadata = $parsed;
        return strlen($header);
    }

    function getMetadata()
    {
        if ($this->error !== null) {
            throw new Exception_BadResponse($this->error);
        }
        if ($this->metadata === null) {
            throw new Exception_BadResponse("Missing X-Dropbox-Metadata header");
        }
        return $this->metadata;
    }
}
<?php
namespace Dropbox;

/**
 * The base class for all API call exceptions.
 */
class Exception extends \Exception
{
    /**
     * @internal
     */
    function __construct($message, $cause = null)
    {
        parent::__construct($message, 0, $cause);
    }
}
<?php
namespace Dropbox;

/**
 * Thrown when the server tells us that our request was invalid.  This is typically due to an
 * HTTP 400 response from the server.
 */
final class Exception_BadRequest extends Exception_ProtocolError
{
    /**
     * @internal
     */
    function __construct($message = "")
    {
        parent::__construct($message);
    }
}
<?php
namespace Dropbox;

/**
 * When this SDK can't understand the response from the server.  This could be due to a bug in this
 * SDK or a buggy response from the Dropbox server.
 */
class Exception_BadResponse extends Exception_ProtocolError
{
    /**
     * @internal
     */
    function __construct($message)
    {
        parent::__construct($message);
    }
}
<?php
namespace Dropbox;

/**
 * Thrown when the the Dropbox server responds with an HTTP status code we didn't expect.
 */
final class Exception_BadResponseCode extends Exception_BadResponse
{
    /** @var int */
    private $statusCode;

    /**
     * @param string $message
     * @param int $statusCode
     *
     * @internal
     */
    function __construct($message, $statusCode)
    {
        parent::__construct($message);
        $this->statusCode = $statusCode;
    }

    /**
     * The HTTP status code returned by the Dropbox server.
     *
     * @return int
     */
    public function getStatusCode()
    {
        return $this->statusCode;
    }
}
<?php
namespace Dropbox;

/**
 * The Dropbox server said that the access token you used is invalid or expired.  You should
 * probably ask the user to go through the OAuth authorization flow again to get a new access
 * token.
 */
final class Exception_InvalidAccessToken extends Exception
{
    /**
     * @internal
     */
    function __construct($message = "")
    {
        parent::__construct($message);
    }
}
<?php
namespace Dropbox;

/**
 * There was a network I/O error when making the request.
 */
final class Exception_NetworkIO extends Exception
{
    /**
     * @internal
     */
    function __construct($message, $cause = null)
    {
        parent::__construct($message, $cause);
    }
}
<?php
namespace Dropbox;

/**
 * There was an protocol misunderstanding between this SDK and the server.  One of us didn't
 * understand what the other one was saying.
 */
class Exception_ProtocolError extends Exception
{
    /**
     * @internal
     */
    function __construct($message)
    {
        parent::__construct($message);
    }
}
<?php
namespace Dropbox;

/**
 * The Dropbox server said it couldn't fulfil our request right now, but that we should try
 * again later.
 */
final class Exception_RetryLater extends Exception
{
    /**
     * @internal
     */
    function __construct($message)
    {
        parent::__construct($message);
    }
}
<?php
namespace Dropbox;

/**
 * The Dropbox server said that there was an internal error when trying to fulfil our request.
 * This usually corresponds to an HTTP 500 response.
 */
final class Exception_ServerError extends Exception
{
    /** @internal */
    function __construct($message = "")
    {
        parent::__construct($message);
    }
}
<?php
namespace Dropbox;

/**
 * The Dropbox web API accesses three hosts; this structure holds the
 * names of those three hosts.  This is primarily for mocking things out
 * during testing.  Most of the time you won't have to deal with this class
 * directly, and even when you do, you'll just use the default
 * value: {@link Host::getDefault()}.
 *
 * @internal
 */
final class Host
{
    /**
     * Returns a Host object configured with the three standard Dropbox host: "api.dropbox.com",
     * "api-content.dropbox.com", and "www.dropbox.com"
     *
     * @return Host
     */
    static function getDefault()
    {
        if (!self::$defaultValue) {
            self::$defaultValue = new Host("api.dropbox.com", "api-content.dropbox.com", "www.dropbox.com");
        }
        return self::$defaultValue;
    }
    private static $defaultValue;

    /** @var string */
    private $api;
    /** @var string */
    private $content;
    /** @var string */
    private $web;

    /**
     * Constructor.
     *
     * @param string $api
     *     See {@link getApi()}
     * @param string $content
     *     See {@link getContent()}
     * @param string $web
     *     See {@link getWeb()}
     */
    function __construct($api, $content, $web)
    {
        $this->api = $api;
        $this->content = $content;
        $this->web = $web;
    }

    /**
     * Returns the host name of the main Dropbox API server.
     * The default is "api.dropbox.com".
     *
     * @return string
     */
    function getApi() { return $this->api; }

    /**
     * Returns the host name of the Dropbox API content server.
     * The default is "api-content.dropbox.com".
     *
     * @return string
     */
    function getContent() { return $this->content; }

    /**
     * Returns the host name of the Dropbox web server.  Used during user authorization.
     * The default is "www.dropbox.com".
     *
     * @return string
     */
    function getWeb() { return $this->web; }

    /**
     * Check that a function argument is of type <code>Host</code>.
     *
     * @internal
     */
    static function checkArg($argName, $argValue)
    {
        if (!($argValue instanceof self)) Checker::throwError($argName, $argValue, __CLASS__);
    }

    /**
     * Check that a function argument is either <code>null</code> or of type
     * <code>Host</code>.
     *
     * @internal
     */
    static function checkArgOrNull($argName, $argValue)
    {
        if ($argValue === null) return;
        if (!($argValue instanceof self)) Checker::throwError($argName, $argValue, __CLASS__);
    }
}
<?php
namespace Dropbox;

/**
 * @internal
 */
final class HttpResponse
{
    public $statusCode;
    public $body;

    function __construct($statusCode, $body)
    {
        $this->statusCode = $statusCode;
        $this->body = $body;
    }
}
<?php
namespace Dropbox;

/**
 * Use with {@link OAuth1Upgrader} to convert old OAuth 1 access tokens
 * to OAuth 2 access tokens.  This SDK doesn't support using OAuth 1
 * access tokens for regular API calls.
 */
class OAuth1AccessToken
{
    /**
     * The OAuth 1 access token key.
     *
     * @return string
     */
    function getKey() { return $this->key; }

    /** @var string */
    private $key;

    /**
     * The OAuth 1 access token secret.
     *
     * Make sure that this is kept a secret.  Someone with your app secret can impesonate your
     * application.  People sometimes ask for help on the Dropbox API forums and
     * copy/paste code that includes their app secret.  Do not do that.
     *
     * @return string
     */
    function getSecret() { return $this->secret; }

    /** @var secret */
    private $secret;

    /**
     * Constructor.
     *
     * @param string $key
     *     {@link getKey()}
     * @param string $secret
     *     {@link getSecret()}
     */
    function __construct($key, $secret)
    {
        AppInfo::checkKeyArg($key);
        AppInfo::checkSecretArg($secret);

        $this->key = $key;
        $this->secret = $secret;
    }

    /**
     * Use this to check that a function argument is of type <code>AppInfo</code>
     *
     * @internal
     */
    static function checkArg($argName, $argValue)
    {
        if (!($argValue instanceof self)) Checker::throwError($argName, $argValue, __CLASS__);
    }
}
<?php
namespace Dropbox;

/**
 * Lets you convert OAuth 1 access tokens to OAuth 2 access tokens.  First call {@link
 * OAuth1AccessTokenUpgrader::createOAuth2AccessToken()} to get an OAuth 2 access token.
 * If that succeeds, call {@link OAuth1AccessTokenUpgrader::disableOAuth1AccessToken()}
 * to disable the OAuth 1 access token.
 *
 * <code>
 * use \Dropbox as dbx;
 * $appInfo = dbx\AppInfo::loadFromJsonFile(...);
 * $clientIdentifier = "my-app/1.0";
 * $oauth1AccessToken = dbx\OAuth1AccessToken(...);
 *
 * $upgrader = new dbx\OAuth1AccessTokenUpgrader($appInfo, $clientIdentifier, ...);
 * $oauth2AccessToken = $upgrader->getOAuth2AccessToken($oauth1AccessToken);
 * $upgrader->disableOAuth1AccessToken($oauth1AccessToken);
 * </code>
 */
class OAuth1Upgrader extends AuthBase
{
    /**
     * Given an existing active OAuth 1 access token, make a Dropbox API call to get a new OAuth 2
     * access token that represents the same user and app.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#oa1-from-oa1">/oauth2/token_from_oauth1</a>.
     *
     * @param OAuth1AccessToken $oauth1AccessToken
     *
     * @return string
     *    The OAuth 2 access token.
     *
     * @throws Exception
     */
    function createOAuth2AccessToken($oauth1AccessToken)
    {
        OAuth1AccessToken::checkArg("oauth1AccessToken", $oauth1AccessToken);

        $response = self::doPost($oauth1AccessToken, "1/oauth2/token_from_oauth1");

        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        $parts = RequestUtil::parseResponseJson($response->body);

        if (!array_key_exists('token_type', $parts) or !is_string($parts['token_type'])) {
            throw new Exception_BadResponse("Missing \"token_type\" field.");
        }
        $tokenType = $parts['token_type'];
        if (!array_key_exists('access_token', $parts) or !is_string($parts['access_token'])) {
            throw new Exception_BadResponse("Missing \"access_token\" field.");
        }
        $accessToken = $parts['access_token'];

        if ($tokenType !== "Bearer" && $tokenType !== "bearer") {
            throw new Exception_BadResponse("Unknown \"token_type\"; expecting \"Bearer\", got  "
                .Client::q($tokenType));
        }

        return $accessToken;
    }

    /**
     * Make a Dropbox API call to disable the given OAuth 1 access token.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#disable-token">/disable_access_token</a>.
     *
     * @param OAuth1AccessToken $oauth1AccessToken
     *
     * @throws Exception
     */
    function disableOAuth1AccessToken($oauth1AccessToken)
    {
        OAuth1AccessToken::checkArg("oauth1AccessToken", $oauth1AccessToken);

        $response = self::doPost($oauth1AccessToken, "1/disable_access_token");

        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);
    }

    /**
     * @param OAuth1AccessToken $oauth1AccessToken
     * @param string $path
     *
     * @return HttpResponse
     *
     * @throws Exception
     */
    private function doPost($oauth1AccessToken, $path)
    {
        // Construct the OAuth 1 header.
        $authHeaderValue = "OAuth oauth_signature_method=\"PLAINTEXT\""
             . ", oauth_consumer_key=\"" . rawurlencode($this->appInfo->getKey()) . "\""
             . ", oauth_token=\"" . rawurlencode($oauth1AccessToken->getKey()) . "\""
             . ", oauth_signature=\"" . rawurlencode($this->appInfo->getSecret()) . "&" . rawurlencode($oauth1AccessToken->getSecret()) . "\"";

        return RequestUtil::doPostWithSpecificAuth(
            $this->clientIdentifier, $authHeaderValue, $this->userLocale,
            $this->appInfo->getHost()->getApi(),
            $path,
            null);
    }
}
<?php
namespace Dropbox;

/**
 * Path validation functions.
 */
final class Path
{
    /**
     * Return whether the given path is a valid Dropbox path.
     *
     * @param string $path
     *    The path you want to check for validity.
     *
     * @return bool
     *    Whether the path was valid or not.
     */
    static function isValid($path)
    {
        $error = self::findError($path);
        return ($error === null);
    }

    /**
     * Return whether the given path is a valid non-root Dropbox path.
     * This is the same as {@link isValid} except <code>"/"</code> is not allowed.
     *
     * @param string $path
     *    The path you want to check for validity.
     *
     * @return bool
     *    Whether the path was valid or not.
     */
    static function isValidNonRoot($path)
    {
        $error = self::findErrorNonRoot($path);
        return ($error === null);
    }

    /**
     * If the given path is a valid Dropbox path, return <code>null</code>,
     * otherwise return an English string error message describing what is wrong with the path.
     *
     * @param string $path
     *    The path you want to check for validity.
     *
     * @return string|null
     *    If the path was valid, return <code>null</code>.  Otherwise, returns
     *    an English string describing the problem.
     */
    static function findError($path)
    {
        Checker::argString("path", $path);

        $matchResult = preg_match('%^(?:
                  [\x09\x0A\x0D\x20-\x7E]            # ASCII
                | [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte
                | \xE0[\xA0-\xBF][\x80-\xBD]         # excluding overlongs, FFFE, and FFFF
                | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
                | \xED[\x80-\x9F][\x80-\xBF]         # excluding surrogates
                )*$%xs', $path);

        if ($matchResult !== 1) {
            return "must be valid UTF-8; BMP only, no surrogates, no U+FFFE or U+FFFF";
        }

        if (\substr_compare($path, "/", 0, 1) !== 0) return "must start with \"/\"";
        $l = strlen($path);
        if ($l === 1) return null;  // Special case for "/"

        if ($path[$l-1] === "/") return "must not end with \"/\"";

        // TODO: More checks.

        return null;
    }

    /**
     * If the given path is a valid non-root Dropbox path, return <code>null</code>,
     * otherwise return an English string error message describing what is wrong with the path.
     * This is the same as {@link findError} except <code>"/"</code> will yield an error message.
     *
     * @param string $path
     *    The path you want to check for validity.
     *
     * @return string|null
     *    If the path was valid, return <code>null</code>.  Otherwise, returns
     *    an English string describing the problem.
     */
    static function findErrorNonRoot($path)
    {
        if ($path == "/") return "root path not allowed";
        return self::findError($path);
    }

    /**
     * Return the last component of a path (the file or folder name).
     *
     * <code>
     * Path::getName("/Misc/Notes.txt") // "Notes.txt"
     * Path::getName("/Misc")           // "Misc"
     * Path::getName("/")               // null
     * </code>
     *
     * @param string $path
     *    The full path you want to get the last component of.
     *
     * @return null|string
     *    The last component of <code>$path</code> or <code>null</code> if the given
     *    <code>$path</code> was <code>"/"<code>.
     */
    static function getName($path)
    {
        Checker::argString("path", $path);

        if (\substr_compare($path, "/", 0, 1) !== 0) {
            throw new \InvalidArgumentException("'path' must start with \"/\"");
        }
        $l = strlen($path);
        if ($l === 1) return null;
        if ($path[$l-1] === "/") {
            throw new \InvalidArgumentException("'path' must not end with \"/\"");
        }

        $lastSlash = strrpos($path, "/");
        return substr($path, $lastSlash+1);
    }

    /**
     * @internal
     *
     * @param string $argName
     * @param mixed $value
     * @throws \InvalidArgumentException
     */
    static function checkArg($argName, $value)
    {
        if ($value === null) throw new \InvalidArgumentException("'$argName' must not be null");
        if (!is_string($value)) throw new \InvalidArgumentException("'$argName' must be a string");
        $error = self::findError($value);
        if ($error !== null) throw new \InvalidArgumentException("'$argName'': bad path: $error: ".var_export($value, true));
    }

    /**
     * @internal
     *
     * @param string $argName
     * @param mixed $value
     * @throws \InvalidArgumentException
     */
    static function checkArgOrNull($argName, $value)
    {
        if ($value === null) return;
        self::checkArg($argName, $value);
    }

    /**
     * @internal
     *
     * @param string $argName
     * @param mixed $value
     * @throws \InvalidArgumentException
     */
    static function checkArgNonRoot($argName, $value)
    {
        if ($value === null) throw new \InvalidArgumentException("'$argName' must not be null");
        if (!is_string($value)) throw new \InvalidArgumentException("'$argName' must be a string");
        $error = self::findErrorNonRoot($value);
        if ($error !== null) throw new \InvalidArgumentException("'$argName'': bad path: $error: ".var_export($value, true));
    }
}
<?php
namespace Dropbox;

if (!function_exists('curl_init')) {
    throw new \Exception("The Dropbox SDK requires the cURL PHP extension, but it looks like you don't have it (couldn't find function \"curl_init\").  Library: \"" . __FILE__ . "\".");
}

if (!function_exists('json_decode')) {
    throw new \Exception("The Dropbox SDK requires the JSON PHP extension, but it looks like you don't have it (couldn't find function \"json_decode\").  Library: \"" . __FILE__ . "\".");
}

// If mbstring.func_overload is set, it changes the behavior of the standard string functions in
// ways that makes this library break.
$mbstring_func_overload = ini_get("mbstring.func_overload");
if ($mbstring_func_overload & 2 == 2) {
    throw new \Exception("The Dropbox SDK doesn't work when mbstring.func_overload is set to overload the standard string functions (value = ".var_export($mbstring_func_overload, true).").  Library: \"" . __FILE__ . "\".");
}

/*
if (strlen((string) PHP_INT_MAX) < 19) {
    // Looks like we're running on a 32-bit build of PHP.  This could cause problems because some of the numbers
    // we use (file sizes, quota, etc) can be larger than 32-bit ints can handle.
    throw new \Exception("The Dropbox SDK uses 64-bit integers, but it looks like we're running on a version of PHP that doesn't support 64-bit integers (PHP_INT_MAX=" . ((string) PHP_INT_MAX) . ").  Library: \"" . __FILE__ . "\"");
}

/**
 * @internal
 */
final class RequestUtil
{
    /**
     * @param string $userLocale
     * @param string $host
     * @param string $path
     * @param array $params
     * @return string
     */
    static function buildUrlForGetOrPut($userLocale, $host, $path, $params = null)
    {
        $url = self::buildUri($host, $path);
        $url .= "?locale=" . rawurlencode($userLocale);

        if ($params !== null) {
            foreach ($params as $key => $value) {
                Checker::argStringNonEmpty("key in 'params'", $key);
                if ($value !== null) {
                    if (is_bool($value)) {
                        $value = $value ? "true" : "false";
                    }
                    else if (is_int($value)) {
                        $value = (string) $value;
                    }
                    else if (!is_string($value)) {
                        throw new \InvalidArgumentException("params['$key'] is not a string, int, or bool");
                    }
                    $url .= "&" . rawurlencode($key) . "=" . rawurlencode($value);
                }
            }
        }
        return $url;
    }

    /**
     * @param string $host
     * @param string $path
     * @return string
     */
    static function buildUri($host, $path)
    {
        Checker::argStringNonEmpty("host", $host);
        Checker::argStringNonEmpty("path", $path);
        return "https://" . $host . "/" . $path;
    }

    /**
     * @param string $clientIdentifier
     * @param string $url
     * @return Curl
     */
    static function mkCurl($clientIdentifier, $url)
    {
        $curl = new Curl($url);

        $curl->set(CURLOPT_CONNECTTIMEOUT, 10);

        // If the transfer speed is below 1kB/sec for 10 sec, abort.
        $curl->set(CURLOPT_LOW_SPEED_LIMIT, 1024);
        $curl->set(CURLOPT_LOW_SPEED_TIME, 10);

        //$curl->set(CURLOPT_VERBOSE, true);  // For debugging.
        // TODO: Figure out how to encode clientIdentifier (urlencode?)
        $curl->addHeader("User-Agent: ".$clientIdentifier." Dropbox-PHP-SDK");

        return $curl;
    }

    /**
     * @param string $clientIdentifier
     * @param string $url
     * @param string $authHeaderValue
     * @return Curl
     */
    static function mkCurlWithAuth($clientIdentifier, $url, $authHeaderValue)
    {
        $curl = self::mkCurl($clientIdentifier, $url);
        $curl->addHeader("Authorization: $authHeaderValue");
        return $curl;
    }

    /**
     * @param string $clientIdentifier
     * @param string $url
     * @param string $accessToken
     * @return Curl
     */
    static function mkCurlWithOAuth($clientIdentifier, $url, $accessToken)
    {
        return self::mkCurlWithAuth($clientIdentifier, $url, "Bearer $accessToken");
    }

    static function buildPostBody($params)
    {
        if ($params === null) return "";

        $pairs = array();
        foreach ($params as $key => $value) {
            Checker::argStringNonEmpty("key in 'params'", $key);
            if ($value !== null) {
                if (is_bool($value)) {
                    $value = $value ? "true" : "false";
                }
                else if (is_int($value)) {
                    $value = (string) $value;
                }
                else if (!is_string($value)) {
                    throw new \InvalidArgumentException("params['$key'] is not a string, int, or bool");
                }
                $pairs[] = rawurlencode($key) . "=" . rawurlencode((string) $value);
            }
        }
        return implode("&", $pairs);
    }

    /**
     * @param string $clientIdentifier
     * @param string $accessToken
     * @param string $userLocale
     * @param string $host
     * @param string $path
     * @param array|null $params
     *
     * @return HttpResponse
     *
     * @throws Exception
     */
    static function doPost($clientIdentifier, $accessToken, $userLocale, $host, $path, $params = null)
    {
        Checker::argStringNonEmpty("accessToken", $accessToken);

        $url = self::buildUri($host, $path);

        if ($params === null) $params = array();
        $params['locale'] = $userLocale;

        $curl = self::mkCurlWithOAuth($clientIdentifier, $url, $accessToken);
        $curl->set(CURLOPT_POST, true);
        $curl->set(CURLOPT_POSTFIELDS, self::buildPostBody($params));

        $curl->set(CURLOPT_RETURNTRANSFER, true);
        return $curl->exec();
    }

    /**
     * @param string $clientIdentifier
     * @param string $authHeaderValue
     * @param string $userLocale
     * @param string $host
     * @param string $path
     * @param array|null $params
     *
     * @return HttpResponse
     *
     * @throws Exception
     */
    static function doPostWithSpecificAuth($clientIdentifier, $authHeaderValue, $userLocale, $host, $path, $params = null)
    {
        Checker::argStringNonEmpty("authHeaderValue", $authHeaderValue);

        $url = self::buildUri($host, $path);

        if ($params === null) $params = array();
        $params['locale'] = $userLocale;

        $curl = self::mkCurlWithAuth($clientIdentifier, $url, $authHeaderValue);
        $curl->set(CURLOPT_POST, true);
        $curl->set(CURLOPT_POSTFIELDS, self::buildPostBody($params));

        $curl->set(CURLOPT_RETURNTRANSFER, true);
        return $curl->exec();
    }

    /**
     * @param string $clientIdentifier
     * @param string $accessToken
     * @param string $userLocale
     * @param string $host
     * @param string $path
     * @param array|null $params
     *
     * @return HttpResponse
     *
     * @throws Exception
     */
    static function doGet($clientIdentifier, $accessToken, $userLocale, $host, $path, $params = null)
    {
        Checker::argStringNonEmpty("accessToken", $accessToken);

        $url = self::buildUrlForGetOrPut($userLocale, $host, $path, $params);

        $curl = self::mkCurlWithOAuth($clientIdentifier, $url, $accessToken);
        $curl->set(CURLOPT_HTTPGET, true);
        $curl->set(CURLOPT_RETURNTRANSFER, true);

        return $curl->exec();
    }

    /**
     * @param string $responseBody
     * @return mixed
     * @throws Exception_BadResponse
     */
    static function parseResponseJson($responseBody)
    {
        $obj = json_decode($responseBody, TRUE, 10);
        if ($obj === null) {
            throw new Exception_BadResponse("Got bad JSON from server: $responseBody");
        }
        return $obj;
    }

    static function unexpectedStatus($httpResponse)
    {
        $sc = $httpResponse->statusCode;

        $message = "HTTP status $sc";
        if (is_string($httpResponse->body)) {
            // TODO: Maybe only include the first ~200 chars of the body?
            $message .= "\n".$httpResponse->body;
        }

        if ($sc === 400) return new Exception_BadRequest($message);
        if ($sc === 401) return new Exception_InvalidAccessToken($message);
        if ($sc === 500 || $sc === 502) return new Exception_ServerError($message);
        if ($sc === 503) return new Exception_RetryLater($message);

        return new Exception_BadResponseCode("Unexpected $message", $sc);
    }

    /**
     * @param int $maxRetries
     *    The number of times to retry it the action if it fails with one of the transient
     *    API errors.  A value of 1 means we'll try the action once and if it fails, we
     *    will retry once.
     *
     * @param callable $action
     *    The the action you want to retry.
     *
     * @return mixed
     *    Whatever is returned by the $action callable.
     */
    static function runWithRetry($maxRetries, $action)
    {
        Checker::argNat("maxRetries", $maxRetries);

        $retryDelay = 1;
        $numRetries = 0;
        while (true) {
            try {
                return $action();
            }
            // These exception types are the ones we think are possibly transient errors.
            catch (Exception_NetworkIO $ex) {
                $savedEx = $ex;
            }
            catch (Exception_ServerError $ex) {
                $savedEx = $ex;
            }
            catch (Exception_RetryLater $ex) {
                $savedEx = $ex;
            }

            // We maxed out our retries.  Propagate the last exception we got.
            if ($numRetries >= $maxRetries) throw $savedEx;

            $numRetries++;
            sleep($retryDelay);
            $retryDelay *= 2;  // Exponential back-off.
        }
        throw new \RuntimeException("unreachable");
    }

}
<?php

namespace Dropbox;

/**
 * Call the <code>test()</code> method.
 */
class SSLTester
{
    /**
     * Peforms a few basic tests of your PHP installation's SSL implementation to see
     * if it insecure in an obvious way.  Results are written with "echo" and the output
     * is HTML-safe.
     *
     * @return bool
     *    Returns <code>true</code> if all the tests passed.
     */
    static function test()
    {
        $hostOs = php_uname('s').' '.php_uname('r');
        $phpVersion = phpversion();
        $curlVersionInfo = \curl_version();
        $curlVersion = $curlVersionInfo['version'];
        $curlSslBackend = $curlVersionInfo['ssl_version'];

        echo "-----------------------------------------------------------------------------\n";
        echo "Testing your PHP installation's SSL implementation for a few obvious problems...\n";
        echo "-----------------------------------------------------------------------------\n";
        echo "- Host OS: $hostOs\n";
        echo "- PHP version: $phpVersion\n";
        echo "- cURL version: $curlVersion\n";
        echo "- cURL SSL backend: $curlSslBackend\n";

        echo "Basic SSL tests\n";
        $basicFailures = self::testMulti(array(
            array("www.dropbox.com", 'testAllowed'),
            array("www.digicert.com", 'testAllowed'),
            array("www.v.dropbox.com", 'testHostnameMismatch'),
            array("testssl-expire.disig.sk", 'testUntrustedCert'),
        ));

        echo "Pinned certificate tests\n";
        $pinnedCertFailures = self::testMulti(array(
            array("www.verisign.com", 'testUntrustedCert'),
            array("www.globalsign.fr", 'testUntrustedCert'),
        ));

        if ($basicFailures) {
            echo "-----------------------------------------------------------------------------\n";
            echo "WARNING: Your PHP installation's SSL support is COMPLETELY INSECURE.\n";
            echo "Your app's communication with the Dropbox API servers can be viewed and\n";
            echo "manipulated by others.  Try upgrading your version of PHP.\n";
            echo "-----------------------------------------------------------------------------\n";
            return false;
        }
        else if ($pinnedCertFailures) {
            echo "-----------------------------------------------------------------------------\n";
            echo "WARNING: Your PHP installation's SSL implementation doesn't support\n";
            echo "certificate pinning, which is an important security feature of the Dropbox\n";
            echo "SDK.  The root certificates embedded in the SDK are being silently ignored,\n";
            echo "which reduces the security of the communication with the Dropbox API servers.\n";
            echo "\n";
            echo "More information:\n";
            echo "https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning#What_Is_Pinning.3F\n";
            echo "-----------------------------------------------------------------------------\n";
            return false;
        }
        else {
            return true;
        }
    }

    private static function testMulti($tests)
    {
        $anyFailed = false;
        foreach ($tests as $test) {
            list($host, $testType) = $test;

            echo " - ".str_pad("$testType ($host) ", 50, ".");
            $url = "https://$host/";
            $passed = self::$testType($url);
            if ($passed) {
                echo " ok\n";
            } else {
                echo " FAILED\n";
                $anyFailed = true;
            }
        }
        return $anyFailed;
    }

    private static function testPinnedCert()
    {
    }

    private static function testAllowed($url)
    {
        $curl = RequestUtil::mkCurl("test-ssl", $url);
        $curl->set(CURLOPT_RETURNTRANSFER, true);
        $curl->exec();
        return true;
    }

    private static function testUntrustedCert($url)
    {
        return self::testDisallowed($url, 'Error executing HTTP request: SSL certificate problem, verify that the CA cert is OK');
    }

    private static function testHostnameMismatch($url)
    {
        return self::testDisallowed($url, 'Error executing HTTP request: SSL certificate problem: Invalid certificate chain');
    }

    private static function testDisallowed($url, $expectedExceptionMessage)
    {
        $curl = RequestUtil::mkCurl("test-ssl", $url);
        $curl->set(CURLOPT_RETURNTRANSFER, true);
        try {
            $curl->exec();
        }
        catch (Exception_NetworkIO $ex) {
            if (strpos($ex->getMessage(), $expectedExceptionMessage) == 0) {
                return true;
            } else {
                throw $ex;
            }
        }
        return false;
    }
}
<?php
namespace Dropbox;

/**
 * Helper functions for security-related things.
 */
class Security
{
    /**
     * A string equality function that compares strings in a way that isn't suceptible to timing
     * attacks.  An attacker can figure out the length of the string, but not the string's value.
     *
     * Use this when comparing two strings where:
     * - one string could be influenced by an attacker
     * - the other string contains data an attacker shouldn't know
     *
     * @param string $a
     * @param string $b
     * @return bool
     */
    static function stringEquals($a, $b)
    {
        // Be strict with arguments.  PHP's liberal types could get us pwned.
        if (func_num_args() !== 2) {
            throw new \InvalidArgumentException("Expecting 2 args, got ".func_num_args().".");
        }
        Checker::argString("a", $a);
        Checker::argString("b", $b);

        if (strlen($a) !== strlen($b)) return false;
        $result = 0;
        for ($i = 0; $i < strlen($a); $i++) {
            $result |= ord($a[$i]) ^ ord($b[$i]);
        }
        return $result === 0;
    }

    /**
     * Returns cryptographically strong secure random bytes (as a PHP string).
     *
     * @param int $numBytes
     *    The number of bytes of random data to return.
     *
     * @return string
     */
    static function getRandomBytes($numBytes)
    {
        Checker::argIntPositive("numBytes", $numBytes);

        // openssl_random_pseudo_bytes had some issues prior to PHP 5.3.4
        if (function_exists('openssl_random_pseudo_bytes')
                && version_compare(PHP_VERSION, '5.3.4') >= 0) {
            $s = openssl_random_pseudo_bytes($numBytes, $isCryptoStrong);
            if ($isCryptoStrong) return $s;
        }

        if (function_exists('mcrypt_create_iv')) {
            return mcrypt_create_iv($numBytes);
        }

        // Hopefully the above two options cover all our users.  But if not, there are
        // other platform-specific options we could add.
        throw new \Exception("no suitable random number source available");
    }
}
<?php
namespace Dropbox;

/**
 * Thrown when there's an error reading from a stream that was passed in by the caller.
 */
class StreamReadException extends \Exception
{
    /**
     * @internal
     */
    function __construct($message, $cause = null)
    {
        parent::__construct($message, 0, $cause);
    }
}
<?php
namespace Dropbox;

/**
 * A contract for a class which provides simple get/set/clear access to a single string
 * value.  {@link ArrayEntryStore} provides an implementation of this for storing a value
 * in a single array element.
 *
 * Example implementation for a Memcache-based backing store:
 *
 * <code>
 * class MemcacheValueStore implements ValueStore
 * {
 *     private $key;
 *     private $memcache;
 *
 *     function __construct($memcache, $key)
 *     {
 *         $this->memcache = $memcache;
 *         $this->key = $key;
 *     }
 *
 *     function get()
 *     {
 *         $value = $this->memcache->get($this->getKey());
 *         return $value === false ? null : base64_decode($value);
 *     }
 *
 *     function set($value)
 *     {
 *         $this->memcache->set($this->key, base64_encode($value));
 *     }
 *
 *     function clear()
 *     {
 *         $this->memcache->delete($this->key);
 *     }
 * }
 * </code>
 */
interface ValueStore
{
    /**
     * Returns the entry's current value or <code>null</code> if nothing is set.
     *
     * @return string
     */
    function get();

    /**
     * Set the entry to the given value.
     *
     * @param string $value
     */
    function set($value);

    /**
     * Remove the value.
     */
    function clear();
}
<?php
namespace Dropbox;

/**
 * OAuth 2 "authorization code" flow.  (This SDK does not support the "token" flow.)
 *
 * Use {@link WebAuth::start()} and {@link WebAuth::finish()} to guide your
 * user through the process of giving your app access to their Dropbox account.
 * At the end, you will have an access token, which you can pass to {@link Client}
 * and start making API calls.
 *
 * Example:
 *
 * <code>
 * use \Dropbox as dbx;
 *
 * function getWebAuth()
 * {
 *    $appInfo = dbx\AppInfo::loadFromJsonFile(...);
 *    $clientIdentifier = "my-app/1.0";
 *    $redirectUri = "https://example.org/dropbox-auth-finish";
 *    $csrfTokenStore = new dbx\ArrayEntryStore($_SESSION, 'dropbox-auth-csrf-token');
 *    return new dbx\WebAuth($appInfo, $clientIdentifier, $redirectUri, $csrfTokenStore, ...);
 * }
 *
 * // ----------------------------------------------------------
 * // In the URL handler for "/dropbox-auth-start"
 *
 * $authorizeUrl = getWebAuth()->start();
 * header("Location: $authorizeUrl");
 *
 * // ----------------------------------------------------------
 * // In the URL handler for "/dropbox-auth-finish"
 *
 * try {
 *    list($accessToken, $userId, $urlState) = getWebAuth()->finish($_GET);
 *    assert($urlState === null);  // Since we didn't pass anything in start()
 * }
 * catch (dbx\WebAuthException_BadRequest $ex) {
 *    error_log("/dropbox-auth-finish: bad request: " . $ex->getMessage());
 *    // Respond with an HTTP 400 and display error page...
 * }
 * catch (dbx\WebAuthException_BadState $ex) {
 *    // Auth session expired.  Restart the auth process.
 *    header('Location: /dropbox-auth-start');
 * }
 * catch (dbx\WebAuthException_Csrf $ex) {
 *    error_log("/dropbox-auth-finish: CSRF mismatch: " . $ex->getMessage());
 *    // Respond with HTTP 403 and display error page...
 * }
 * catch (dbx\WebAuthException_NotApproved $ex) {
 *    error_log("/dropbox-auth-finish: not approved: " . $ex->getMessage());
 * }
 * catch (dbx\WebAuthException_Provider $ex) {
 *    error_log("/dropbox-auth-finish: error redirect from Dropbox: " . $ex->getMessage());
 * }
 * catch (dbx\Exception $ex) {
 *    error_log("/dropbox-auth-finish: error communicating with Dropbox API: " . $ex->getMessage());
 * }
 *
 * // We can now use $accessToken to make API requests.
 * $client = dbx\Client($accessToken, ...);
 * </code>
 *
 */
class WebAuth extends WebAuthBase
{
    /**
     * The URI that the Dropbox server will redirect the user to after the user finishes
     * authorizing your app.  This URI must be HTTPS-based and
     * <a href="https://www.dropbox.com/developers/apps">pre-registered with Dropbox</a>,
     * though "localhost"-based and "127.0.0.1"-based URIs are allowed without pre-registration
     * and can be either HTTP or HTTPS.
     *
     * @return string
     */
    function getRedirectUri() { return $this->redirectUri; }

    /** @var string */
    private $redirectUri;

    /**
     * A object that lets us save CSRF token string to the user's session.  If you're using the
     * standard PHP <code>$_SESSION</code>, you can pass in something like
     * <code>new ArrayEntryStore($_SESSION, 'dropbox-auth-csrf-token')</code>.
     *
     * If you're not using $_SESSION, you might have to create your own class that provides
     * the same <code>get()</code>/<code>set()</code>/<code>clear()</code> methods as
     * {@link ArrayEntryStore}.
     *
     * @return ValueStore
     */
    function getCsrfTokenStore() { return $this->csrfTokenStore; }

    /** @var object */
    private $csrfTokenStore;

    /**
     * Constructor.
     *
     * @param AppInfo $appInfo
     *     See {@link getAppInfo()}
     * @param string $clientIdentifier
     *     See {@link getClientIdentifier()}
     * @param null|string $redirectUri
     *     See {@link getRedirectUri()}
     * @param null|ValueStore $csrfTokenStore
     *     See {@link getCsrfTokenStore()}
     * @param null|string $userLocale
     *     See {@link getUserLocale()}
     */
    function __construct($appInfo, $clientIdentifier, $redirectUri, $csrfTokenStore, $userLocale = null)
    {
        parent::__construct($appInfo, $clientIdentifier, $userLocale);

        Checker::argStringNonEmpty("redirectUri", $redirectUri);

        $this->csrfTokenStore = $csrfTokenStore;
        $this->redirectUri = $redirectUri;
    }

    /**
     * Starts the OAuth 2 authorization process, which involves redirecting the user to the
     * returned authorization URL (a URL on the Dropbox website).  When the user then
     * either approves or denies your app access, Dropbox will redirect them to the
     * <code>$redirectUri</code> given to constructor, at which point you should
     * call {@link finish()} to complete the authorization process.
     *
     * This function will also save a CSRF token using the <code>$csrfTokenStore</code> given to
     * the constructor.  This CSRF token will be checked on {@link finish()} to prevent
     * request forgery.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#oa2-authorize">/oauth2/authorize</a>.
     *
     * @param string|null $urlState
     *    Any data you would like to keep in the URL through the authorization process.
     *    This exact state will be returned to you by {@link finish()}.
     *
     * @return array
     *    The URL to redirect the user to.
     *
     * @throws Exception
     */
    function start($urlState = null)
    {
        Checker::argStringOrNull("urlState", $urlState);

        $csrfToken = self::encodeCsrfToken(Security::getRandomBytes(16));
        $state = $csrfToken;
        if ($urlState !== null) {
            $state .= "|";
            $state .= $urlState;
        }
        $this->csrfTokenStore->set($csrfToken);

        return $this->_getAuthorizeUrl($this->redirectUri, $state);
    }

    private static function encodeCsrfToken($string)
    {
        return strtr(base64_encode($string), '+/', '-_');
    }

    /**
     * Call this after the user has visited the authorize URL ({@link start()}), approved your app,
     * and was redirected to your redirect URI.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#oa2-token">/oauth2/token</a>.
     *
     * @param array $queryParams
     *    The query parameters on the GET request to your redirect URI.
     *
     * @return array
     *    A <code>list(string $accessToken, string $userId, string $urlState)</code>, where
     *    <code>$accessToken</code> can be used to construct a {@link Client}, <code>$userId</code>
     *    is the user ID of the user's Dropbox account, and <code>$urlState</code> is the
     *    value you originally passed in to {@link start()}.
     *
     * @throws Exception
     *    Thrown if there's an error getting the access token from Dropbox.
     * @throws WebAuthException_BadRequest
     * @throws WebAuthException_BadState
     * @throws WebAuthException_Csrf
     * @throws WebAuthException_NotApproved
     * @throws WebAuthException_Provider
     */
    function finish($queryParams)
    {
        Checker::argArray("queryParams", $queryParams);

        $csrfTokenFromSession = $this->csrfTokenStore->get();
        Checker::argStringOrNull("this->csrfTokenStore->get()", $csrfTokenFromSession);

        // Check well-formedness of request.

        if (!isset($queryParams['state'])) {
            throw new WebAuthException_BadRequest("Missing query parameter 'state'.");
        }
        $state = $queryParams['state'];
        Checker::argString("queryParams['state']", $state);

        $error = null;
        $errorDescription = null;
        if (isset($queryParams['error'])) {
            $error = $queryParams['error'];
            Checker::argString("queryParams['error']", $error);
            if (isset($queryParams['error_description'])) {
                $errorDescription = $queryParams['error_description'];
                Checker::argString("queryParams['error_description']", $errorDescription);
            }
        }

        $code = null;
        if (isset($queryParams['code'])) {
            $code = $queryParams['code'];
            Checker::argString("queryParams['code']", $code);
        }

        if ($code !== null && $error !== null) {
            throw new WebAuthException_BadRequest("Query parameters 'code' and 'error' are both set;".
                                                 " only one must be set.");
        }
        if ($code === null && $error === null) {
            throw new WebAuthException_BadRequest("Neither query parameter 'code' or 'error' is set.");
        }

        // Check CSRF token

        if ($csrfTokenFromSession === null) {
            throw new WebAuthException_BadState();
        }

        $splitPos = strpos($state, "|");
        if ($splitPos === false) {
            $givenCsrfToken = $state;
            $urlState = null;
        } else {
            $givenCsrfToken = substr($state, 0, $splitPos);
            $urlState = substr($state, $splitPos + 1);
        }
        if (!Security::stringEquals($csrfTokenFromSession, $givenCsrfToken)) {
            throw new WebAuthException_Csrf("Expected ".Client::q($csrfTokenFromSession).
                                           ", got ".Client::q($givenCsrfToken).".");
        }
        $this->csrfTokenStore->clear();

        // Check for error identifier

        if ($error !== null) {
            if ($error === 'access_denied') {
                // When the user clicks "Deny".
                if ($errorDescription === null) {
                    throw new WebAuthException_NotApproved("No additional description from Dropbox.");
                } else {
                    throw new WebAuthException_NotApproved("Additional description from Dropbox: $errorDescription");
                }
            } else {
                // All other errors.
                $fullMessage = $error;
                if ($errorDescription !== null) {
                    $fullMessage .= ": ";
                    $fullMessage .= $errorDescription;
                }
                throw new WebAuthException_Provider($fullMessage);
            }
        }

        // If everything went ok, make the network call to get an access token.

        list($accessToken, $userId) = $this->_finish($code, $this->redirectUri);
        return array($accessToken, $userId, $urlState);
    }
}
<?php
namespace Dropbox;

/**
 * The base class for the two auth options.
 */
class WebAuthBase extends AuthBase
{
    protected function _getAuthorizeUrl($redirectUri, $state)
    {
        return RequestUtil::buildUrlForGetOrPut(
            $this->userLocale,
            $this->appInfo->getHost()->getWeb(),
            "1/oauth2/authorize",
            array(
                "client_id" => $this->appInfo->getKey(),
                "response_type" => "code",
                "redirect_uri" => $redirectUri,
                "state" => $state,
            ));
    }

    protected function _finish($code, $originalRedirectUri)
    {
        // This endpoint requires "Basic" auth.
        $clientCredentials = $this->appInfo->getKey().":".$this->appInfo->getSecret();
        $authHeaderValue = "Basic ".base64_encode($clientCredentials);

        $response = RequestUtil::doPostWithSpecificAuth(
            $this->clientIdentifier, $authHeaderValue, $this->userLocale,
            $this->appInfo->getHost()->getApi(),
            "1/oauth2/token",
            array(
                "grant_type" => "authorization_code",
                "code" => $code,
                "redirect_uri" => $originalRedirectUri,
            ));

        if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response);

        $parts = RequestUtil::parseResponseJson($response->body);

        if (!array_key_exists('token_type', $parts) or !is_string($parts['token_type'])) {
            throw new Exception_BadResponse("Missing \"token_type\" field.");
        }
        $tokenType = $parts['token_type'];
        if (!array_key_exists('access_token', $parts) or !is_string($parts['access_token'])) {
            throw new Exception_BadResponse("Missing \"access_token\" field.");
        }
        $accessToken = $parts['access_token'];
        if (!array_key_exists('uid', $parts) or !is_string($parts['uid'])) {
            throw new Exception_BadResponse("Missing \"uid\" string field.");
        }
        $userId = $parts['uid'];

        if ($tokenType !== "Bearer" && $tokenType !== "bearer") {
            throw new Exception_BadResponse("Unknown \"token_type\"; expecting \"Bearer\", got  "
                                            .Client::q($tokenType));
        }

        return array($accessToken, $userId);
    }
}
<?php
namespace Dropbox;

/**
 * Thrown if the redirect URL was missing parameters or if the given parameters were not valid.
 *
 * The recommended action is to show an HTTP 400 error page.
 */
class WebAuthException_BadRequest extends \Exception
{
    /**
     * @param string $message
     *
     * @internal
     */
    function __construct($message)
    {
        parent::__construct($message);
    }
}
<?php
namespace Dropbox;

/**
 * Thrown if all the parameters are correct, but there's no CSRF token in the session.  This
 * probably means that the session expired.
 *
 * The recommended action is to redirect the user's browser to try the approval process again.
 */
class WebAuthException_BadState extends \Exception
{
    /**
     * @internal
     */
    function __construct()
    {
        parent::__construct("Missing CSRF token in session.");
    }
}
<?php
namespace Dropbox;

/**
 * Thrown if the given 'state' parameter doesn't contain the CSRF token from the user's session.
 * This is blocked to prevent CSRF attacks.
 *
 * The recommended action is to respond with an HTTP 403 error page.
 */
class WebAuthException_Csrf extends \Exception
{
    /**
     * @param string $message
     *
     * @internal
     */
    function __construct($message)
    {
        parent::__construct($message);
    }
}
<?php
namespace Dropbox;

/**
 * Thrown if the user chose not to grant your app access to their Dropbox account.
 */
class WebAuthException_NotApproved extends \Exception
{
    /**
     * @param string $message
     *
     * @internal
     */
    function __construct($message)
    {
        parent::__construct($message);
    }
}
<?php
namespace Dropbox;

/**
 * Thrown if Dropbox returns some other error about the authorization request.
 */
class WebAuthException_Provider extends \Exception
{
    /**
     * @param string $message
     *
     * @internal
     */
    function __construct($message)
    {
        parent::__construct($message);
    }
}
<?php
namespace Dropbox;

/**
 * OAuth 2 code-based authorization for apps that can't provide a redirect URI, typically
 * command-line example apps.
 *
 * Use {@link WebAuth::start()} and {@link WebAuth::getToken()} to guide your
 * user through the process of giving your app access to their Dropbox account.  At the end, you
 * will have an {@link AccessToken}, which you can pass to {@link Client} and start making
 * API calls.
 *
 * Example:
 *
 * <code>
 * use \Dropbox as dbx;
 * $appInfo = dbx\AppInfo::loadFromJsonFile(...);
 * $clientIdentifier = "my-app/1.0";
 * $webAuth = new dbx\WebAuthNoRedirect($appInfo, $clientIdentifier, ...);
 *
 * $authorizeUrl = $webAuth->start();
 *
 * print("1. Go to: $authorizeUrl\n");
 * print("2. Click "Allow" (you might have to log in first).\n");
 * print("3. Copy the authorization code.\n");
 * print("Enter the authorization code here: ");
 * $code = \trim(\fgets(STDIN));
 *
 * try {
 *    list($accessToken, $userId) = $webAuth->finish($code);
 * }
 * catch (dbx\Exception $ex) {
 *    print("Error communicating with Dropbox API: " . $ex->getMessage() . "\n");
 * }
 *
 * $client = dbx\Client($accessToken, $clientIdentifier, ...);
 * </code>
 */
class WebAuthNoRedirect extends WebAuthBase
{
    /**
     * Returns the URL of the authorization page the user must visit.  If the user approves
     * your app, they will be shown the authorization code on the web page.  They will need to
     * copy/paste that code into your application so your app can pass it to
     * {@link finish}.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#oa2-authorize">/oauth2/authorize</a>.
     *
     * @return string
     *    An authorization URL.  Direct the user's browser to this URL.  After the user decides
     *    whether to authorize your app or not, Dropbox will show the user an authorization code,
     *    which the user will need to give to your application (e.g. via copy/paste).
     */
    function start()
    {
        return $this->_getAuthorizeUrl(null, null);
    }

    /**
     * Call this after the user has visited the authorize URL returned by {@link start()},
     * approved your app, was presented with an authorization code by Dropbox, and has copy/paste'd
     * that authorization code into your app.
     *
     * See <a href="https://www.dropbox.com/developers/core/docs#oa2-token">/oauth2/token</a>.
     *
     * @param string $code
     *    The authorization code provided to the user by Dropbox.
     *
     * @return array
     *    A <code>list(string $accessToken, string $userId)</code>, where
     *    <code>$accessToken</code> can be used to construct a {@link Client} and
     *    <code>$userId</code> is the user ID of the user's Dropbox account.
     *
     * @throws Exception
     *    Thrown if there's an error getting the access token from Dropbox.
     */
    function finish($code)
    {
        Checker::argStringNonEmpty("code", $code);
        return $this->_finish($code, null);
    }
}

<?php
namespace Dropbox;

/**
 * Describes how a file should be saved when it is written to Dropbox.
 */
final class WriteMode
{
    /**
     * The URL parameters to pass to the file uploading endpoint to achieve the
     * desired write mode.
     *
     * @var array
     */
    private $extraParams;

    /**
     * @internal
     */
    private function __construct($extraParams)
    {
        $this->extraParams = $extraParams;
    }

    /**
     * @internal
     */
    function getExtraParams()
    {
        return $this->extraParams;
    }

    /**
     * Returns a {@link WriteMode} for adding a new file.  If a file at the specified path already
     * exists, the new file will be renamed automatically.
     *
     * For example, if you're trying to upload a file to "/Notes/Groceries.txt", but there's
     * already a file there, your file will be written to "/Notes/Groceries (1).txt".
     *
     * You can determine whether your file was renamed by checking the "path" field of the
     * metadata object returned by the API call.
     *
     * @return WriteMode
     */
    static function add()
    {
        if (self::$addInstance === null) {
            self::$addInstance = new WriteMode(array("overwrite" => "false"));
        }
        return self::$addInstance;
    }
    private static $addInstance = null;

    /**
     * Returns a {@link WriteMode} for forcing a file to be at a certain path.  If there's already
     * a file at that path, the existing file will be overwritten.  If there's a folder at that
     * path, however, it will not be overwritten and the API call will fail.
     *
     * @return WriteMode
     */
    static function force()
    {
        if (self::$forceInstance === null) {
            self::$forceInstance = new WriteMode(array("overwrite" => "true"));
        }
        return self::$forceInstance;
    }
    private static $forceInstance = null;

    /**
     * Returns a {@link WriteMode} for updating an existing file.  This is useful for when you
     * have downloaded a file, made modifications, and want to save your modifications back to
     * Dropbox.  You need to specify the revision of the copy of the file you downloaded (it's
     * the "rev" parameter of the file's metadata object).
     *
     * If, when you attempt to save, the revision of the file currently on Dropbox matches
     * $revToReplace, the file on Dropbox will be overwritten with the new contents you provide.
     *
     * If the revision of the file currently on Dropbox doesn't match $revToReplace, Dropbox will
     * create a new file and save your contents to that file.  For example, if the original file
     * path is "/Notes/Groceries.txt", the new file's path might be
     * "/Notes/Groceries (conflicted copy).txt".
     *
     * You can determine whether your file was renamed by checking the "path" field of the
     * metadata object returned by the API call.
     *
     * @param string $revToReplace
     * @return WriteMode
     */
    static function update($revToReplace)
    {
        return new WriteMode(array("parent_rev" => $revToReplace));
    }

    /**
     * Check that a function argument is of type <code>WriteMode</code>.
     *
     * @internal
     */
    static function checkArg($argName, $argValue)
    {
        if (!($argValue instanceof self)) Checker::throwError($argName, $argValue, __CLASS__);
    }

    /**
     * Check that a function argument is either <code>null</code> or of type
     * <code>WriteMode</code>.
     *
     * @internal
     */
    static function checkArgOrNull($argName, $argValue)
    {
        if ($argValue === null) return;
        if (!($argValue instanceof self)) Checker::throwError($argName, $argValue, __CLASS__);
    }
}
<?php
namespace Dropbox;

// The Dropbox SDK autoloader.  You probably shouldn't be using this.  Instead,
// use a global autoloader, like the Composer autoloader.
//
// But if you really don't want to use a global autoloader, do this:
//
//     require_once "<path-to-here>/Dropbox/autoload.php"

/**
 * @internal
 */
function autoload($name)
{
    // If the name doesn't start with "Dropbox\", then its not once of our classes.
    if (\substr_compare($name, "Dropbox\\", 0, 8) !== 0) return;

    // Take the "Dropbox\" prefix off.
    $stem = \substr($name, 8);

    // Convert "\" and "_" to path separators.
    $pathified_stem = \str_replace(array("\\", "_"), '/', $stem);

    $path = __DIR__ . "/" . $pathified_stem . ".php";
    if (\is_file($path)) {
        require_once $path;
    }
}

\spl_autoload_register('Dropbox\autoload');
# DigiCert Assured ID Root CA.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number:
#             0c:e7:e0:e5:17:d8:46:fe:8f:e5:60:fc:1b:f0:30:39
#     Signature Algorithm: sha1WithRSAEncryption
#         Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Assured ID Root CA
#         Validity
#             Not Before: Nov 10 00:00:00 2006 GMT
#             Not After : Nov 10 00:00:00 2031 GMT
#         Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Assured ID Root CA
#         Subject Public Key Info:
#             Public Key Algorithm: rsaEncryption
#                 Public-Key: (2048 bit)
#                 Modulus:
#                     00:ad:0e:15:ce:e4:43:80:5c:b1:87:f3:b7:60:f9:
#                     71:12:a5:ae:dc:26:94:88:aa:f4:ce:f5:20:39:28:
#                     58:60:0c:f8:80:da:a9:15:95:32:61:3c:b5:b1:28:
#                     84:8a:8a:dc:9f:0a:0c:83:17:7a:8f:90:ac:8a:e7:
#                     79:53:5c:31:84:2a:f6:0f:98:32:36:76:cc:de:dd:
#                     3c:a8:a2:ef:6a:fb:21:f2:52:61:df:9f:20:d7:1f:
#                     e2:b1:d9:fe:18:64:d2:12:5b:5f:f9:58:18:35:bc:
#                     47:cd:a1:36:f9:6b:7f:d4:b0:38:3e:c1:1b:c3:8c:
#                     33:d9:d8:2f:18:fe:28:0f:b3:a7:83:d6:c3:6e:44:
#                     c0:61:35:96:16:fe:59:9c:8b:76:6d:d7:f1:a2:4b:
#                     0d:2b:ff:0b:72:da:9e:60:d0:8e:90:35:c6:78:55:
#                     87:20:a1:cf:e5:6d:0a:c8:49:7c:31:98:33:6c:22:
#                     e9:87:d0:32:5a:a2:ba:13:82:11:ed:39:17:9d:99:
#                     3a:72:a1:e6:fa:a4:d9:d5:17:31:75:ae:85:7d:22:
#                     ae:3f:01:46:86:f6:28:79:c8:b1:da:e4:57:17:c4:
#                     7e:1c:0e:b0:b4:92:a6:56:b3:bd:b2:97:ed:aa:a7:
#                     f0:b7:c5:a8:3f:95:16:d0:ff:a1:96:eb:08:5f:18:
#                     77:4f
#                 Exponent: 65537 (0x10001)
#         X509v3 extensions:
#             X509v3 Key Usage: critical
#                 Digital Signature, Certificate Sign, CRL Sign
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#             X509v3 Subject Key Identifier:
#                 45:EB:A2:AF:F4:92:CB:82:31:2D:51:8B:A7:A7:21:9D:F3:6D:C8:0F
#             X509v3 Authority Key Identifier:
#                 keyid:45:EB:A2:AF:F4:92:CB:82:31:2D:51:8B:A7:A7:21:9D:F3:6D:C8:0F
#
#     Signature Algorithm: sha1WithRSAEncryption
#          a2:0e:bc:df:e2:ed:f0:e3:72:73:7a:64:94:bf:f7:72:66:d8:
#          32:e4:42:75:62:ae:87:eb:f2:d5:d9:de:56:b3:9f:cc:ce:14:
#          28:b9:0d:97:60:5c:12:4c:58:e4:d3:3d:83:49:45:58:97:35:
#          69:1a:a8:47:ea:56:c6:79:ab:12:d8:67:81:84:df:7f:09:3c:
#          94:e6:b8:26:2c:20:bd:3d:b3:28:89:f7:5f:ff:22:e2:97:84:
#          1f:e9:65:ef:87:e0:df:c1:67:49:b3:5d:eb:b2:09:2a:eb:26:
#          ed:78:be:7d:3f:2b:f3:b7:26:35:6d:5f:89:01:b6:49:5b:9f:
#          01:05:9b:ab:3d:25:c1:cc:b6:7f:c2:f1:6f:86:c6:fa:64:68:
#          eb:81:2d:94:eb:42:b7:fa:8c:1e:dd:62:f1:be:50:67:b7:6c:
#          bd:f3:f1:1f:6b:0c:36:07:16:7f:37:7c:a9:5b:6d:7a:f1:12:
#          46:60:83:d7:27:04:be:4b:ce:97:be:c3:67:2a:68:11:df:80:
#          e7:0c:33:66:bf:13:0d:14:6e:f3:7f:1f:63:10:1e:fa:8d:1b:
#          25:6d:6c:8f:a5:b7:61:01:b1:d2:a3:26:a1:10:71:9d:ad:e2:
#          c3:f9:c3:99:51:b7:2b:07:08:ce:2e:e6:50:b2:a7:fa:0a:45:
#          2f:a2:f0:f2
-----BEGIN CERTIFICATE-----
MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
-----END CERTIFICATE-----
# DigiCert Global Root CA.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number:
#             08:3b:e0:56:90:42:46:b1:a1:75:6a:c9:59:91:c7:4a
#     Signature Algorithm: sha1WithRSAEncryption
#         Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA
#         Validity
#             Not Before: Nov 10 00:00:00 2006 GMT
#             Not After : Nov 10 00:00:00 2031 GMT
#         Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA
#         Subject Public Key Info:
#             Public Key Algorithm: rsaEncryption
#                 Public-Key: (2048 bit)
#                 Modulus:
#                     00:e2:3b:e1:11:72:de:a8:a4:d3:a3:57:aa:50:a2:
#                     8f:0b:77:90:c9:a2:a5:ee:12:ce:96:5b:01:09:20:
#                     cc:01:93:a7:4e:30:b7:53:f7:43:c4:69:00:57:9d:
#                     e2:8d:22:dd:87:06:40:00:81:09:ce:ce:1b:83:bf:
#                     df:cd:3b:71:46:e2:d6:66:c7:05:b3:76:27:16:8f:
#                     7b:9e:1e:95:7d:ee:b7:48:a3:08:da:d6:af:7a:0c:
#                     39:06:65:7f:4a:5d:1f:bc:17:f8:ab:be:ee:28:d7:
#                     74:7f:7a:78:99:59:85:68:6e:5c:23:32:4b:bf:4e:
#                     c0:e8:5a:6d:e3:70:bf:77:10:bf:fc:01:f6:85:d9:
#                     a8:44:10:58:32:a9:75:18:d5:d1:a2:be:47:e2:27:
#                     6a:f4:9a:33:f8:49:08:60:8b:d4:5f:b4:3a:84:bf:
#                     a1:aa:4a:4c:7d:3e:cf:4f:5f:6c:76:5e:a0:4b:37:
#                     91:9e:dc:22:e6:6d:ce:14:1a:8e:6a:cb:fe:cd:b3:
#                     14:64:17:c7:5b:29:9e:32:bf:f2:ee:fa:d3:0b:42:
#                     d4:ab:b7:41:32:da:0c:d4:ef:f8:81:d5:bb:8d:58:
#                     3f:b5:1b:e8:49:28:a2:70:da:31:04:dd:f7:b2:16:
#                     f2:4c:0a:4e:07:a8:ed:4a:3d:5e:b5:7f:a3:90:c3:
#                     af:27
#                 Exponent: 65537 (0x10001)
#         X509v3 extensions:
#             X509v3 Key Usage: critical
#                 Digital Signature, Certificate Sign, CRL Sign
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#             X509v3 Subject Key Identifier:
#                 03:DE:50:35:56:D1:4C:BB:66:F0:A3:E2:1B:1B:C3:97:B2:3D:D1:55
#             X509v3 Authority Key Identifier:
#                 keyid:03:DE:50:35:56:D1:4C:BB:66:F0:A3:E2:1B:1B:C3:97:B2:3D:D1:55
#
#     Signature Algorithm: sha1WithRSAEncryption
#          cb:9c:37:aa:48:13:12:0a:fa:dd:44:9c:4f:52:b0:f4:df:ae:
#          04:f5:79:79:08:a3:24:18:fc:4b:2b:84:c0:2d:b9:d5:c7:fe:
#          f4:c1:1f:58:cb:b8:6d:9c:7a:74:e7:98:29:ab:11:b5:e3:70:
#          a0:a1:cd:4c:88:99:93:8c:91:70:e2:ab:0f:1c:be:93:a9:ff:
#          63:d5:e4:07:60:d3:a3:bf:9d:5b:09:f1:d5:8e:e3:53:f4:8e:
#          63:fa:3f:a7:db:b4:66:df:62:66:d6:d1:6e:41:8d:f2:2d:b5:
#          ea:77:4a:9f:9d:58:e2:2b:59:c0:40:23:ed:2d:28:82:45:3e:
#          79:54:92:26:98:e0:80:48:a8:37:ef:f0:d6:79:60:16:de:ac:
#          e8:0e:cd:6e:ac:44:17:38:2f:49:da:e1:45:3e:2a:b9:36:53:
#          cf:3a:50:06:f7:2e:e8:c4:57:49:6c:61:21:18:d5:04:ad:78:
#          3c:2c:3a:80:6b:a7:eb:af:15:14:e9:d8:89:c1:b9:38:6c:e2:
#          91:6c:8a:ff:64:b9:77:25:57:30:c0:1b:24:a3:e1:dc:e9:df:
#          47:7c:b5:b4:24:08:05:30:ec:2d:bd:0b:bf:45:bf:50:b9:a9:
#          f3:eb:98:01:12:ad:c8:88:c6:98:34:5f:8d:0a:3c:c6:e9:d5:
#          95:95:6d:de
-----BEGIN CERTIFICATE-----
MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
-----END CERTIFICATE-----
# DigiCert High Assurance EV Root CA.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number:
#             02:ac:5c:26:6a:0b:40:9b:8f:0b:79:f2:ae:46:25:77
#     Signature Algorithm: sha1WithRSAEncryption
#         Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
#         Validity
#             Not Before: Nov 10 00:00:00 2006 GMT
#             Not After : Nov 10 00:00:00 2031 GMT
#         Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
#         Subject Public Key Info:
#             Public Key Algorithm: rsaEncryption
#                 Public-Key: (2048 bit)
#                 Modulus:
#                     00:c6:cc:e5:73:e6:fb:d4:bb:e5:2d:2d:32:a6:df:
#                     e5:81:3f:c9:cd:25:49:b6:71:2a:c3:d5:94:34:67:
#                     a2:0a:1c:b0:5f:69:a6:40:b1:c4:b7:b2:8f:d0:98:
#                     a4:a9:41:59:3a:d3:dc:94:d6:3c:db:74:38:a4:4a:
#                     cc:4d:25:82:f7:4a:a5:53:12:38:ee:f3:49:6d:71:
#                     91:7e:63:b6:ab:a6:5f:c3:a4:84:f8:4f:62:51:be:
#                     f8:c5:ec:db:38:92:e3:06:e5:08:91:0c:c4:28:41:
#                     55:fb:cb:5a:89:15:7e:71:e8:35:bf:4d:72:09:3d:
#                     be:3a:38:50:5b:77:31:1b:8d:b3:c7:24:45:9a:a7:
#                     ac:6d:00:14:5a:04:b7:ba:13:eb:51:0a:98:41:41:
#                     22:4e:65:61:87:81:41:50:a6:79:5c:89:de:19:4a:
#                     57:d5:2e:e6:5d:1c:53:2c:7e:98:cd:1a:06:16:a4:
#                     68:73:d0:34:04:13:5c:a1:71:d3:5a:7c:55:db:5e:
#                     64:e1:37:87:30:56:04:e5:11:b4:29:80:12:f1:79:
#                     39:88:a2:02:11:7c:27:66:b7:88:b7:78:f2:ca:0a:
#                     a8:38:ab:0a:64:c2:bf:66:5d:95:84:c1:a1:25:1e:
#                     87:5d:1a:50:0b:20:12:cc:41:bb:6e:0b:51:38:b8:
#                     4b:cb
#                 Exponent: 65537 (0x10001)
#         X509v3 extensions:
#             X509v3 Key Usage: critical
#                 Digital Signature, Certificate Sign, CRL Sign
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#             X509v3 Subject Key Identifier:
#                 B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
#             X509v3 Authority Key Identifier:
#                 keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
#
#     Signature Algorithm: sha1WithRSAEncryption
#          1c:1a:06:97:dc:d7:9c:9f:3c:88:66:06:08:57:21:db:21:47:
#          f8:2a:67:aa:bf:18:32:76:40:10:57:c1:8a:f3:7a:d9:11:65:
#          8e:35:fa:9e:fc:45:b5:9e:d9:4c:31:4b:b8:91:e8:43:2c:8e:
#          b3:78:ce:db:e3:53:79:71:d6:e5:21:94:01:da:55:87:9a:24:
#          64:f6:8a:66:cc:de:9c:37:cd:a8:34:b1:69:9b:23:c8:9e:78:
#          22:2b:70:43:e3:55:47:31:61:19:ef:58:c5:85:2f:4e:30:f6:
#          a0:31:16:23:c8:e7:e2:65:16:33:cb:bf:1a:1b:a0:3d:f8:ca:
#          5e:8b:31:8b:60:08:89:2d:0c:06:5c:52:b7:c4:f9:0a:98:d1:
#          15:5f:9f:12:be:7c:36:63:38:bd:44:a4:7f:e4:26:2b:0a:c4:
#          97:69:0d:e9:8c:e2:c0:10:57:b8:c8:76:12:91:55:f2:48:69:
#          d8:bc:2a:02:5b:0f:44:d4:20:31:db:f4:ba:70:26:5d:90:60:
#          9e:bc:4b:17:09:2f:b4:cb:1e:43:68:c9:07:27:c1:d2:5c:f7:
#          ea:21:b9:68:12:9c:3c:9c:bf:9e:fc:80:5c:9b:63:cd:ec:47:
#          aa:25:27:67:a0:37:f3:00:82:7d:54:d7:a9:f8:e9:2e:13:a3:
#          77:e8:1f:4a
-----BEGIN CERTIFICATE-----
MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
+OkuE6N36B9K
-----END CERTIFICATE-----
# Entrust Root Certification Authority - EC1.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number:
#             a6:8b:79:29:00:00:00:00:50:d0:91:f9
#     Signature Algorithm: ecdsa-with-SHA384
#         Issuer: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2012 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - EC1
#         Validity
#             Not Before: Dec 18 15:25:36 2012 GMT
#             Not After : Dec 18 15:55:36 2037 GMT
#         Subject: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2012 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - EC1
#         Subject Public Key Info:
#             Public Key Algorithm: id-ecPublicKey
#                 Public-Key: (384 bit)
#                 pub:
#                     04:84:13:c9:d0:ba:6d:41:7b:e2:6c:d0:eb:55:5f:
#                     66:02:1a:24:f4:5b:89:69:47:e3:b8:c2:7d:f1:f2:
#                     02:c5:9f:a0:f6:5b:d5:8b:06:19:86:4f:53:10:6d:
#                     07:24:27:a1:a0:f8:d5:47:19:61:4c:7d:ca:93:27:
#                     ea:74:0c:ef:6f:96:09:fe:63:ec:70:5d:36:ad:67:
#                     77:ae:c9:9d:7c:55:44:3a:a2:63:51:1f:f5:e3:62:
#                     d4:a9:47:07:3e:cc:20
#                 ASN1 OID: secp384r1
#         X509v3 extensions:
#             X509v3 Key Usage: critical
#                 Certificate Sign, CRL Sign
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#             X509v3 Subject Key Identifier:
#                 B7:63:E7:1A:DD:8D:E9:08:A6:55:83:A4:E0:6A:50:41:65:11:42:49
#     Signature Algorithm: ecdsa-with-SHA384
#          30:64:02:30:61:79:d8:e5:42:47:df:1c:ae:53:99:17:b6:6f:
#          1c:7d:e1:bf:11:94:d1:03:88:75:e4:8d:89:a4:8a:77:46:de:
#          6d:61:ef:02:f5:fb:b5:df:cc:fe:4e:ff:fe:a9:e6:a7:02:30:
#          5b:99:d7:85:37:06:b5:7b:08:fd:eb:27:8b:4a:94:f9:e1:fa:
#          a7:8e:26:08:e8:7c:92:68:6d:73:d8:6f:26:ac:21:02:b8:99:
#          b7:26:41:5b:25:60:ae:d0:48:1a:ee:06
-----BEGIN CERTIFICATE-----
MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG
A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3
d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu
dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq
RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy
MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD
VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0
L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g
Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi
A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt
ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH
Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC
R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX
hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G
-----END CERTIFICATE-----
# Entrust Root Certification Authority - G2.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number: 1246989352 (0x4a538c28)
#     Signature Algorithm: sha256WithRSAEncryption
#         Issuer: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2009 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G2
#         Validity
#             Not Before: Jul  7 17:25:54 2009 GMT
#             Not After : Dec  7 17:55:54 2030 GMT
#         Subject: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2009 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G2
#         Subject Public Key Info:
#             Public Key Algorithm: rsaEncryption
#                 Public-Key: (2048 bit)
#                 Modulus:
#                     00:ba:84:b6:72:db:9e:0c:6b:e2:99:e9:30:01:a7:
#                     76:ea:32:b8:95:41:1a:c9:da:61:4e:58:72:cf:fe:
#                     f6:82:79:bf:73:61:06:0a:a5:27:d8:b3:5f:d3:45:
#                     4e:1c:72:d6:4e:32:f2:72:8a:0f:f7:83:19:d0:6a:
#                     80:80:00:45:1e:b0:c7:e7:9a:bf:12:57:27:1c:a3:
#                     68:2f:0a:87:bd:6a:6b:0e:5e:65:f3:1c:77:d5:d4:
#                     85:8d:70:21:b4:b3:32:e7:8b:a2:d5:86:39:02:b1:
#                     b8:d2:47:ce:e4:c9:49:c4:3b:a7:de:fb:54:7d:57:
#                     be:f0:e8:6e:c2:79:b2:3a:0b:55:e2:50:98:16:32:
#                     13:5c:2f:78:56:c1:c2:94:b3:f2:5a:e4:27:9a:9f:
#                     24:d7:c6:ec:d0:9b:25:82:e3:cc:c2:c4:45:c5:8c:
#                     97:7a:06:6b:2a:11:9f:a9:0a:6e:48:3b:6f:db:d4:
#                     11:19:42:f7:8f:07:bf:f5:53:5f:9c:3e:f4:17:2c:
#                     e6:69:ac:4e:32:4c:62:77:ea:b7:e8:e5:bb:34:bc:
#                     19:8b:ae:9c:51:e7:b7:7e:b5:53:b1:33:22:e5:6d:
#                     cf:70:3c:1a:fa:e2:9b:67:b6:83:f4:8d:a5:af:62:
#                     4c:4d:e0:58:ac:64:34:12:03:f8:b6:8d:94:63:24:
#                     a4:71
#                 Exponent: 65537 (0x10001)
#         X509v3 extensions:
#             X509v3 Key Usage: critical
#                 Certificate Sign, CRL Sign
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#             X509v3 Subject Key Identifier:
#                 6A:72:26:7A:D0:1E:EF:7D:E7:3B:69:51:D4:6C:8D:9F:90:12:66:AB
#     Signature Algorithm: sha256WithRSAEncryption
#          79:9f:1d:96:c6:b6:79:3f:22:8d:87:d3:87:03:04:60:6a:6b:
#          9a:2e:59:89:73:11:ac:43:d1:f5:13:ff:8d:39:2b:c0:f2:bd:
#          4f:70:8c:a9:2f:ea:17:c4:0b:54:9e:d4:1b:96:98:33:3c:a8:
#          ad:62:a2:00:76:ab:59:69:6e:06:1d:7e:c4:b9:44:8d:98:af:
#          12:d4:61:db:0a:19:46:47:f3:eb:f7:63:c1:40:05:40:a5:d2:
#          b7:f4:b5:9a:36:bf:a9:88:76:88:04:55:04:2b:9c:87:7f:1a:
#          37:3c:7e:2d:a5:1a:d8:d4:89:5e:ca:bd:ac:3d:6c:d8:6d:af:
#          d5:f3:76:0f:cd:3b:88:38:22:9d:6c:93:9a:c4:3d:bf:82:1b:
#          65:3f:a6:0f:5d:aa:fc:e5:b2:15:ca:b5:ad:c6:bc:3d:d0:84:
#          e8:ea:06:72:b0:4d:39:32:78:bf:3e:11:9c:0b:a4:9d:9a:21:
#          f3:f0:9b:0b:30:78:db:c1:dc:87:43:fe:bc:63:9a:ca:c5:c2:
#          1c:c9:c7:8d:ff:3b:12:58:08:e6:b6:3d:ec:7a:2c:4e:fb:83:
#          96:ce:0c:3c:69:87:54:73:a4:73:c2:93:ff:51:10:ac:15:54:
#          01:d8:fc:05:b1:89:a1:7f:74:83:9a:49:d7:dc:4e:7b:8a:48:
#          6f:8b:45:f6
-----BEGIN CERTIFICATE-----
MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC
VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50
cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs
IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz
dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy
NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu
dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt
dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0
aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj
YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T
RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN
cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW
wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1
U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0
jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP
BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN
BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/
jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ
Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v
1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R
nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH
VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g==
-----END CERTIFICATE-----
# Entrust Root Certification Authority.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number: 1164660820 (0x456b5054)
#     Signature Algorithm: sha1WithRSAEncryption
#         Issuer: C=US, O=Entrust, Inc., OU=www.entrust.net/CPS is incorporated by reference, OU=(c) 2006 Entrust, Inc., CN=Entrust Root Certification Authority
#         Validity
#             Not Before: Nov 27 20:23:42 2006 GMT
#             Not After : Nov 27 20:53:42 2026 GMT
#         Subject: C=US, O=Entrust, Inc., OU=www.entrust.net/CPS is incorporated by reference, OU=(c) 2006 Entrust, Inc., CN=Entrust Root Certification Authority
#         Subject Public Key Info:
#             Public Key Algorithm: rsaEncryption
#                 Public-Key: (2048 bit)
#                 Modulus:
#                     00:b6:95:b6:43:42:fa:c6:6d:2a:6f:48:df:94:4c:
#                     39:57:05:ee:c3:79:11:41:68:36:ed:ec:fe:9a:01:
#                     8f:a1:38:28:fc:f7:10:46:66:2e:4d:1e:1a:b1:1a:
#                     4e:c6:d1:c0:95:88:b0:c9:ff:31:8b:33:03:db:b7:
#                     83:7b:3e:20:84:5e:ed:b2:56:28:a7:f8:e0:b9:40:
#                     71:37:c5:cb:47:0e:97:2a:68:c0:22:95:62:15:db:
#                     47:d9:f5:d0:2b:ff:82:4b:c9:ad:3e:de:4c:db:90:
#                     80:50:3f:09:8a:84:00:ec:30:0a:3d:18:cd:fb:fd:
#                     2a:59:9a:23:95:17:2c:45:9e:1f:6e:43:79:6d:0c:
#                     5c:98:fe:48:a7:c5:23:47:5c:5e:fd:6e:e7:1e:b4:
#                     f6:68:45:d1:86:83:5b:a2:8a:8d:b1:e3:29:80:fe:
#                     25:71:88:ad:be:bc:8f:ac:52:96:4b:aa:51:8d:e4:
#                     13:31:19:e8:4e:4d:9f:db:ac:b3:6a:d5:bc:39:54:
#                     71:ca:7a:7a:7f:90:dd:7d:1d:80:d9:81:bb:59:26:
#                     c2:11:fe:e6:93:e2:f7:80:e4:65:fb:34:37:0e:29:
#                     80:70:4d:af:38:86:2e:9e:7f:57:af:9e:17:ae:eb:
#                     1c:cb:28:21:5f:b6:1c:d8:e7:a2:04:22:f9:d3:da:
#                     d8:cb
#                 Exponent: 65537 (0x10001)
#         X509v3 extensions:
#             X509v3 Key Usage: critical
#                 Certificate Sign, CRL Sign
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#             X509v3 Private Key Usage Period:
#                 Not Before: Nov 27 20:23:42 2006 GMT, Not After: Nov 27 20:53:42 2026 GMT
#             X509v3 Authority Key Identifier:
#                 keyid:68:90:E4:67:A4:A6:53:80:C7:86:66:A4:F1:F7:4B:43:FB:84:BD:6D
#
#             X509v3 Subject Key Identifier:
#                 68:90:E4:67:A4:A6:53:80:C7:86:66:A4:F1:F7:4B:43:FB:84:BD:6D
#             1.2.840.113533.7.65.0:
#                 0...V7.1:4.0....
#     Signature Algorithm: sha1WithRSAEncryption
#          93:d4:30:b0:d7:03:20:2a:d0:f9:63:e8:91:0c:05:20:a9:5f:
#          19:ca:7b:72:4e:d4:b1:db:d0:96:fb:54:5a:19:2c:0c:08:f7:
#          b2:bc:85:a8:9d:7f:6d:3b:52:b3:2a:db:e7:d4:84:8c:63:f6:
#          0f:cb:26:01:91:50:6c:f4:5f:14:e2:93:74:c0:13:9e:30:3a:
#          50:e3:b4:60:c5:1c:f0:22:44:8d:71:47:ac:c8:1a:c9:e9:9b:
#          9a:00:60:13:ff:70:7e:5f:11:4d:49:1b:b3:15:52:7b:c9:54:
#          da:bf:9d:95:af:6b:9a:d8:9e:e9:f1:e4:43:8d:e2:11:44:3a:
#          bf:af:bd:83:42:73:52:8b:aa:bb:a7:29:cf:f5:64:1c:0a:4d:
#          d1:bc:aa:ac:9f:2a:d0:ff:7f:7f:da:7d:ea:b1:ed:30:25:c1:
#          84:da:34:d2:5b:78:83:56:ec:9c:36:c3:26:e2:11:f6:67:49:
#          1d:92:ab:8c:fb:eb:ff:7a:ee:85:4a:a7:50:80:f0:a7:5c:4a:
#          94:2e:5f:05:99:3c:52:41:e0:cd:b4:63:cf:01:43:ba:9c:83:
#          dc:8f:60:3b:f3:5a:b4:b4:7b:ae:da:0b:90:38:75:ef:81:1d:
#          66:d2:f7:57:70:36:b3:bf:fc:28:af:71:25:85:5b:13:fe:1e:
#          7f:5a:b4:3c
-----BEGIN CERTIFICATE-----
MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC
VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0
Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW
KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl
cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw
NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw
NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy
ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV
BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo
Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4
4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9
KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI
rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi
94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB
sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi
gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo
kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE
vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t
O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua
AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP
9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/
eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m
0vdXcDazv/wor3ElhVsT/h5/WrQ8
-----END CERTIFICATE-----
# Entrust.net Certification Authority (2048).pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number: 946069240 (0x3863def8)
#     Signature Algorithm: sha1WithRSAEncryption
#         Issuer: O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048)
#         Validity
#             Not Before: Dec 24 17:50:51 1999 GMT
#             Not After : Jul 24 14:15:12 2029 GMT
#         Subject: O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048)
#         Subject Public Key Info:
#             Public Key Algorithm: rsaEncryption
#                 Public-Key: (2048 bit)
#                 Modulus:
#                     00:ad:4d:4b:a9:12:86:b2:ea:a3:20:07:15:16:64:
#                     2a:2b:4b:d1:bf:0b:4a:4d:8e:ed:80:76:a5:67:b7:
#                     78:40:c0:73:42:c8:68:c0:db:53:2b:dd:5e:b8:76:
#                     98:35:93:8b:1a:9d:7c:13:3a:0e:1f:5b:b7:1e:cf:
#                     e5:24:14:1e:b1:81:a9:8d:7d:b8:cc:6b:4b:03:f1:
#                     02:0c:dc:ab:a5:40:24:00:7f:74:94:a1:9d:08:29:
#                     b3:88:0b:f5:87:77:9d:55:cd:e4:c3:7e:d7:6a:64:
#                     ab:85:14:86:95:5b:97:32:50:6f:3d:c8:ba:66:0c:
#                     e3:fc:bd:b8:49:c1:76:89:49:19:fd:c0:a8:bd:89:
#                     a3:67:2f:c6:9f:bc:71:19:60:b8:2d:e9:2c:c9:90:
#                     76:66:7b:94:e2:af:78:d6:65:53:5d:3c:d6:9c:b2:
#                     cf:29:03:f9:2f:a4:50:b2:d4:48:ce:05:32:55:8a:
#                     fd:b2:64:4c:0e:e4:98:07:75:db:7f:df:b9:08:55:
#                     60:85:30:29:f9:7b:48:a4:69:86:e3:35:3f:1e:86:
#                     5d:7a:7a:15:bd:ef:00:8e:15:22:54:17:00:90:26:
#                     93:bc:0e:49:68:91:bf:f8:47:d3:9d:95:42:c1:0e:
#                     4d:df:6f:26:cf:c3:18:21:62:66:43:70:d6:d5:c0:
#                     07:e1
#                 Exponent: 65537 (0x10001)
#         X509v3 extensions:
#             X509v3 Key Usage: critical
#                 Certificate Sign, CRL Sign
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#             X509v3 Subject Key Identifier:
#                 55:E4:81:D1:11:80:BE:D8:89:B9:08:A3:31:F9:A1:24:09:16:B9:70
#     Signature Algorithm: sha1WithRSAEncryption
#          3b:9b:8f:56:9b:30:e7:53:99:7c:7a:79:a7:4d:97:d7:19:95:
#          90:fb:06:1f:ca:33:7c:46:63:8f:96:66:24:fa:40:1b:21:27:
#          ca:e6:72:73:f2:4f:fe:31:99:fd:c8:0c:4c:68:53:c6:80:82:
#          13:98:fa:b6:ad:da:5d:3d:f1:ce:6e:f6:15:11:94:82:0c:ee:
#          3f:95:af:11:ab:0f:d7:2f:de:1f:03:8f:57:2c:1e:c9:bb:9a:
#          1a:44:95:eb:18:4f:a6:1f:cd:7d:57:10:2f:9b:04:09:5a:84:
#          b5:6e:d8:1d:3a:e1:d6:9e:d1:6c:79:5e:79:1c:14:c5:e3:d0:
#          4c:93:3b:65:3c:ed:df:3d:be:a6:e5:95:1a:c3:b5:19:c3:bd:
#          5e:5b:bb:ff:23:ef:68:19:cb:12:93:27:5c:03:2d:6f:30:d0:
#          1e:b6:1a:ac:de:5a:f7:d1:aa:a8:27:a6:fe:79:81:c4:79:99:
#          33:57:ba:12:b0:a9:e0:42:6c:93:ca:56:de:fe:6d:84:0b:08:
#          8b:7e:8d:ea:d7:98:21:c6:f3:e7:3c:79:2f:5e:9c:d1:4c:15:
#          8d:e1:ec:22:37:cc:9a:43:0b:97:dc:80:90:8d:b3:67:9b:6f:
#          48:08:15:56:cf:bf:f1:2b:7c:5e:9a:76:e9:59:90:c5:7c:83:
#          35:11:65:51
-----BEGIN CERTIFICATE-----
MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML
RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp
bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5
IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3
MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3
LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp
YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG
A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq
K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe
sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX
MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT
XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/
HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH
4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub
j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo
U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b
u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+
bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er
fF6adulZkMV8gzURZVE=
-----END CERTIFICATE-----
# GeoTrust Global CA.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number: 144470 (0x23456)
#     Signature Algorithm: sha1WithRSAEncryption
#         Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
#         Validity
#             Not Before: May 21 04:00:00 2002 GMT
#             Not After : May 21 04:00:00 2022 GMT
#         Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
#         Subject Public Key Info:
#             Public Key Algorithm: rsaEncryption
#                 Public-Key: (2048 bit)
#                 Modulus:
#                     00:da:cc:18:63:30:fd:f4:17:23:1a:56:7e:5b:df:
#                     3c:6c:38:e4:71:b7:78:91:d4:bc:a1:d8:4c:f8:a8:
#                     43:b6:03:e9:4d:21:07:08:88:da:58:2f:66:39:29:
#                     bd:05:78:8b:9d:38:e8:05:b7:6a:7e:71:a4:e6:c4:
#                     60:a6:b0:ef:80:e4:89:28:0f:9e:25:d6:ed:83:f3:
#                     ad:a6:91:c7:98:c9:42:18:35:14:9d:ad:98:46:92:
#                     2e:4f:ca:f1:87:43:c1:16:95:57:2d:50:ef:89:2d:
#                     80:7a:57:ad:f2:ee:5f:6b:d2:00:8d:b9:14:f8:14:
#                     15:35:d9:c0:46:a3:7b:72:c8:91:bf:c9:55:2b:cd:
#                     d0:97:3e:9c:26:64:cc:df:ce:83:19:71:ca:4e:e6:
#                     d4:d5:7b:a9:19:cd:55:de:c8:ec:d2:5e:38:53:e5:
#                     5c:4f:8c:2d:fe:50:23:36:fc:66:e6:cb:8e:a4:39:
#                     19:00:b7:95:02:39:91:0b:0e:fe:38:2e:d1:1d:05:
#                     9a:f6:4d:3e:6f:0f:07:1d:af:2c:1e:8f:60:39:e2:
#                     fa:36:53:13:39:d4:5e:26:2b:db:3d:a8:14:bd:32:
#                     eb:18:03:28:52:04:71:e5:ab:33:3d:e1:38:bb:07:
#                     36:84:62:9c:79:ea:16:30:f4:5f:c0:2b:e8:71:6b:
#                     e4:f9
#                 Exponent: 65537 (0x10001)
#         X509v3 extensions:
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#             X509v3 Subject Key Identifier:
#                 C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E
#             X509v3 Authority Key Identifier:
#                 keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E
#
#     Signature Algorithm: sha1WithRSAEncryption
#          35:e3:29:6a:e5:2f:5d:54:8e:29:50:94:9f:99:1a:14:e4:8f:
#          78:2a:62:94:a2:27:67:9e:d0:cf:1a:5e:47:e9:c1:b2:a4:cf:
#          dd:41:1a:05:4e:9b:4b:ee:4a:6f:55:52:b3:24:a1:37:0a:eb:
#          64:76:2a:2e:2c:f3:fd:3b:75:90:bf:fa:71:d8:c7:3d:37:d2:
#          b5:05:95:62:b9:a6:de:89:3d:36:7b:38:77:48:97:ac:a6:20:
#          8f:2e:a6:c9:0c:c2:b2:99:45:00:c7:ce:11:51:22:22:e0:a5:
#          ea:b6:15:48:09:64:ea:5e:4f:74:f7:05:3e:c7:8a:52:0c:db:
#          15:b4:bd:6d:9b:e5:c6:b1:54:68:a9:e3:69:90:b6:9a:a5:0f:
#          b8:b9:3f:20:7d:ae:4a:b5:b8:9c:e4:1d:b6:ab:e6:94:a5:c1:
#          c7:83:ad:db:f5:27:87:0e:04:6c:d5:ff:dd:a0:5d:ed:87:52:
#          b7:2b:15:02:ae:39:a6:6a:74:e9:da:c4:e7:bc:4d:34:1e:a9:
#          5c:4d:33:5f:92:09:2f:88:66:5d:77:97:c7:1d:76:13:a9:d5:
#          e5:f1:16:09:11:35:d5:ac:db:24:71:70:2c:98:56:0b:d9:17:
#          b4:d1:e3:51:2b:5e:75:e8:d5:d0:dc:4f:34:ed:c2:05:66:80:
#          a1:cb:e6:33
-----BEGIN CERTIFICATE-----
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
-----END CERTIFICATE-----
# GeoTrust Primary Certification Authority - G2.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number:
#             3c:b2:f4:48:0a:00:e2:fe:eb:24:3b:5e:60:3e:c3:6b
#     Signature Algorithm: ecdsa-with-SHA384
#         Issuer: C=US, O=GeoTrust Inc., OU=(c) 2007 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G2
#         Validity
#             Not Before: Nov  5 00:00:00 2007 GMT
#             Not After : Jan 18 23:59:59 2038 GMT
#         Subject: C=US, O=GeoTrust Inc., OU=(c) 2007 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G2
#         Subject Public Key Info:
#             Public Key Algorithm: id-ecPublicKey
#                 Public-Key: (384 bit)
#                 pub:
#                     04:15:b1:e8:fd:03:15:43:e5:ac:eb:87:37:11:62:
#                     ef:d2:83:36:52:7d:45:57:0b:4a:8d:7b:54:3b:3a:
#                     6e:5f:15:02:c0:50:a6:cf:25:2f:7d:ca:48:b8:c7:
#                     50:63:1c:2a:21:08:7c:9a:36:d8:0b:fe:d1:26:c5:
#                     58:31:30:28:25:f3:5d:5d:a3:b8:b6:a5:b4:92:ed:
#                     6c:2c:9f:eb:dd:43:89:a2:3c:4b:48:91:1d:50:ec:
#                     26:df:d6:60:2e:bd:21
#                 ASN1 OID: secp384r1
#         X509v3 extensions:
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#             X509v3 Key Usage: critical
#                 Certificate Sign, CRL Sign
#             X509v3 Subject Key Identifier:
#                 15:5F:35:57:51:55:FB:25:B2:AD:03:69:FC:01:A3:FA:BE:11:55:D5
#     Signature Algorithm: ecdsa-with-SHA384
#          30:64:02:30:64:96:59:a6:e8:09:de:8b:ba:fa:5a:88:88:f0:
#          1f:91:d3:46:a8:f2:4a:4c:02:63:fb:6c:5f:38:db:2e:41:93:
#          a9:0e:e6:9d:dc:31:1c:b2:a0:a7:18:1c:79:e1:c7:36:02:30:
#          3a:56:af:9a:74:6c:f6:fb:83:e0:33:d3:08:5f:a1:9c:c2:5b:
#          9f:46:d6:b6:cb:91:06:63:a2:06:e7:33:ac:3e:a8:81:12:d0:
#          cb:ba:d0:92:0b:b6:9e:96:aa:04:0f:8a
-----BEGIN CERTIFICATE-----
MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL
MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj
KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2
MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV
BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw
NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV
BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH
MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL
So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal
tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO
BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG
CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT
qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz
rD6ogRLQy7rQkgu2npaqBA+K
-----END CERTIFICATE-----
# GeoTrust Primary Certification Authority - G3.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number:
#             15:ac:6e:94:19:b2:79:4b:41:f6:27:a9:c3:18:0f:1f
#     Signature Algorithm: sha256WithRSAEncryption
#         Issuer: C=US, O=GeoTrust Inc., OU=(c) 2008 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G3
#         Validity
#             Not Before: Apr  2 00:00:00 2008 GMT
#             Not After : Dec  1 23:59:59 2037 GMT
#         Subject: C=US, O=GeoTrust Inc., OU=(c) 2008 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G3
#         Subject Public Key Info:
#             Public Key Algorithm: rsaEncryption
#                 Public-Key: (2048 bit)
#                 Modulus:
#                     00:dc:e2:5e:62:58:1d:33:57:39:32:33:fa:eb:cb:
#                     87:8c:a7:d4:4a:dd:06:88:ea:64:8e:31:98:a5:38:
#                     90:1e:98:cf:2e:63:2b:f0:46:bc:44:b2:89:a1:c0:
#                     28:0c:49:70:21:95:9f:64:c0:a6:93:12:02:65:26:
#                     86:c6:a5:89:f0:fa:d7:84:a0:70:af:4f:1a:97:3f:
#                     06:44:d5:c9:eb:72:10:7d:e4:31:28:fb:1c:61:e6:
#                     28:07:44:73:92:22:69:a7:03:88:6c:9d:63:c8:52:
#                     da:98:27:e7:08:4c:70:3e:b4:c9:12:c1:c5:67:83:
#                     5d:33:f3:03:11:ec:6a:d0:53:e2:d1:ba:36:60:94:
#                     80:bb:61:63:6c:5b:17:7e:df:40:94:1e:ab:0d:c2:
#                     21:28:70:88:ff:d6:26:6c:6c:60:04:25:4e:55:7e:
#                     7d:ef:bf:94:48:de:b7:1d:dd:70:8d:05:5f:88:a5:
#                     9b:f2:c2:ee:ea:d1:40:41:6d:62:38:1d:56:06:c5:
#                     03:47:51:20:19:fc:7b:10:0b:0e:62:ae:76:55:bf:
#                     5f:77:be:3e:49:01:53:3d:98:25:03:76:24:5a:1d:
#                     b4:db:89:ea:79:e5:b6:b3:3b:3f:ba:4c:28:41:7f:
#                     06:ac:6a:8e:c1:d0:f6:05:1d:7d:e6:42:86:e3:a5:
#                     d5:47
#                 Exponent: 65537 (0x10001)
#         X509v3 extensions:
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#             X509v3 Key Usage: critical
#                 Certificate Sign, CRL Sign
#             X509v3 Subject Key Identifier:
#                 C4:79:CA:8E:A1:4E:03:1D:1C:DC:6B:DB:31:5B:94:3E:3F:30:7F:2D
#     Signature Algorithm: sha256WithRSAEncryption
#          2d:c5:13:cf:56:80:7b:7a:78:bd:9f:ae:2c:99:e7:ef:da:df:
#          94:5e:09:69:a7:e7:6e:68:8c:bd:72:be:47:a9:0e:97:12:b8:
#          4a:f1:64:d3:39:df:25:34:d4:c1:cd:4e:81:f0:0f:04:c4:24:
#          b3:34:96:c6:a6:aa:30:df:68:61:73:d7:f9:8e:85:89:ef:0e:
#          5e:95:28:4a:2a:27:8f:10:8e:2e:7c:86:c4:02:9e:da:0c:77:
#          65:0e:44:0d:92:fd:fd:b3:16:36:fa:11:0d:1d:8c:0e:07:89:
#          6a:29:56:f7:72:f4:dd:15:9c:77:35:66:57:ab:13:53:d8:8e:
#          c1:40:c5:d7:13:16:5a:72:c7:b7:69:01:c4:7a:b1:83:01:68:
#          7d:8d:41:a1:94:18:c1:25:5c:fc:f0:fe:83:02:87:7c:0d:0d:
#          cf:2e:08:5c:4a:40:0d:3e:ec:81:61:e6:24:db:ca:e0:0e:2d:
#          07:b2:3e:56:dc:8d:f5:41:85:07:48:9b:0c:0b:cb:49:3f:7d:
#          ec:b7:fd:cb:8d:67:89:1a:ab:ed:bb:1e:a3:00:08:08:17:2a:
#          82:5c:31:5d:46:8a:2d:0f:86:9b:74:d9:45:fb:d4:40:b1:7a:
#          aa:68:2d:86:b2:99:22:e1:c1:2b:c7:9c:f8:f3:5f:a8:82:12:
#          eb:19:11:2d
-----BEGIN CERTIFICATE-----
MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB
mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT
MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s
eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv
cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ
BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0
BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz
+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm
hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn
5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W
JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL
DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC
huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw
HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB
AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB
zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN
kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH
SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G
spki4cErx5z481+oghLrGREt
-----END CERTIFICATE-----
# GeoTrust Primary Certification Authority.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number:
#             18:ac:b5:6a:fd:69:b6:15:3a:63:6c:af:da:fa:c4:a1
#     Signature Algorithm: sha1WithRSAEncryption
#         Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Primary Certification Authority
#         Validity
#             Not Before: Nov 27 00:00:00 2006 GMT
#             Not After : Jul 16 23:59:59 2036 GMT
#         Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Primary Certification Authority
#         Subject Public Key Info:
#             Public Key Algorithm: rsaEncryption
#                 Public-Key: (2048 bit)
#                 Modulus:
#                     00:be:b8:15:7b:ff:d4:7c:7d:67:ad:83:64:7b:c8:
#                     42:53:2d:df:f6:84:08:20:61:d6:01:59:6a:9c:44:
#                     11:af:ef:76:fd:95:7e:ce:61:30:bb:7a:83:5f:02:
#                     bd:01:66:ca:ee:15:8d:6f:a1:30:9c:bd:a1:85:9e:
#                     94:3a:f3:56:88:00:31:cf:d8:ee:6a:96:02:d9:ed:
#                     03:8c:fb:75:6d:e7:ea:b8:55:16:05:16:9a:f4:e0:
#                     5e:b1:88:c0:64:85:5c:15:4d:88:c7:b7:ba:e0:75:
#                     e9:ad:05:3d:9d:c7:89:48:e0:bb:28:c8:03:e1:30:
#                     93:64:5e:52:c0:59:70:22:35:57:88:8a:f1:95:0a:
#                     83:d7:bc:31:73:01:34:ed:ef:46:71:e0:6b:02:a8:
#                     35:72:6b:97:9b:66:e0:cb:1c:79:5f:d8:1a:04:68:
#                     1e:47:02:e6:9d:60:e2:36:97:01:df:ce:35:92:df:
#                     be:67:c7:6d:77:59:3b:8f:9d:d6:90:15:94:bc:42:
#                     34:10:c1:39:f9:b1:27:3e:7e:d6:8a:75:c5:b2:af:
#                     96:d3:a2:de:9b:e4:98:be:7d:e1:e9:81:ad:b6:6f:
#                     fc:d7:0e:da:e0:34:b0:0d:1a:77:e7:e3:08:98:ef:
#                     58:fa:9c:84:b7:36:af:c2:df:ac:d2:f4:10:06:70:
#                     71:35
#                 Exponent: 65537 (0x10001)
#         X509v3 extensions:
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#             X509v3 Key Usage: critical
#                 Certificate Sign, CRL Sign
#             X509v3 Subject Key Identifier:
#                 2C:D5:50:41:97:15:8B:F0:8F:36:61:5B:4A:FB:6B:D9:99:C9:33:92
#     Signature Algorithm: sha1WithRSAEncryption
#          5a:70:7f:2c:dd:b7:34:4f:f5:86:51:a9:26:be:4b:b8:aa:f1:
#          71:0d:dc:61:c7:a0:ea:34:1e:7a:77:0f:04:35:e8:27:8f:6c:
#          90:bf:91:16:24:46:3e:4a:4e:ce:2b:16:d5:0b:52:1d:fc:1f:
#          67:a2:02:45:31:4f:ce:f3:fa:03:a7:79:9d:53:6a:d9:da:63:
#          3a:f8:80:d7:d3:99:e1:a5:e1:be:d4:55:71:98:35:3a:be:93:
#          ea:ae:ad:42:b2:90:6f:e0:fc:21:4d:35:63:33:89:49:d6:9b:
#          4e:ca:c7:e7:4e:09:00:f7:da:c7:ef:99:62:99:77:b6:95:22:
#          5e:8a:a0:ab:f4:b8:78:98:ca:38:19:99:c9:72:9e:78:cd:4b:
#          ac:af:19:a0:73:12:2d:fc:c2:41:ba:81:91:da:16:5a:31:b7:
#          f9:b4:71:80:12:48:99:72:73:5a:59:53:c1:63:52:33:ed:a7:
#          c9:d2:39:02:70:fa:e0:b1:42:66:29:aa:9b:51:ed:30:54:22:
#          14:5f:d9:ab:1d:c1:e4:94:f0:f8:f5:2b:f7:ea:ca:78:46:d6:
#          b8:91:fd:a6:0d:2b:1a:14:01:3e:80:f0:42:a0:95:07:5e:6d:
#          cd:cc:4b:a4:45:8d:ab:12:e8:b3:de:5a:e5:a0:7c:e8:0f:22:
#          1d:5a:e9:59
-----BEGIN CERTIFICATE-----
MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY
MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo
R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx
MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9
AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA
ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0
7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W
kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI
mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ
KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1
6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl
4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K
oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj
UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU
AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
-----END CERTIFICATE-----
# Go Daddy Class 2 Certification Authority.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number: 0 (0x0)
#     Signature Algorithm: sha1WithRSAEncryption
#         Issuer: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority
#         Validity
#             Not Before: Jun 29 17:06:20 2004 GMT
#             Not After : Jun 29 17:06:20 2034 GMT
#         Subject: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority
#         Subject Public Key Info:
#             Public Key Algorithm: rsaEncryption
#                 Public-Key: (2048 bit)
#                 Modulus:
#                     00:de:9d:d7:ea:57:18:49:a1:5b:eb:d7:5f:48:86:
#                     ea:be:dd:ff:e4:ef:67:1c:f4:65:68:b3:57:71:a0:
#                     5e:77:bb:ed:9b:49:e9:70:80:3d:56:18:63:08:6f:
#                     da:f2:cc:d0:3f:7f:02:54:22:54:10:d8:b2:81:d4:
#                     c0:75:3d:4b:7f:c7:77:c3:3e:78:ab:1a:03:b5:20:
#                     6b:2f:6a:2b:b1:c5:88:7e:c4:bb:1e:b0:c1:d8:45:
#                     27:6f:aa:37:58:f7:87:26:d7:d8:2d:f6:a9:17:b7:
#                     1f:72:36:4e:a6:17:3f:65:98:92:db:2a:6e:5d:a2:
#                     fe:88:e0:0b:de:7f:e5:8d:15:e1:eb:cb:3a:d5:e2:
#                     12:a2:13:2d:d8:8e:af:5f:12:3d:a0:08:05:08:b6:
#                     5c:a5:65:38:04:45:99:1e:a3:60:60:74:c5:41:a5:
#                     72:62:1b:62:c5:1f:6f:5f:1a:42:be:02:51:65:a8:
#                     ae:23:18:6a:fc:78:03:a9:4d:7f:80:c3:fa:ab:5a:
#                     fc:a1:40:a4:ca:19:16:fe:b2:c8:ef:5e:73:0d:ee:
#                     77:bd:9a:f6:79:98:bc:b1:07:67:a2:15:0d:dd:a0:
#                     58:c6:44:7b:0a:3e:62:28:5f:ba:41:07:53:58:cf:
#                     11:7e:38:74:c5:f8:ff:b5:69:90:8f:84:74:ea:97:
#                     1b:af
#                 Exponent: 3 (0x3)
#         X509v3 extensions:
#             X509v3 Subject Key Identifier:
#                 D2:C4:B0:D2:91:D4:4C:11:71:B3:61:CB:3D:A1:FE:DD:A8:6A:D4:E3
#             X509v3 Authority Key Identifier:
#                 keyid:D2:C4:B0:D2:91:D4:4C:11:71:B3:61:CB:3D:A1:FE:DD:A8:6A:D4:E3
#                 DirName:/C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority
#                 serial:00
#
#             X509v3 Basic Constraints:
#                 CA:TRUE
#     Signature Algorithm: sha1WithRSAEncryption
#          32:4b:f3:b2:ca:3e:91:fc:12:c6:a1:07:8c:8e:77:a0:33:06:
#          14:5c:90:1e:18:f7:08:a6:3d:0a:19:f9:87:80:11:6e:69:e4:
#          96:17:30:ff:34:91:63:72:38:ee:cc:1c:01:a3:1d:94:28:a4:
#          31:f6:7a:c4:54:d7:f6:e5:31:58:03:a2:cc:ce:62:db:94:45:
#          73:b5:bf:45:c9:24:b5:d5:82:02:ad:23:79:69:8d:b8:b6:4d:
#          ce:cf:4c:ca:33:23:e8:1c:88:aa:9d:8b:41:6e:16:c9:20:e5:
#          89:9e:cd:3b:da:70:f7:7e:99:26:20:14:54:25:ab:6e:73:85:
#          e6:9b:21:9d:0a:6c:82:0e:a8:f8:c2:0c:fa:10:1e:6c:96:ef:
#          87:0d:c4:0f:61:8b:ad:ee:83:2b:95:f8:8e:92:84:72:39:eb:
#          20:ea:83:ed:83:cd:97:6e:08:bc:eb:4e:26:b6:73:2b:e4:d3:
#          f6:4c:fe:26:71:e2:61:11:74:4a:ff:57:1a:87:0f:75:48:2e:
#          cf:51:69:17:a0:02:12:61:95:d5:d1:40:b2:10:4c:ee:c4:ac:
#          10:43:a6:a5:9e:0a:d5:95:62:9a:0d:cf:88:82:c5:32:0c:e4:
#          2b:9f:45:e6:0d:9f:28:9c:b1:b9:2a:5a:57:ad:37:0f:af:1d:
#          7f:db:bd:9f
-----BEGIN CERTIFICATE-----
MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
ReYNnyicsbkqWletNw+vHX/bvZ8=
-----END CERTIFICATE-----
# Go Daddy Root Certificate Authority - G2.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number: 0 (0x0)
#     Signature Algorithm: sha256WithRSAEncryption
#         Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2
#         Validity
#             Not Before: Sep  1 00:00:00 2009 GMT
#             Not After : Dec 31 23:59:59 2037 GMT
#         Subject: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2
#         Subject Public Key Info:
#             Public Key Algorithm: rsaEncryption
#                 Public-Key: (2048 bit)
#                 Modulus:
#                     00:bf:71:62:08:f1:fa:59:34:f7:1b:c9:18:a3:f7:
#                     80:49:58:e9:22:83:13:a6:c5:20:43:01:3b:84:f1:
#                     e6:85:49:9f:27:ea:f6:84:1b:4e:a0:b4:db:70:98:
#                     c7:32:01:b1:05:3e:07:4e:ee:f4:fa:4f:2f:59:30:
#                     22:e7:ab:19:56:6b:e2:80:07:fc:f3:16:75:80:39:
#                     51:7b:e5:f9:35:b6:74:4e:a9:8d:82:13:e4:b6:3f:
#                     a9:03:83:fa:a2:be:8a:15:6a:7f:de:0b:c3:b6:19:
#                     14:05:ca:ea:c3:a8:04:94:3b:46:7c:32:0d:f3:00:
#                     66:22:c8:8d:69:6d:36:8c:11:18:b7:d3:b2:1c:60:
#                     b4:38:fa:02:8c:ce:d3:dd:46:07:de:0a:3e:eb:5d:
#                     7c:c8:7c:fb:b0:2b:53:a4:92:62:69:51:25:05:61:
#                     1a:44:81:8c:2c:a9:43:96:23:df:ac:3a:81:9a:0e:
#                     29:c5:1c:a9:e9:5d:1e:b6:9e:9e:30:0a:39:ce:f1:
#                     88:80:fb:4b:5d:cc:32:ec:85:62:43:25:34:02:56:
#                     27:01:91:b4:3b:70:2a:3f:6e:b1:e8:9c:88:01:7d:
#                     9f:d4:f9:db:53:6d:60:9d:bf:2c:e7:58:ab:b8:5f:
#                     46:fc:ce:c4:1b:03:3c:09:eb:49:31:5c:69:46:b3:
#                     e0:47
#                 Exponent: 65537 (0x10001)
#         X509v3 extensions:
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#             X509v3 Key Usage: critical
#                 Certificate Sign, CRL Sign
#             X509v3 Subject Key Identifier:
#                 3A:9A:85:07:10:67:28:B6:EF:F6:BD:05:41:6E:20:C1:94:DA:0F:DE
#     Signature Algorithm: sha256WithRSAEncryption
#          99:db:5d:79:d5:f9:97:59:67:03:61:f1:7e:3b:06:31:75:2d:
#          a1:20:8e:4f:65:87:b4:f7:a6:9c:bc:d8:e9:2f:d0:db:5a:ee:
#          cf:74:8c:73:b4:38:42:da:05:7b:f8:02:75:b8:fd:a5:b1:d7:
#          ae:f6:d7:de:13:cb:53:10:7e:8a:46:d1:97:fa:b7:2e:2b:11:
#          ab:90:b0:27:80:f9:e8:9f:5a:e9:37:9f:ab:e4:df:6c:b3:85:
#          17:9d:3d:d9:24:4f:79:91:35:d6:5f:04:eb:80:83:ab:9a:02:
#          2d:b5:10:f4:d8:90:c7:04:73:40:ed:72:25:a0:a9:9f:ec:9e:
#          ab:68:12:99:57:c6:8f:12:3a:09:a4:bd:44:fd:06:15:37:c1:
#          9b:e4:32:a3:ed:38:e8:d8:64:f3:2c:7e:14:fc:02:ea:9f:cd:
#          ff:07:68:17:db:22:90:38:2d:7a:8d:d1:54:f1:69:e3:5f:33:
#          ca:7a:3d:7b:0a:e3:ca:7f:5f:39:e5:e2:75:ba:c5:76:18:33:
#          ce:2c:f0:2f:4c:ad:f7:b1:e7:ce:4f:a8:c4:9b:4a:54:06:c5:
#          7f:7d:d5:08:0f:e2:1c:fe:7e:17:b8:ac:5e:f6:d4:16:b2:43:
#          09:0c:4d:f6:a7:6b:b4:99:84:65:ca:7a:88:e2:e2:44:be:5c:
#          f7:ea:1c:f5
-----BEGIN CERTIFICATE-----
MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx
EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT
EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp
ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz
NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH
EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE
AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD
E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH
/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy
DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh
GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR
tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA
AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX
WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu
9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr
gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo
2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI
4uJEvlz36hz1
-----END CERTIFICATE-----
# Go Daddy Secure Certification Authority serialNumber=07969287.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number: 769 (0x301)
#     Signature Algorithm: sha1WithRSAEncryption
#         Issuer: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority
#         Validity
#             Not Before: Nov 16 01:54:37 2006 GMT
#             Not After : Nov 16 01:54:37 2026 GMT
#         Subject: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certificates.godaddy.com/repository, CN=Go Daddy Secure Certification Authority/serialNumber=07969287
#         Subject Public Key Info:
#             Public Key Algorithm: rsaEncryption
#                 Public-Key: (2048 bit)
#                 Modulus:
#                     00:c4:2d:d5:15:8c:9c:26:4c:ec:32:35:eb:5f:b8:
#                     59:01:5a:a6:61:81:59:3b:70:63:ab:e3:dc:3d:c7:
#                     2a:b8:c9:33:d3:79:e4:3a:ed:3c:30:23:84:8e:b3:
#                     30:14:b6:b2:87:c3:3d:95:54:04:9e:df:99:dd:0b:
#                     25:1e:21:de:65:29:7e:35:a8:a9:54:eb:f6:f7:32:
#                     39:d4:26:55:95:ad:ef:fb:fe:58:86:d7:9e:f4:00:
#                     8d:8c:2a:0c:bd:42:04:ce:a7:3f:04:f6:ee:80:f2:
#                     aa:ef:52:a1:69:66:da:be:1a:ad:5d:da:2c:66:ea:
#                     1a:6b:bb:e5:1a:51:4a:00:2f:48:c7:98:75:d8:b9:
#                     29:c8:ee:f8:66:6d:0a:9c:b3:f3:fc:78:7c:a2:f8:
#                     a3:f2:b5:c3:f3:b9:7a:91:c1:a7:e6:25:2e:9c:a8:
#                     ed:12:65:6e:6a:f6:12:44:53:70:30:95:c3:9c:2b:
#                     58:2b:3d:08:74:4a:f2:be:51:b0:bf:87:d0:4c:27:
#                     58:6b:b5:35:c5:9d:af:17:31:f8:0b:8f:ee:ad:81:
#                     36:05:89:08:98:cf:3a:af:25:87:c0:49:ea:a7:fd:
#                     67:f7:45:8e:97:cc:14:39:e2:36:85:b5:7e:1a:37:
#                     fd:16:f6:71:11:9a:74:30:16:fe:13:94:a3:3f:84:
#                     0d:4f
#                 Exponent: 65537 (0x10001)
#         X509v3 extensions:
#             X509v3 Subject Key Identifier:
#                 FD:AC:61:32:93:6C:45:D6:E2:EE:85:5F:9A:BA:E7:76:99:68:CC:E7
#             X509v3 Authority Key Identifier:
#                 keyid:D2:C4:B0:D2:91:D4:4C:11:71:B3:61:CB:3D:A1:FE:DD:A8:6A:D4:E3
#
#             X509v3 Basic Constraints: critical
#                 CA:TRUE, pathlen:0
#             Authority Information Access:
#                 OCSP - URI:http://ocsp.godaddy.com
#
#             X509v3 CRL Distribution Points:
#
#                 Full Name:
#                   URI:http://certificates.godaddy.com/repository/gdroot.crl
#
#             X509v3 Certificate Policies:
#                 Policy: X509v3 Any Policy
#                   CPS: http://certificates.godaddy.com/repository
#
#             X509v3 Key Usage: critical
#                 Certificate Sign, CRL Sign
#     Signature Algorithm: sha1WithRSAEncryption
#          d2:86:c0:ec:bd:f9:a1:b6:67:ee:66:0b:a2:06:3a:04:50:8e:
#          15:72:ac:4a:74:95:53:cb:37:cb:44:49:ef:07:90:6b:33:d9:
#          96:f0:94:56:a5:13:30:05:3c:85:32:21:7b:c9:c7:0a:a8:24:
#          a4:90:de:46:d3:25:23:14:03:67:c2:10:d6:6f:0f:5d:7b:7a:
#          cc:9f:c5:58:2a:c1:c4:9e:21:a8:5a:f3:ac:a4:46:f3:9e:e4:
#          63:cb:2f:90:a4:29:29:01:d9:72:2c:29:df:37:01:27:bc:4f:
#          ee:68:d3:21:8f:c0:b3:e4:f5:09:ed:d2:10:aa:53:b4:be:f0:
#          cc:59:0b:d6:3b:96:1c:95:24:49:df:ce:ec:fd:a7:48:91:14:
#          45:0e:3a:36:6f:da:45:b3:45:a2:41:c9:d4:d7:44:4e:3e:b9:
#          74:76:d5:a2:13:55:2c:c6:87:a3:b5:99:ac:06:84:87:7f:75:
#          06:fc:bf:14:4c:0e:cc:6e:c4:df:3d:b7:12:71:f4:e8:f1:51:
#          40:22:28:49:e0:1d:4b:87:a8:34:cc:06:a2:dd:12:5a:d1:86:
#          36:64:03:35:6f:6f:77:6e:eb:f2:85:50:98:5e:ab:03:53:ad:
#          91:23:63:1f:16:9c:cd:b9:b2:05:63:3a:e1:f4:68:1b:17:05:
#          35:95:53:ee
-----BEGIN CERTIFICATE-----
MIIE3jCCA8agAwIBAgICAwEwDQYJKoZIhvcNAQEFBQAwYzELMAkGA1UEBhMCVVMx
ITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMTYw
MTU0MzdaFw0yNjExMTYwMTU0MzdaMIHKMQswCQYDVQQGEwJVUzEQMA4GA1UECBMH
QXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTEaMBgGA1UEChMRR29EYWRkeS5j
b20sIEluYy4xMzAxBgNVBAsTKmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5j
b20vcmVwb3NpdG9yeTEwMC4GA1UEAxMnR28gRGFkZHkgU2VjdXJlIENlcnRpZmlj
YXRpb24gQXV0aG9yaXR5MREwDwYDVQQFEwgwNzk2OTI4NzCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAMQt1RWMnCZM7DI161+4WQFapmGBWTtwY6vj3D3H
KrjJM9N55DrtPDAjhI6zMBS2sofDPZVUBJ7fmd0LJR4h3mUpfjWoqVTr9vcyOdQm
VZWt7/v+WIbXnvQAjYwqDL1CBM6nPwT27oDyqu9SoWlm2r4arV3aLGbqGmu75RpR
SgAvSMeYddi5Kcju+GZtCpyz8/x4fKL4o/K1w/O5epHBp+YlLpyo7RJlbmr2EkRT
cDCVw5wrWCs9CHRK8r5RsL+H0EwnWGu1NcWdrxcx+AuP7q2BNgWJCJjPOq8lh8BJ
6qf9Z/dFjpfMFDniNoW1fho3/Rb2cRGadDAW/hOUoz+EDU8CAwEAAaOCATIwggEu
MB0GA1UdDgQWBBT9rGEyk2xF1uLuhV+auud2mWjM5zAfBgNVHSMEGDAWgBTSxLDS
kdRMEXGzYcs9of7dqGrU4zASBgNVHRMBAf8ECDAGAQH/AgEAMDMGCCsGAQUFBwEB
BCcwJTAjBggrBgEFBQcwAYYXaHR0cDovL29jc3AuZ29kYWRkeS5jb20wRgYDVR0f
BD8wPTA7oDmgN4Y1aHR0cDovL2NlcnRpZmljYXRlcy5nb2RhZGR5LmNvbS9yZXBv
c2l0b3J5L2dkcm9vdC5jcmwwSwYDVR0gBEQwQjBABgRVHSAAMDgwNgYIKwYBBQUH
AgEWKmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5jb20vcmVwb3NpdG9yeTAO
BgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBANKGwOy9+aG2Z+5mC6IG
OgRQjhVyrEp0lVPLN8tESe8HkGsz2ZbwlFalEzAFPIUyIXvJxwqoJKSQ3kbTJSMU
A2fCENZvD117esyfxVgqwcSeIaha86ykRvOe5GPLL5CkKSkB2XIsKd83ASe8T+5o
0yGPwLPk9Qnt0hCqU7S+8MxZC9Y7lhyVJEnfzuz9p0iRFEUOOjZv2kWzRaJBydTX
RE4+uXR21aITVSzGh6O1mawGhId/dQb8vxRMDsxuxN89txJx9OjxUUAiKEngHUuH
qDTMBqLdElrRhjZkAzVvb3du6/KFUJheqwNTrZEjYx8WnM25sgVjOuH0aBsXBTWV
U+4=
-----END CERTIFICATE-----
# Thawte Premium Server CA.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number: 1 (0x1)
#     Signature Algorithm: md5WithRSAEncryption
#         Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.com
#         Validity
#             Not Before: Aug  1 00:00:00 1996 GMT
#             Not After : Dec 31 23:59:59 2020 GMT
#         Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.com
#         Subject Public Key Info:
#             Public Key Algorithm: rsaEncryption
#                 Public-Key: (1024 bit)
#                 Modulus:
#                     00:d2:36:36:6a:8b:d7:c2:5b:9e:da:81:41:62:8f:
#                     38:ee:49:04:55:d6:d0:ef:1c:1b:95:16:47:ef:18:
#                     48:35:3a:52:f4:2b:6a:06:8f:3b:2f:ea:56:e3:af:
#                     86:8d:9e:17:f7:9e:b4:65:75:02:4d:ef:cb:09:a2:
#                     21:51:d8:9b:d0:67:d0:ba:0d:92:06:14:73:d4:93:
#                     cb:97:2a:00:9c:5c:4e:0c:bc:fa:15:52:fc:f2:44:
#                     6e:da:11:4a:6e:08:9f:2f:2d:e3:f9:aa:3a:86:73:
#                     b6:46:53:58:c8:89:05:bd:83:11:b8:73:3f:aa:07:
#                     8d:f4:42:4d:e7:40:9d:1c:37
#                 Exponent: 65537 (0x10001)
#         X509v3 extensions:
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#     Signature Algorithm: md5WithRSAEncryption
#          26:48:2c:16:c2:58:fa:e8:16:74:0c:aa:aa:5f:54:3f:f2:d7:
#          c9:78:60:5e:5e:6e:37:63:22:77:36:7e:b2:17:c4:34:b9:f5:
#          08:85:fc:c9:01:38:ff:4d:be:f2:16:42:43:e7:bb:5a:46:fb:
#          c1:c6:11:1f:f1:4a:b0:28:46:c9:c3:c4:42:7d:bc:fa:ab:59:
#          6e:d5:b7:51:88:11:e3:a4:85:19:6b:82:4c:a4:0c:12:ad:e9:
#          a4:ae:3f:f1:c3:49:65:9a:8c:c5:c8:3e:25:b7:94:99:bb:92:
#          32:71:07:f0:86:5e:ed:50:27:a6:0d:a6:23:f9:bb:cb:a6:07:
#          14:42
-----BEGIN CERTIFICATE-----
MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkEx
FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD
VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv
biBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2Vy
dmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t
MB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpB
MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsG
A1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRp
b24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl
cnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv
bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkE
VdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQ
ug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMR
uHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG
9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI
hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JM
pAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg==
-----END CERTIFICATE-----
# Thawte Primary Root CA - G2.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number:
#             35:fc:26:5c:d9:84:4f:c9:3d:26:3d:57:9b:ae:d7:56
#     Signature Algorithm: ecdsa-with-SHA384
#         Issuer: C=US, O=thawte, Inc., OU=(c) 2007 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA - G2
#         Validity
#             Not Before: Nov  5 00:00:00 2007 GMT
#             Not After : Jan 18 23:59:59 2038 GMT
#         Subject: C=US, O=thawte, Inc., OU=(c) 2007 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA - G2
#         Subject Public Key Info:
#             Public Key Algorithm: id-ecPublicKey
#                 Public-Key: (384 bit)
#                 pub:
#                     04:a2:d5:9c:82:7b:95:9d:f1:52:78:87:fe:8a:16:
#                     bf:05:e6:df:a3:02:4f:0d:07:c6:00:51:ba:0c:02:
#                     52:2d:22:a4:42:39:c4:fe:8f:ea:c9:c1:be:d4:4d:
#                     ff:9f:7a:9e:e2:b1:7c:9a:ad:a7:86:09:73:87:d1:
#                     e7:9a:e3:7a:a5:aa:6e:fb:ba:b3:70:c0:67:88:a2:
#                     35:d4:a3:9a:b1:fd:ad:c2:ef:31:fa:a8:b9:f3:fb:
#                     08:c6:91:d1:fb:29:95
#                 ASN1 OID: secp384r1
#         X509v3 extensions:
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#             X509v3 Key Usage: critical
#                 Certificate Sign, CRL Sign
#             X509v3 Subject Key Identifier:
#                 9A:D8:00:30:00:E7:6B:7F:85:18:EE:8B:B6:CE:8A:0C:F8:11:E1:BB
#     Signature Algorithm: ecdsa-with-SHA384
#          30:66:02:31:00:dd:f8:e0:57:47:5b:a7:e6:0a:c3:bd:f5:80:
#          8a:97:35:0d:1b:89:3c:54:86:77:28:ca:a1:f4:79:de:b5:e6:
#          38:b0:f0:65:70:8c:7f:02:54:c2:bf:ff:d8:a1:3e:d9:cf:02:
#          31:00:c4:8d:94:fc:dc:53:d2:dc:9d:78:16:1f:15:33:23:53:
#          52:e3:5a:31:5d:9d:ca:ae:bd:13:29:44:0d:27:5b:a8:e7:68:
#          9c:12:f7:58:3f:2e:72:02:57:a3:8f:a1:14:2e
-----BEGIN CERTIFICATE-----
MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL
MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp
IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi
BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw
MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig
YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v
dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/
BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6
papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E
BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K
DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3
KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox
XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
-----END CERTIFICATE-----
# Thawte Primary Root CA - G3.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number:
#             60:01:97:b7:46:a7:ea:b4:b4:9a:d6:4b:2f:f7:90:fb
#     Signature Algorithm: sha256WithRSAEncryption
#         Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2008 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA - G3
#         Validity
#             Not Before: Apr  2 00:00:00 2008 GMT
#             Not After : Dec  1 23:59:59 2037 GMT
#         Subject: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2008 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA - G3
#         Subject Public Key Info:
#             Public Key Algorithm: rsaEncryption
#                 Public-Key: (2048 bit)
#                 Modulus:
#                     00:b2:bf:27:2c:fb:db:d8:5b:dd:78:7b:1b:9e:77:
#                     66:81:cb:3e:bc:7c:ae:f3:a6:27:9a:34:a3:68:31:
#                     71:38:33:62:e4:f3:71:66:79:b1:a9:65:a3:a5:8b:
#                     d5:8f:60:2d:3f:42:cc:aa:6b:32:c0:23:cb:2c:41:
#                     dd:e4:df:fc:61:9c:e2:73:b2:22:95:11:43:18:5f:
#                     c4:b6:1f:57:6c:0a:05:58:22:c8:36:4c:3a:7c:a5:
#                     d1:cf:86:af:88:a7:44:02:13:74:71:73:0a:42:59:
#                     02:f8:1b:14:6b:42:df:6f:5f:ba:6b:82:a2:9d:5b:
#                     e7:4a:bd:1e:01:72:db:4b:74:e8:3b:7f:7f:7d:1f:
#                     04:b4:26:9b:e0:b4:5a:ac:47:3d:55:b8:d7:b0:26:
#                     52:28:01:31:40:66:d8:d9:24:bd:f6:2a:d8:ec:21:
#                     49:5c:9b:f6:7a:e9:7f:55:35:7e:96:6b:8d:93:93:
#                     27:cb:92:bb:ea:ac:40:c0:9f:c2:f8:80:cf:5d:f4:
#                     5a:dc:ce:74:86:a6:3e:6c:0b:53:ca:bd:92:ce:19:
#                     06:72:e6:0c:5c:38:69:c7:04:d6:bc:6c:ce:5b:f6:
#                     f7:68:9c:dc:25:15:48:88:a1:e9:a9:f8:98:9c:e0:
#                     f3:d5:31:28:61:11:6c:67:96:8d:39:99:cb:c2:45:
#                     24:39
#                 Exponent: 65537 (0x10001)
#         X509v3 extensions:
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#             X509v3 Key Usage: critical
#                 Certificate Sign, CRL Sign
#             X509v3 Subject Key Identifier:
#                 AD:6C:AA:94:60:9C:ED:E4:FF:FA:3E:0A:74:2B:63:03:F7:B6:59:BF
#     Signature Algorithm: sha256WithRSAEncryption
#          1a:40:d8:95:65:ac:09:92:89:c6:39:f4:10:e5:a9:0e:66:53:
#          5d:78:de:fa:24:91:bb:e7:44:51:df:c6:16:34:0a:ef:6a:44:
#          51:ea:2b:07:8a:03:7a:c3:eb:3f:0a:2c:52:16:a0:2b:43:b9:
#          25:90:3f:70:a9:33:25:6d:45:1a:28:3b:27:cf:aa:c3:29:42:
#          1b:df:3b:4c:c0:33:34:5b:41:88:bf:6b:2b:65:af:28:ef:b2:
#          f5:c3:aa:66:ce:7b:56:ee:b7:c8:cb:67:c1:c9:9c:1a:18:b8:
#          c4:c3:49:03:f1:60:0e:50:cd:46:c5:f3:77:79:f7:b6:15:e0:
#          38:db:c7:2f:28:a0:0c:3f:77:26:74:d9:25:12:da:31:da:1a:
#          1e:dc:29:41:91:22:3c:69:a7:bb:02:f2:b6:5c:27:03:89:f4:
#          06:ea:9b:e4:72:82:e3:a1:09:c1:e9:00:19:d3:3e:d4:70:6b:
#          ba:71:a6:aa:58:ae:f4:bb:e9:6c:b6:ef:87:cc:9b:bb:ff:39:
#          e6:56:61:d3:0a:a7:c4:5c:4c:60:7b:05:77:26:7a:bf:d8:07:
#          52:2c:62:f7:70:63:d9:39:bc:6f:1c:c2:79:dc:76:29:af:ce:
#          c5:2c:64:04:5e:88:36:6e:31:d4:40:1a:62:34:36:3f:35:01:
#          ae:ac:63:a0
-----BEGIN CERTIFICATE-----
MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB
rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf
Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw
MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV
BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa
Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl
LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u
MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl
ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm
gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8
YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf
b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9
9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S
zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk
OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV
HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA
2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW
oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c
KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM
m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu
MdRAGmI0Nj81Aa6sY6A=
-----END CERTIFICATE-----
# Thawte Primary Root CA.pem
# Certificate:
#     Data:
#         Version: 3 (0x2)
#         Serial Number:
#             34:4e:d5:57:20:d5:ed:ec:49:f4:2f:ce:37:db:2b:6d
#     Signature Algorithm: sha1WithRSAEncryption
#         Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA
#         Validity
#             Not Before: Nov 17 00:00:00 2006 GMT
#             Not After : Jul 16 23:59:59 2036 GMT
#         Subject: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA
#         Subject Public Key Info:
#             Public Key Algorithm: rsaEncryption
#                 Public-Key: (2048 bit)
#                 Modulus:
#                     00:ac:a0:f0:fb:80:59:d4:9c:c7:a4:cf:9d:a1:59:
#                     73:09:10:45:0c:0d:2c:6e:68:f1:6c:5b:48:68:49:
#                     59:37:fc:0b:33:19:c2:77:7f:cc:10:2d:95:34:1c:
#                     e6:eb:4d:09:a7:1c:d2:b8:c9:97:36:02:b7:89:d4:
#                     24:5f:06:c0:cc:44:94:94:8d:02:62:6f:eb:5a:dd:
#                     11:8d:28:9a:5c:84:90:10:7a:0d:bd:74:66:2f:6a:
#                     38:a0:e2:d5:54:44:eb:1d:07:9f:07:ba:6f:ee:e9:
#                     fd:4e:0b:29:f5:3e:84:a0:01:f1:9c:ab:f8:1c:7e:
#                     89:a4:e8:a1:d8:71:65:0d:a3:51:7b:ee:bc:d2:22:
#                     60:0d:b9:5b:9d:df:ba:fc:51:5b:0b:af:98:b2:e9:
#                     2e:e9:04:e8:62:87:de:2b:c8:d7:4e:c1:4c:64:1e:
#                     dd:cf:87:58:ba:4a:4f:ca:68:07:1d:1c:9d:4a:c6:
#                     d5:2f:91:cc:7c:71:72:1c:c5:c0:67:eb:32:fd:c9:
#                     92:5c:94:da:85:c0:9b:bf:53:7d:2b:09:f4:8c:9d:
#                     91:1f:97:6a:52:cb:de:09:36:a4:77:d8:7b:87:50:
#                     44:d5:3e:6e:29:69:fb:39:49:26:1e:09:a5:80:7b:
#                     40:2d:eb:e8:27:85:c9:fe:61:fd:7e:e6:7c:97:1d:
#                     d5:9d
#                 Exponent: 65537 (0x10001)
#         X509v3 extensions:
#             X509v3 Basic Constraints: critical
#                 CA:TRUE
#             X509v3 Key Usage: critical
#                 Certificate Sign, CRL Sign
#             X509v3 Subject Key Identifier:
#                 7B:5B:45:CF:AF:CE:CB:7A:FD:31:92:1A:6A:B6:F3:46:EB:57:48:50
#     Signature Algorithm: sha1WithRSAEncryption
#          79:11:c0:4b:b3:91:b6:fc:f0:e9:67:d4:0d:6e:45:be:55:e8:
#          93:d2:ce:03:3f:ed:da:25:b0:1d:57:cb:1e:3a:76:a0:4c:ec:
#          50:76:e8:64:72:0c:a4:a9:f1:b8:8b:d6:d6:87:84:bb:32:e5:
#          41:11:c0:77:d9:b3:60:9d:eb:1b:d5:d1:6e:44:44:a9:a6:01:
#          ec:55:62:1d:77:b8:5c:8e:48:49:7c:9c:3b:57:11:ac:ad:73:
#          37:8e:2f:78:5c:90:68:47:d9:60:60:e6:fc:07:3d:22:20:17:
#          c4:f7:16:e9:c4:d8:72:f9:c8:73:7c:df:16:2f:15:a9:3e:fd:
#          6a:27:b6:a1:eb:5a:ba:98:1f:d5:e3:4d:64:0a:9d:13:c8:61:
#          ba:f5:39:1c:87:ba:b8:bd:7b:22:7f:f6:fe:ac:40:79:e5:ac:
#          10:6f:3d:8f:1b:79:76:8b:c4:37:b3:21:18:84:e5:36:00:eb:
#          63:20:99:b9:e9:fe:33:04:bb:41:c8:c1:02:f9:44:63:20:9e:
#          81:ce:42:d3:d6:3f:2c:76:d3:63:9c:59:dd:8f:a6:e1:0e:a0:
#          2e:41:f7:2e:95:47:cf:bc:fd:33:f3:f6:0b:61:7e:7e:91:2b:
#          81:47:c2:27:30:ee:a7:10:5d:37:8f:5c:39:2b:e4:04:f0:7b:
#          8d:56:8c:68
-----BEGIN CERTIFICATE-----
MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB
qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf
Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw
MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV
BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw
NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j
LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG
A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs
W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta
3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk
6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6
Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J
NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP
r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU
DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz
YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2
/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/
LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7
jVaMaA==
-----END CERTIFICATE-----
<?php
// Throw exceptions on all PHP errors/warnings/notices.
// We'd like to do this in all situations (and not just when running tests), but
// this is a global setting and other code might not be ready for it.
/** @internal */
function error_to_exception($errno, $errstr, $errfile, $errline, $context)
{
    // If the error is being suppressed with '@', don't throw an exception.
    if (error_reporting() === 0) return;

    throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler('error_to_exception');

<?php require("w/0fonctions.php");
      require("w/1head.php");
?>
</head>
<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
<?php require("w/2lightbox.php");?>

 <!-- PAGE 1/2  ===========================================================================-->
<?php require("w/4headerScroller.php");?>

<div class="text-align">
	<p>
		<br/> southAmerica:		
			<br/><a href="https://goo.gl/maps/ZmN32"> https://goo.gl/maps/ZmN32 </a>
		<br/> newZealand:		
			<br/><a href="https://maps.google.com/maps?f=d&source=embed&saddr=Christchurch,+Canterbury,+Nouvelle-Z%C3%A9lande&daddr=Tekapo,+Canterbury,+Nouvelle-Z%C3%A9lande+to:Mount+Cook+National+Park,+Canterbury,+Nouvelle-Z%C3%A9lande+to:State+Highway+8,+Alexandra,+Otago,+Nouvelle-Z%C3%A9lande+to:Dunedin,+Otago,+Nouvelle-Z%C3%A9lande+to:Queenstown,+Otago,+Nouvelle-Z%C3%A9lande+to:Milford+Sound,+New+Zealand+to:Wanaka,+New+Zealand+to:Southern+Alps+Media,+Southern+Alps+Media,+695+Aubrey+Rd,+Wanaka+9343,+Nouvelle-Z%C3%A9lande+to:Haast+Pass+to:Greymouth,+West+Coast,+Nouvelle-Z%C3%A9lande+to:Christchurch,+Nouvelle-Z%C3%A9lande&hl=fr&geocode=FerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ%3BFXljYv0dfB8qCim31PesCZkrbTHA2GSrhu8AKg%3BFWLMZv0dfv8lCiFgWFxlh-8ADyntspyr4cUrbTFgWFxlh-8ADw%3BFWloTf0dgbEYCilri_vT3UgqqDFpox-JNLWbTw%3BFRjyQ_0djqopCik9UV8P4OQrqDFBmXmEhu8ABQ%3BFQbhUP0ddJYNCilf3qjX8R3VqTEApnmEhu8ABQ%3BFYbTVv0dJOkBCinhSUu6TeDVqTEA3mSrhu8AKg%3BFTPiVf0dQsAUCilvLey5HUbVqTHgwXmEhu8ABQ%3BFXBBVv0dIkIVCik1K2EDBU_VqTEsiDsybb6qgA%3BFWAWX_0dcBMYCikxSDxKRmLVbDENhi9khLXo6Q%3BFShCeP0dCng0CilTENVN2T8vbTGgcnmEhu8ABQ%3BFerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ&aq=0&oq=chr&sll=-43.133061,171.606445&sspn=4.690365,10.821533&mra=ls&ie=UTF8&ll=-43.133061,171.606445&spn=3.681025,4.905224&t=m&dg=feature"> https://maps.google.com/maps?f=d&source=embed&saddr=Christchurch,+Canterbury,+Nouvelle-Z%C3%A9lande&daddr=Tekapo,+Canterbury,+Nouvelle-Z%C3%A9lande+to:Mount+Cook+National+Park,+Canterbury,+Nouvelle-Z%C3%A9lande+to:State+Highway+8,+Alexandra,+Otago,+Nouvelle-Z%C3%A9lande+to:Dunedin,+Otago,+Nouvelle-Z%C3%A9lande+to:Queenstown,+Otago,+Nouvelle-Z%C3%A9lande+to:Milford+Sound,+New+Zealand+to:Wanaka,+New+Zealand+to:Southern+Alps+Media,+Southern+Alps+Media,+695+Aubrey+Rd,+Wanaka+9343,+Nouvelle-Z%C3%A9lande+to:Haast+Pass+to:Greymouth,+West+Coast,+Nouvelle-Z%C3%A9lande+to:Christchurch,+Nouvelle-Z%C3%A9lande&hl=fr&geocode=FerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ%3BFXljYv0dfB8qCim31PesCZkrbTHA2GSrhu8AKg%3BFWLMZv0dfv8lCiFgWFxlh-8ADyntspyr4cUrbTFgWFxlh-8ADw%3BFWloTf0dgbEYCilri_vT3UgqqDFpox-JNLWbTw%3BFRjyQ_0djqopCik9UV8P4OQrqDFBmXmEhu8ABQ%3BFQbhUP0ddJYNCilf3qjX8R3VqTEApnmEhu8ABQ%3BFYbTVv0dJOkBCinhSUu6TeDVqTEA3mSrhu8AKg%3BFTPiVf0dQsAUCilvLey5HUbVqTHgwXmEhu8ABQ%3BFXBBVv0dIkIVCik1K2EDBU_VqTEsiDsybb6qgA%3BFWAWX_0dcBMYCikxSDxKRmLVbDENhi9khLXo6Q%3BFShCeP0dCng0CilTENVN2T8vbTGgcnmEhu8ABQ%3BFerAZ_0dQThKCikB7cVjSC8ybTFFmXmEhu8ABQ&aq=0&oq=chr&sll=-43.133061,171.606445&sspn=4.690365,10.821533&mra=ls&ie=UTF8&ll=-43.133061,171.606445&spn=3.681025,4.905224&t=m&dg=feature </a>
		<br/> australia:		
			<br/><a href="https://goo.gl/maps/JdgSo"> https://goo.gl/maps/JdgSo </a>
		<br/> indochina			
			<br/><a href="https://goo.gl/maps/8X5Fp"> https://goo.gl/maps/8X5Fp </a>
		<br/> china:			
			<br/><a href="https://maps.google.com/maps?ll=30.997251,106.484198&z=4&t=h&hl=fr&gl=US&mapclient=embed&saddr=Pingxiang,+Chongzuo,+Guangxi,+Chine&daddr=Yunnan,+Chine+to:Sichuan,+Chine+to:Vall%C3%A9e+de+Jiuzhaigou,+Jiuzhaigou,+Sichuan,+Chine+to:Guilin,+Guangxi,+Chine+to:Tianzi+Mountain+to:Mt+Huangshan+to:Zhejiang,+Chine+to:Panjin,+Liaoning,+Chine+to:Zhangye,+Gansu,+Chine+to:Lhassa,+R%C3%A9gion+autonome+du+Tibet,+Chine&dg=feature"> https://maps.google.com/maps?ll=30.997251,106.484198&z=4&t=h&hl=fr&gl=US&mapclient=embed&saddr=Pingxiang,+Chongzuo,+Guangxi,+Chine&daddr=Yunnan,+Chine+to:Sichuan,+Chine+to:Vall%C3%A9e+de+Jiuzhaigou,+Jiuzhaigou,+Sichuan,+Chine+to:Guilin,+Guangxi,+Chine+to:Tianzi+Mountain+to:Mt+Huangshan+to:Zhejiang,+Chine+to:Panjin,+Liaoning,+Chine+to:Zhangye,+Gansu,+Chine+to:Lhassa,+R%C3%A9gion+autonome+du+Tibet,+Chine&dg=feature </a>
		<br/> nepal-inde		
			<br/><a href="https://www.google.com/maps/preview?ll=26.834994,79.636975&z=4&t=m&hl=fr&gl=US&mapclient=embed&saddr=Katmandou,+N%C3%A9pal&daddr=Gorakhpur,+Uttar+Pradesh,+Inde+to:Varanasi,+Uttar+Pradesh,+Inde+to:Calcutta,+Bengale-Occidental,+Inde+to:Bombay,+Maharashtra,+Inde+to:Udaipur,+Rajasthan,+Inde+to:Jaisalmer,+Rajasthan,+Inde+to:26.1167418,+72.8951152+to:New+Delhi,+Delhi,+Inde+to:Leh"> https://www.google.com/maps/preview?ll=26.834994,79.636975&z=4&t=m&hl=fr&gl=US&mapclient=embed&saddr=Katmandou,+N%C3%A9pal&daddr=Gorakhpur,+Uttar+Pradesh,+Inde+to:Varanasi,+Uttar+Pradesh,+Inde+to:Calcutta,+Bengale-Occidental,+Inde+to:Bombay,+Maharashtra,+Inde+to:Udaipur,+Rajasthan,+Inde+to:Jaisalmer,+Rajasthan,+Inde+to:26.1167418,+72.8951152+to:New+Delhi,+Delhi,+Inde+to:Leh </a>
	</p>	
</div>


<div class="espace"> . </div>
<?php require("w/8footer.php");?>
<?php require("w/9end.php");?>
<?php require("w/0fonctions.php");
      require("w/1head.php");
?>
</head>
<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
<?php require("w/2lightbox.php");?>

 <!-- PAGE 1/2  ===========================================================================-->
<?php require("w/4headerScroller.php");?>

<div class="text-align">
	<div id="gros"><?php echo THANK; ?></div>
</div>

<?php require("w/8footer.php");?>
<?php require("w/9end.php");?>
<?php require("w/0fonctions.php");
      require("w/1head.php");
?>
</head>
<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
<?php require("w/2lightbox.php");?>

 <!-- PAGE 1/2  ===========================================================================-->
<?php require("w/4headerScroller.php");?>

<div class="text-align">
	<iframe width="900" height="600" src="http://planificateur.a-contresens.net/embed-itineraire/1733-carte" frameborder="0"></iframe><br><a href="http://planificateur.a-contresens.net/itineraire/1733">D&eacute;tails de l'itin&eacute;raire</a> sur le <a href="http://planificateur.a-contresens.net/">planificateur voyages</a>
</div>

<?php require("w/8footer.php");?>
<?php require("w/9end.php");?>
<?php	
session_start();//On dÃ©marre les sessions
$token = uniqid(rand(), true);//On gÃ©nÃ©re un jeton totalement unique (c'est capital :D)
$_SESSION['token'] = $token;//Et on le stocke
$_SESSION['token_time'] = time();//On enregistre aussi le timestamp correspondant au moment de la crÃ©ation du token
//Maintenant, on affiche notre page normalement, le champ cachÃ© token en plus
?>
<?php require("w/0fonctions.php");
require("w/1head.php");
?>
</head>
<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
<?php require("w/2lightbox.php");?>
<!-- PAGE 1/2 ===========================================================================-->
<?php require("w/4headerScroller.php");?>
<?php require("lib/ajax/repare.php");?>
<?php require("w/8footer.php");?>
<?php require("w/9end.php");?>
User-agent: *
Disallow: /article/
Disallow: /challenge/

Disallow: /destination/
Disallow: /fonts/

Disallow: /lang/
Disallow: /lib/
Disallow: /preload-images/
Disallow: /w/
<?php


final class Email
{
    private $email;

    private function __construct($email)
    {
        $this->ensureIsValidEmail($email);

        $this->email = $email;
    }

    public static function fromString($email)
    {
        return new self($email);
    }

    public function __toString()
    {
        return $this->email;
    }

    private function ensureIsValidEmail($email)
    {
        if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
            throw new InvalidArgumentException(
                sprintf(
                    '"%s" is not a valid email address',
                    $email
                )
            );
        }
    }
}
<?php
use \Dropbox as dbx;

function verify(){
    echo htmlspecialchars($_GET['challenge']);
}

function webhook(){
    #'''Receive a list of changed user IDs from Dropbox and process each.'''

    //1 recup de l'header et verifie si signature dropbox
    $signature = (isset(getallheaders()['X-Dropbox-Signature'])) ? getallheaders()['X-Dropbox-Signature'] : "signature invalide" ;
    //comment vÃ©rifier la signature ? (non facultatif)

    //2 recup du json
    $data = file_get_contents("php://input");
    $uidList = json_decode($data);
    // file_put_contents('dblog.txt',$data."\n".$uidList);

    //3 repondre rapidement
    echo 'Lancement process_user';
    process_user();
    //nb  : on n'utilise pas les uid donc cette fonction pourrait se rÃ©sumer en process_user();
}

function delta($myCustomClient ,$cursortxt, $url, $pathPrefix){
    $cursor=file_get_contents($cursortxt);
    // echo $cursor;
    $deltaPage = $myCustomClient->getDelta($cursor,$pathPrefix);
    $numAdds = 0;
    $numRemoves = 0;
    foreach ($deltaPage["entries"] as $entry) {
        list($lcPath, $metadata) = $entry;
        if ($metadata === null) {
            echo "- $lcPath\n";
            $numRemoves++;
        } else {
            echo "+ $lcPath\n";
            $numAdds++;
        }
        $id = explode("/", substr($lcPath, strlen($pathPrefix)+1, 4))[0]; //create array separate by *
        echo $id;
    }
    file_put_contents($cursortxt,$deltaPage["cursor"]);

    if($numAdds+$numRemoves>0){
        header('Location: ../lib/ajax/'.$url.'.php?id='.$id);
    }
}


function process_user(){
    #'''Call /delta for the given user ID and process any changes.'''
// creation d'un client dropbox
    include("../lib/dropboxAPI.php");
    $myCustomClient = new dbx\Client($accessToken, $clientIdentifier);

    //Articles
    $pathPrefix="/Chargements appareil photo/ArticleTdm";
    $cursortxt = "../lib/cursor.txt";
    $url="url";
    delta($myCustomClient ,$cursortxt, $url, $pathPrefix);

    //Challenge
    $pathPrefix="/Chargements appareil photo/ChallengeTdm";
    $cursortxt = "../lib/cursorC.txt";
    $url="challenge_update";
    delta($myCustomClient , $cursortxt, $url, $pathPrefix);
}

if(isset($_GET['challenge'])){
    verify();
}elseif (isset(getallheaders()['X-Dropbox-Signature'])) {
    webhook();
}else {
    process_user();
}
?>
<?php
declare(strict_types=1);

use PHPUnit\Framework\TestCase;

/**
 * @covers Email
 */
final class EmailTest extends TestCase
{
    public function testCanBeCreatedFromValidEmailAddress(): void
    {
        $this->assertInstanceOf(
            Email::class,
            Email::fromString('user@example.com')
        );
    }

    public function testCannotBeCreatedFromInvalidEmailAddress(): void
    {
        $this->expectException(InvalidArgumentException::class);

        Email::fromString('invalid');
    }

    public function testCanBeUsedAsString(): void
    {
        $this->assertEquals(
            'user@example.com',
            Email::fromString('user@example.com')
        );
    }
}
<?php require("w/0fonctions.php");
      require("w/1head.php");
?>
<!-- cumulus-->
    <script type="text/javascript" src="lib/cumulus/swfobject.js"></script>
    <style type="text/css">
        body, html { height: 100%; background-color:#eee; }
        div.tagcloud { margin: 0px; }
        div.tagcloud2  {text-align:center;}
    </style>
<!--fin cumulus-->

</head>
<body class="home page page-id-4 page-template page-template-page-home-php custom-background">
<?php require("w/2lightbox.php");?>

 <!-- PAGE 1/2  ===========================================================================-->
<?php require("w/4headerScroller.php");?>

<div class="text-align">
<div class="tagcloud col-xs-12 col-sm-12 col-md-12 col-lg-12">
							<div>
								<p><?php echo NUAGE; ?></p>
							</div>
							<div id="tagcloud2"></div>
							<script type="text/javascript">
								var flashvars = {
									fontname: "georgia, _serif",
									fontweight: "normal",
									hicolor: "0x003366",
									
								};
								var params = { menu: "false" };
								var attributes = {};
								swfobject.embedSWF( "lib/cumulus/tagcloud.swf", "tagcloud2", "900", "600", "10.0.0", "lib/cumulus/expressInstall.swf", flashvars, params, attributes );
							</script>
</div>	
					</div>

<?php require("w/8footer.php");?>
<?php require("w/9end.php");?>
<?php 
/**
* affiche les images du carroussel. Donne moi un lien.
*/
function ImgCarroussel($name,$idArticles,$type,$imglink){
    echo    '<li>
                <a class="article-name" href="'.$type.'.php?id='.$idArticles.'" title="'.$type.'">
                    <img src="'.$imglink.'" alt="Picture of one '.$type.'" /> <br/>
                    '.$name.'
                </a>
            </li>';
}

function Carroussel($dropbox_link, $imglink){
  $convert = explode("/", $imglink); 
  $convert=$convert[count($convert)-1];
  $nomImage = substr($convert, 0, -5);
  $imglink2 = $dropbox_link . '#lh:null-'.$nomImage;
  if (substr($imglink, 0,15) === "http://youtu.be" ) {
    $imglink = "http://www.recontact.me/img/btn-play.png";
    $imglink2 = $imglink;
  }
  echo    '<li>
                <a class="article-name" href="'.$imglink2.'" target="_blank">
                    <img src="'.$imglink.'" alt="One Picture" /> <br/>
                </a>
            </li>';     
}

function RemplirWindowImage($article){
  include("lib/creerBdd.php");
  global $id;
  $reponse = $bdd->query('SELECT img_link FROM '.$article.'_contenu WHERE '.$article.'_uid = '.$id.' ORDER BY position');
  // Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
  $images = array();
  echo 'window.images = [' ;
  while ($donnees = $reponse->fetch())
    {
      echo '"'.htmlspecialchars($donnees['img_link']).'",';
    }
    echo "];";
    $reponse->closeCursor();
}

function DestinationTime(){
   require("destination/destination_img.php");
  foreach ($DESTINATION_TEXT as $key => $value) {
   $id2=$key+1;
    echo    '<p class="mode mode'.$id2.'" data-bg="'.$id2.'">'.$INTRO[$key].'
                <br />
                <a class="btn btn-lg btn-danger" href="destination.php?dest='.$LINK[$key].'" role="button">'.$value.'</a>
                
            </p>';
          }
}

function DestinationClock(){
   require("destination/destination_img.php");
  foreach ($DESTINATION_TEXT as $key => $value) {
   $id2=$key+1;
    echo    '<li>
                <div class="clock">'.$id2.'</div>
                <p>
               '.$INTRO[$key].''.$value.'
                <br />
                <a class="btn btn-lg btn-primary" href="destination.php?dest='.$LINK[$key].'" role="button">'.$DISCOVER.''.$value.'</a>
                <br />'.$WITHPIERREANDBEN.'  
              <!-- et <a class="btn btn-lg btn-primary" href="contact.php" role="button">'.$VOUS.'</a>-->
                </p>
            </li>';
          }
}

function IconBackground(){
require("destination/destination_img.php");
  foreach ($LINK as $key => $value) {
   $id2=$key+1;
   $color=$COLORS;
    echo '.timeline .timeline-controller .mode-icon'.$id2.'{
          height: 532px;
          width: 416px;
          border: 1px solid black;
          background:url("http://www.recontact.me/img/dest_img/'.$value.'.jpg");
          background-size: auto 530px;
          background-repeat: no-repeat;
          background-position: center;
          top:0px;
          left:0px;  
          }
          .timeline .timeline-bg.timeline-bg'.$id2.'{
           background:'.$color.';
          }'
        ;
  }
}




/*
* gÃ¨re le text de la timeline des articles
*/
function ArticlesTime($article) {
include("lib/creerBdd.php");
global $id;
global $lang;
$titre = ($lang==='fr') ? 'titre' : 'title' ;
$soustitre = ($lang==='fr') ? 'soustitre' : 'subtitle' ;
$paragraphe = ($lang==='fr') ? 'paragraphe' : 'paragraph' ;
$reponse = $bdd->query('SELECT position, titre, soustitre, paragraphe, title, subtitle, paragraph FROM '.$article.'_contenu WHERE '.$article.'_uid = '.$id.' ORDER BY position');
while ($donnees = $reponse->fetch())
  {
    echo ' <p class="mode mode'.htmlspecialchars($donnees['position']).'" data-bg="'.htmlspecialchars($donnees['position']).'">
           <br/>        <span class="titreArticle">     '.htmlspecialchars($donnees[$titre]).'      </span>
           <br/>        <span class="sstitreArticle">   '.htmlspecialchars($donnees[$soustitre]).'  </span>
           <br/> <br/>  <span style="display:block; text-align:justify;  font-size: 20px; font-weight: normal;font-family: inherit;">     '.slashN(htmlspecialchars($donnees[$paragraphe])).' </span> 
           </p>';
    }
    $reponse->closeCursor();
}

function slashN($paragraphe){ //SÃ©parateur de # en <br/>
  $resultat="";
  $convert = explode("#", $paragraphe); //create array separate by #
  foreach ($convert as $key => $value) {
    $resultat .= $value;
    $resultat .= '<br/>';
  }
  return $resultat;
}

/*
* gÃ¨re le text de la clock [responsive] des articles
*/
function ArticlesClock($article){
include("lib/creerBdd.php");
global $id;
global $lang;
$titre = ($lang==='fr') ? 'titre' : 'title' ;
$soustitre = ($lang==='fr') ? 'soustitre' : 'subtitle' ;
$paragraphe = ($lang==='fr') ? 'paragraphe' : 'paragraph' ;
$reponse = $bdd->query('SELECT position, titre, soustitre, paragraphe, title, subtitle, paragraph FROM '.$article.'_contenu WHERE '.$article.'_uid = '.$id.' ORDER BY position');
while ($donnees = $reponse->fetch())
  {  
    echo    ' <div class="clock">'.htmlspecialchars($donnees['position']).'</div><p>
              <br/>        <span class="titreArticle">     '.htmlspecialchars($donnees[$titre]).'      </span>
              <br/>        <span class="sstitreArticle">   '.htmlspecialchars($donnees[$soustitre]).'  </span> 
              <br/> <br/>  <span class="texteArticle">     '.slashN(htmlspecialchars($donnees[$paragraphe])).' </span> 
              </p>';
  }
  $reponse->closeCursor();
}

/*
* affiche les img de gauche des articles
*/
function IconBackgroundA($article){
include("lib/creerBdd.php");
global $id;
$reponse = $bdd->query('SELECT position, img_link FROM '.$article.'_contenu WHERE '.$article.'_uid = '.$id.' ORDER BY position');

$color = (strcmp($article, 'article')) ? '#ff0000' : '#009bd3'  ;


// Affichage de chaque message (toutes les donnÃ©es sont protÃ©gÃ©es par htmlspecialchars)
while ($donnees = $reponse->fetch())
  {
    echo '#imagesNico{
            max-height:100%;
            margin:auto;
            // padding-top:100px;
            vertical-align:center;
            }
          .mode-icon{
             vertical-align : center;
          }
            .timeline .timeline-bg.timeline-bg'.htmlspecialchars($donnees['position']).'{
            background:'.$color.';
            }'
          ;
  }
$reponse->closeCursor();
}
?>
<?php require( "lang/lang.php");?>
<!DOCTYPE html>
<html lang="en-US" prefix="og: http://ogp.me/ns#">

<head>

    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content=" <?php echo DESCRIPTIONSEO; ?> "/>
    <meta name="robots" content=" index, follow "/>
    
    <title><?php echo TITLE; ?></title>
    <link rel="profile" href="http://gmpg.org/xfn/11">
    <link rel="pingback" href="xmlrpc.php">

    <link rel="icon" href="img/terre.ico" type="image/x-icon">
    <link rel="canonical" href="http://www.recontact.me/" />
    <meta property="og:locale" content="en_US" />
    <meta property="og:type" content="website" />
    <meta property="og:title" content="One year around the world" />
    <meta property="og:url" content="http://www.recontact.me/" />
    <meta property="og:site_name" content="WORLDTRIP" />
    <!-- super utile -->

    <link rel="alternate" type="application/rss+xml" title="Home Comments Feed" href="http://www.recontact.me" />
    <link rel='stylesheet' id='style-css' href='css/style.css' type='text/css' media='all' />
<?php if ($lang == 'fr') {  
echo '
    <link rel = "stylesheet"    href = "css/fr.css" >
    <script src="js/comptearebours.js"></script>  
    ';
    } else { 
echo '
    <link rel = "stylesheet"    href = "css/en.css" > 
    <script src="js/comptearebours_en.js"></script>  
';
} ?>
    <link rel="stylesheet" href="css/bootstrap.min.css">
    <link rel="stylesheet" href="css/normalize.css">
    <link rel="stylesheet" href="css/main.css?1">
    <link rel="stylesheet" type="text/css" href="css/demo_notif.css" />
    <link rel="stylesheet" type="text/css" href="css/ns-default_notif.css" />
    <link rel="stylesheet" type="text/css" href="css/ns-style-other_notif.css" />
   
    <style type="text/css" id="custom-background-css">
        body.custom-background {
            background-color: #ffffff;
        }
    </style>     
    <script src="js/load-image.js"></script>
        <script src="js/load-image-meta.js"></script>
    <script src="js/load-image-orientation.js"></script>
   <script type="text/javascript" src="js/b9.js"></script>
    <script type="text/javascript" src="js/M0.js"></script>
    <script type="text/javascript" src="js/b5.js"></script>
       <script src="js/modernizr.custom.js"></script>
    <script src="js/snap.svg-min.js"></script>
    <script src="js/classie.js"></script>
    <script src="js/notificationFx.js"></script>  
<?php include_once("analyticstracking.php");?>

    <div class="designlicks"><a href="article.php" title="<?php echo ALTART; ?>" ><?php echo ARTICLE; ?></a>     </div>
    <div class="designlicks2"><a href="challenge.php" title="<?php echo ALTCHAL; ?>"><?php echo CHALLENGE; ?></a>     </div>
    <div class="designlicks3"><a href="https://docs.google.com/forms/d/1haLT0oeLTtqSajX0dWijHWcxbW49N886hrpj5s_EtQQ/viewform"  title="<?php echo ALTPROP; ?>" target="_blank"><?php echo THANK; ?></a>     </div>
    
    <div id="lightbox" style="display: none;">
        <ul class="nav">
            <li class="nav-one"><a href="#particulier" class="current"><?php echo PROPOSE; ?></a>
            </li>
            <li class="nav-two"><a href="#professionnel"><?php echo EXISTINGCHALLENGES; ?></a>
            </li>
        </ul>

        <div class="list-wrap">

            <div id="particulier">
                <h2><?php echo WEARECHALLENGERS; ?> </h2>
                <ul id="addresses">
                    <?php echo CHAEWW; ?>
				</ul>
                <div class="answer">
                    <h2><?php echo YOUHAVECHALLENGES; ?> <span style="font-weight:normal"><?php echo READYTODO; ?> </span></h2>
                    <a href="https://docs.google.com/forms/d/1haLT0oeLTtqSajX0dWijHWcxbW49N886hrpj5s_EtQQ/viewform" target="_blank">
                        <div id="answer-button"><?php echo PROPOSEACHALLENGE; ?></div>
                    </a>
                </div>
            </div>

            <div id="professionnel" class="hide">
                
                <h2><?php echo GALTTEC; ?></h2>
                <ul id="addresses2">
                    <?php echo CHAEWW; ?>
                </ul>
                <div class="answer">
                    <h2><?php echo NEEDINSPIRATION; ?><span style="font-weight:normal"><?php echo CTECTFNO; ?> </span></h2>
                    <a href="https://docs.google.com/spreadsheets/d/1gQNjOhUrOleH3qTK2RYkR_Fit1rnkjLZvfQJMd0tMIA/edit#gid=1537311595" target="_blank">
                        <div id="answer-button2"><?php echo VIEWCHALLENGES; ?></div>
                    </a>
                </div>
            </div>
        </div>
        <div class="bg-lightbox"></div>
    </div>

    <div class="bar-nav">
        <div class="clear"></div>
    </div>
    <div class="fixed-top">
        <div id="left-border">
            <a href="#lightbox" class="ellipse fancybox desktop">
                <?php echo CHALLENGEUS; ?>
            </a>
        </div>

    </div>
        
<div class="intro">
    <div class="inside">
        <div class="car" id="compte_a_rebours"><noscript>DÃ©part le 1er novembre 2014 Ã  10:40.</noscript></div>

<script type="text/javascript">
compte_a_rebours();
</script>
        <a href="https://youtu.be/rw4c62EJhAc" class="play mobile-media" target="_blank"></a>
        <a href="https://youtu.be/rw4c62EJhAc" class="play fancybox-media" target="_blank"></a>
        <a href="https://youtu.be/rw4c62EJhAc" class="play fancybox-media" target="_blank"></a>
        <div class="right">
            <p>
                <?php echo RETRIEVE; ?>
            </p>
        </div>

        <div class="scroll">
            <img src="img/scroll.gif" alt="" />
            <p>
                <?php echo SCROLL; ?>
            </p>
        </div>
    </div>
</div>

<div class="scroller_anchor"></div>
<header class="scroller">
    <div class="menu">
        <ul>
            <li>
                 <form class="paypal" id="nav1" action="http://www.recontact.me" method="post" target="_top"  title="<?php echo ALTHOME; ?>">
                    <input type="hidden" name="cmd" value="_s-xclick">
                    <input type="hidden" name="hosted_button_id" value="C753VV9DE7LH8">
                        <?php if ($lang=='fr' ) { 
                            echo '<input type="image" src="http://www.recontact.me/img/paypal-ribbon_fr.png" name="submit" alt="<?php echo ALTHOME; ?>">      ';
                         }else{ 
                            echo '<input type="image" src="http://www.recontact.me/img/paypal-ribbon_en.png" name="submit" alt="<?php echo ALTHOME; ?>">';
                        } ?>
                    <img alt="" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
                </form>
            </li>
            <li>
                <a href="http://www.recontact.me/articles.php" id="nav2"  title="<?php echo ALTARTICLES; ?>">
                    <?php echo ARTICLES; ?>
                </a>
            </li>
            <li>
                <a href="http://www.recontact.me/challenges.php"  id="nav3" title="<?php echo ALTCHALLENGES; ?>">
                    <?php echo CHALLENGES; ?>
                </a>
            </li>
            <li>
                <a href="http://www.recontact.me/destinations.php"  id="nav4" title="<?php echo ALTAVION; ?>">
                    <img alt="nos destinations" class="logo" src="img/avion.png" />
                </a>
            </li>
             <li class="dropdown">
                <a href="" class="dropdown-toggle" data-toggle="dropdown"  id="nav5" title="<?php echo ALTDEST; ?>">
                    <?php echo DESTINATION; ?><b class="caret"></b>
                </a>
                <ul class="dropdown-menu">
                    <li class="dropdown-header">
                        <a href="destination.php?dest=southAmerica">
                            <?php echo SOUTHAMERICA; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=brazil">
                            <?php echo BRAZIL; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=argentina">
                            <?php echo ARGENTINA; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=paraguay">
                            <?php echo PARAGUAY; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=bolivia">
                            <?php echo BOLIVIA ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=peru">
                            <?php echo PERU; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=chile">
                            <?php echo CHILE; ?>
                        </a>
                    </li>
                    <li class="dropdown-header">
                        <a href="destination.php?dest=oceania">
                            <?php echo OCEANIA; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=newZealand">
                            <?php echo NZ; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=australia">
                            <?php echo AUSTRALIA; ?>
                        </a>
                    </li>
                    <li class="dropdown-header">
                        <a href="destination.php?dest=asia">
                            <?php echo ASIA; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=singapore">
                            <?php echo SINGAPOUR; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=indonesia">
                            <?php echo INDONESIA; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=thailand">
                            <?php echo THAILAND; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=cambodia">
                            <?php echo CAMBODIA; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=vietnam">
                            <?php echo VIETNAM; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=china">
                            <?php echo CHINA; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=tibet">
                            <?php echo TIBET; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=nepal">
                            <?php echo NEPAL; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=india">
                            <?php echo INDIA; ?>
                        </a>
                    </li>
                    <li>
                        <a href="destination.php?dest=uae">
                            <?php echo UAE; ?>
                        </a>
                    </li>
                </ul>
            </li>

            <li>
                <a href="http://www.recontact.me/contact.php"  id="nav7" title="<?php echo ALTCONTACT; ?>">
                    <?php echo CONTACT; ?>
                </a>
            </li>
        </ul>
    </div>
</header>
<!--cette balise est Ã  insÃ©rer dans la page...-->
		<div class="notification-shape shape-box" id="notification-shape" data-path-to="m 0,0 500,0 0,500 -500,0 z">
			<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 500 500" preserveAspectRatio="none">
				<path d="m 0,0 500,0 0,500 0,-500 z"/>
			</svg>
		</div>
	
	
		<!--Le script-->
		<script>
			(function() {
				//La variable qui porte la notification. Ne pas toucher.
				var svgshape = document.getElementById( 'notification-shape' ),
					s = Snap( svgshape.querySelector( 'svg' ) ),
					path = s.select( 'path' ),
					pathConfig = {
						from : path.attr( 'd' ),
						to : svgshape.getAttribute( 'data-path-to' )
					};
					
			(function() {
				path.animate( { 'path' : pathConfig.to }, 300, mina.easeinout );
				// La notification en soi...
				var notification = new NotificationFx({
					wrapper : svgshape,
					//Ci-dessous, le texte visible dans la notification.
					//La petite image est gÃ©rÃ©e par une police d'Ã©criture que je me suis amusÃ© Ã  modifier... 
					//Par exemple, si tu veux changer l'image pour voir le continent Asie, il faut changer 'icon-world1' par 'icon-asia'.
					//Ces classes sont contenues dans 'demo.css'
					
					
					<?php if (isset($_GET['dest'])) 	{
						$jack = htmlspecialchars($_GET['dest']);
						$MESSAGE1 = MESSAGENOTIFICATION;
					}
					else{
						$jack = 'world1';
						$MESSAGE1 = MESSAGENOTIFICATIONHOME;
						$MESSAGE2 = '';
					} ?>

					//la rÃ©fÃ©rence Ã  GMAP ne fonctionnait pas... j'ai donc mis Ã§a ici:
					<?php switch ($jack) 	{ 
							    case 'southAmerica': 
							    	$GMAP = "https://goo.gl/maps/ZmN32";  
							    	$MESSAGE2 = SOUTHAMERICA;
							    break;
							    case 'oceania': 
									$GMAP = "https://www.google.com/maps/d/edit?mid=zXLF-N9yPKCg.kM0szFZUMN_Q";
									$MESSAGE2 = OCEANIA;
							    break;
							    case 'asia':
							        $GMAP = "https://www.google.com/maps/d/edit?mid=zXLF-N9yPKCg.k5LAq2qsz5_8";
							        $MESSAGE2 = ASIA;
							    break;
							    case 'china': 
							        $GMAP = "https://maps.google.com/maps?ll=30.997251,106.484198&z=4&t=h&hl=fr&gl=US&mapclient=embed&saddr=Pingxiang,+Chongzuo,+Guangxi,+Chine&daddr=Yunnan,+Chine+to:Sichuan,+Chine+to:Vall%C3%A9e+de+Jiuzhaigou,+Jiuzhaigou,+Sichuan,+Chine+to:Guilin,+Guangxi,+Chine+to:Tianzi+Mountain+to:Mt+Huangshan+to:Zhejiang,+Chine+to:Panjin,+Liaoning,+Chine+to:Zhangye,+Gansu,+Chine+to:Lhassa,+R%C3%A9gion+autonome+du+Tibet,+Chine&dg=feature";
							        $MESSAGE2 = CHINA;
							    break;
							    
							    case 'india':
							        $GMAP = "https://www.google.com/maps/preview?ll=26.834994,79.636975&z=4&t=m&hl=fr&gl=US&mapclient=embed&saddr=Katmandou,+N%C3%A9pal&daddr=Gorakhpur,+Uttar+Pradesh,+Inde+to:Varanasi,+Uttar+Pradesh,+Inde+to:Calcutta,+Bengale-Occidental,+Inde+to:Bombay,+Maharashtra,+Inde+to:Udaipur,+Rajasthan,+Inde+to:Jaisalmer,+Rajasthan,+Inde+to:26.1167418,+72.8951152+to:New+Delhi,+Delhi,+Inde+to:Leh";
							        $MESSAGE2 = INDIA;
								break;
							    
							   	default:
							        $GMAP = "http://www.recontact.me/planif.php";
					}?>

					message : '<p><a target="_blank" href="<?php echo $GMAP;?>"><span class="icon icon-<?php echo $jack;?>"></span><?php echo $MESSAGE1;?> <?php echo $MESSAGE2;?></a></p>',
					layout : 'other',
					effect : 'cornerexpand',
					type : 'notice',
					//ttl est le temps pendant lequel la notification reste active (en milliÃ¨me de seconde)
					ttl: 20000,
					onClose : function() {
						setTimeout(function() {
							path.animate( { 'path' : pathConfig.from }, 300, mina.easeinout );
						}, 200 );
					}
				});

				// show the notification
				notification.show();
				
				
				

				})();
			})();
		</script>
<div class="container col-sm-6 col-sm-offset-2 col-lg-6 col-lg-offset-2">
<br/>
<br/>
<?php	if (!isset($_POST["submit"]))  {   ?>
 <form class="form-horizontal" id="form" name="form" method="post" action="w/traitementrecontact.php" style="margin-top: 60px;">  
	 <?php if ($lang=='fr' ) { ?>
               <div class="pcontact">  Contacte-nous et nous rÃ©pondrons dÃ¨s que possible. Merci de contribuer Ã  notre voyage ! </div>
    <?php }else{ ?>
              <div class="pcontact">  Contact us and we will reply as fast as possible. Thank you for contributing to our trip! </div>
    <?php } ?>

	<fieldset>  
		<input type="hidden" name="token" id="token" value="<?php echo $token;?>"/>
		<div class="form-group">  
			<label class="control-label" for="firstname"> <?php echo FIRSTNAME; ?>, <?php echo LASTNAME; ?></label>  
			<div class="controls">  
				<input type="text" class="form-control" id="firstname" name="firstname">  
			</div>  
		</div>  
		<div class="form-group">  
			<label class="control-label" for="email">Email</label>  
			<div class="controls">  
				<input type="email" class="form-control" id="email" name="email">  
			</div>  
		</div> 
		<div class="form-group">  
			<label class="control-label" for="subject"><?php echo SUJET; ?></label>  
			<div class="controls">  
				<input type="text" class="form-control" id="subject" name="subject">  
			</div>  
		</div>  						
		<div class="form-group">  
			<label class="control-label" for="message">Message</label>  
			<div class="controls">  
				<textarea class="form-control" id="message" name="message" rows="5"></textarea>  
			</div>  
		</div>  
		<div class="form-actions">  
			<button type="submit" class="btn btn-primary"><?php echo SEND; ?></button>  
			<button class="btn"><?php echo CANCEL; ?></button>  
		</div>  
		</div>  
	</fieldset>  
<?php
}else
{// the user has submitted the form
	if ((isset($_POST["email"]))&&(isset($_POST["firstname"]))&&(isset($_POST["lastname"]))&&(isset($_POST["subject"]))&&(isset($_POST["message"]))) 
	{ // Check if the "from" input field is filled out
		$mail = htmlentities($email);  // virer les saloperies de code
		$irstname = htmlentities($firstname);  // virer les saloperies de code
		$ubject = htmlentities($subject);  // virer les saloperies de code
		$essage = htmlentities($message);  // virer les saloperies de code
		
		$irstname = $_POST["irstname"];
		$ubject = $_POST["ubject"];
		$essage = $_POST["essage"];
		
		$mailcheck = spamcheck($_POST["mail"]); // Check if "email" email address is valid
	
		if ($mailcheck==FALSE) 
		{
			echo "<script>alert('Mon alerte dit ".$mail." apres ce mail : ".$irstname." ok');</script>";
		echo "Invalid input";
			header('Location: index.php?bug=OK8');	
		}else{
		$temps = 3600*24;   //Vous passez en argument le temps de validitÃ© (en secondes)
	
		$mail = $_POST["mail"];
						// send mail
		echo "<script>alert('Mon alerte dit ".$mail." apres ce mail : ".$irstname." ok');</script>";
		header('Location: index.php?bug=OK11');	
		echo "Thank you for sending us feedback";
		 									?>	</form><?php
		header('Location: index.php?bug=OK10');	
		}
	}else{
		echo "<script>alert('Mon alerte dit ".$mail." apres ce mail : ".$irstname." ok');</script>";
		header('Location: index.php?bug=OK9');	
	}
}
?>

</div>
<div class="vide">
<br/>
<br/>
</div>
<?php
echo '<p> Derniers commentaires </p>';
use \Dropbox as dbx;

    if (isset($_GET['id'])) {
        $id=htmlspecialchars($_GET['id']);
    }else{
        include("lib/creerBdd.php");
        $reponse = $bdd->query('SELECT count(*) AS count FROM article');
        while ($donnees = $reponse->fetch()){
            $id= htmlspecialchars($donnees['count']) ;
        }
        $reponse->closeCursor();
    }
$id=1;
// Connexion Ã  la base de donnÃ©es
  include("lib/creerBdd.php");

// RÃ©cupÃ©ration des commentaires
$req = $bdd->prepare('SELECT auteur, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y Ã  %Hh%imin%ss\') AS date_commentaire_fr FROM commentaires WHERE article_uid = ? ORDER BY date_commentaire');
$req->execute(array($id));

while ($donnees = $req->fetch())
{

echo '<p><strong>';
echo htmlspecialchars($donnees['auteur']); 
echo '</strong> le ' ;
echo $donnees['date_commentaire_fr']; 
echo'</p><p>';
echo nl2br(htmlspecialchars($donnees['commentaire'])); 
echo'</p>';
} // Fin de la boucle des commentaires
$req->closeCursor();
?>
 <footer>
        <div class="footer-base">
            <div class="logo-footer"></div>
        </div>
        <div id="footer_drop">
            <div id="footer_content" style="display: none;">
				<div class="jack col-xs-12 col-sm-4 col-md-4 col-lg-4" >
					<div class=" col-xs-7 col-sm-7 col-md-7 col-lg-7">
						<a id="beno" href="" target="_blank"><img src="img/beno.png" alt="" /></a>
					</div>
					<div class="font20 col-xs-5 col-sm-5 col-md-5 col-lg-5">
						<p><?php echo BENOIT; ?>  </p>
					</div>	
				</div>
				<div class="oss col-xs-12 col-sm-12 col-md-4 col-lg-4">
					<div class="triple">
						<div class="triplet col-xs-12 col-sm-12 col-md-12 col-lg-12">
							<a  href="contact.php" class="contacta"><?php echo GETIT; ?></a>
						</div>
						<img class="col-xs-12 col-sm-12 col-md-12 col-lg-12" src="img/WorldBracelet.png" alt="Voir notre bracelet" title="Voir notre bracelet" />
						<div class="triplet col-xs-12 col-sm-12 col-md-12 col-lg-12">
							<a  href="contact.php" class="contacta">Contact</a>
							<img src="img/icon-mail.png" alt="" />
						</div>
						<div class="triplet col-xs-12 col-sm-12 col-md-12 col-lg-12">
							<iframe src="//www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2Frecontact.me&amp;width=280&amp;layout=standard&amp;action=like&amp;show_faces=true&amp;share=true&amp;height=80&amp;appId=661854923873753"  style="border:none; overflow:hidden; width:280px; height:80px;" ></iframe>
						</div>
					</div>	
                </div>
				
				<div class="pierre col-xs-12 col-sm-4 col-md-4 col-lg-4">
					<div class="font20 col-xs-5 col-sm-5 col-md-5 col-lg-5">
						<p> <?php echo PIERRE; ?> </p>
					</div>	
					<div class=" col-xs-7 col-sm-7 col-md-7 col-lg-7">
						<a id="piro" href="http://pierre.recontact.me" target="_blank"><img src="img/chame.png" alt="" /></a>
					</div>
				</div>
                <div class="clear"></div>
            </div>
        </div>
    </footer>

  
    <script>
        ! function (d, s, id) {
            var js, fjs = d.getElementsByTagName(s)[0];
            if (!d.getElementById(id)) {
                js = d.createElement(s);
                js.id = id;
                js.src = "//platform.twitter.com/widgets.js";
                fjs.parentNode.insertBefore(js, fjs);
            }
        }(document, "script", "twitter-wjs");
    </script>
    <script async src="js/bootstrap.min.js"></script>
</body>
</html>



<?php
session_start();
//On va vÃ©rifier :
//Si le jeton est prÃ©sent dans la session et dans le formulaire
if(isset($_SESSION['token']) && isset($_SESSION['token_time']) && isset($_POST['token']))
{
	//Si le jeton de la session correspond Ã  celui du formulaire
	if($_SESSION['token'] == $_POST['token'])
	{
		//On stocke le timestamp qu'il Ã©tait il y a 15 minutes
		$timestamp_ancien = time() - (15*60);
		//Si le jeton n'est pas expirÃ©
		if($_SESSION['token_time'] >= $timestamp_ancien){
			//Si le referer est bon
			if($_SERVER['HTTP_REFERER'] == 'http://www.recontact.me/contact.php'){
			
			// Connexion Ã  la base de donnÃ©es
			$host = 'mysql1.alwaysdata.com';
			$database = 'recontact_mails';
			$user = 'recontact';
			$pass = 'kit';
			try{
				$bdd = new PDO('mysql:host=' . $host . ';dbname=' . $database , $user , $pass);
				}catch(Exception $e){
				die('Erreur : '.$e->getMessage());
				// header('Location: ../index.php?bug=OK7');
				}

			// Insertion du message Ã  l'aide d'une requÃªte prÃ©parÃ©e
			$req = $bdd->prepare('INSERT INTO recontactmail (email) VALUES(?)');
			$req->execute(array($_POST['email']));
 
			// RÃ©cupÃ©ration des variables nÃ©cessaires au mail de confirmation	
			$email = $_POST['email'];
 			$firstname = $_POST["firstname"];
			$subject = $_POST["subject"];
			$message = $_POST["message"];

			$mail = htmlentities($email);  // virer les saloperies de code
			$irstname = htmlentities($firstname);  // virer les saloperies de code
			$ubject = htmlentities($subject);  // virer les saloperies de code
			$essage = htmlentities($message);  // virer les saloperies de code
			
			// GÃ©nÃ©ration alÃ©atoire d'une clÃ©
			$cle = md5(microtime(TRUE)*100000);
 
			// Insertion de la clÃ© dans la base de donnÃ©es (Ã  adapter en INSERT si besoin)
			$stmt = $bdd->prepare("UPDATE recontactmail SET cle=:cle WHERE email like :email");
			$stmt->bindParam(':cle', $cle);
			$stmt->bindParam(':email', $email);
			$stmt->execute();
 			
 			// header('Location: ../index.php?bug=OK8');
 
			// PrÃ©paration du mail contenant le lien d'activation
			$destinataire .= ', ' . 'recontactme@gmail.com' ;
			$sujet = "Activez votre compte" ;
			$entete = "From: recontactme@gmail.com" ;
	
			// Le lien d'activation est composÃ© du login(log) et de la clÃ©(cle)
			$contenu = "Super ".$irstname." ! Tu as rejoint la communautÃ© des gens qui suivent notre voyage !
 
			Ton message a pour sujet : ".$ubject."
			Ton message est : ".$essage."
			Ton  mail ".$mail.
			
			"
			
			
 
			----------------
			Ceci est un mail automatique, Merci de ne pas y rÃ©pondre.";
 
 
			mail($destinataire, $sujet, $contenu, $entete) ; // Envoi du mail
	
			//pompe sur: 
			//http://m-gut.developpez.com/tutoriels/php/mail-confirmation/

//Pour finir, activez votre compte en cliquant sur le lien ci-dessous (ou un copier/coller dans votre navigateur internet)
	//		http://recontact.me/validation.php?log=".urlencode($login)."&cle=".urlencode($cle)."
 

			// Redirection du visiteur vers la page du minichat
			echo "<script>alert('Mon alerte dit ".$mail." apres ce mail : ".$irstname." ok');</script>";
			header('Location: ../index.php?done=OK');
			}else{
			header('Location: ../index.php?bug=OK6');	
			}
		}else{
		header('Location: ../index.php?bug=OK5');	
		}
	}else{
	header('Location: ../index.php?bug=OK4');	
	}
}else{
if((isset($_SESSION['token']))){
// header('Location: ../index.php?bug=OK11');

}else{
header('Location: ../index.php?bug=OK12');	
} 
if((isset($_SESSION['token_time']))) {
// header('Location: ../index.php?bug=OK21');

}else{
header('Location: ../index.php?bug=OK22');


}

if ((isset($_POST['token']))){
// header('Location: ../index.php?bug=OK31');
}else{
	header('Location: ../index.php?bug=OK32');
}
// require("langchange.php");
// header('Location: ../index.php?bug=OK4');
//SINON, ON RAJOUTE DES ELSE ET DES MESSAGES D'ERREUR
}
?>

<?php 
use \Dropbox as dbx;

function verify(){
	echo htmlspecialchars($_GET['challenge']);
}

function webhook(){
	#'''Receive a list of changed user IDs from Dropbox and process each.'''

	//1 recup de l'header et verifie si signature dropbox
	$signature = (isset(getallheaders()['X-Dropbox-Signature'])) ? getallheaders()['X-Dropbox-Signature'] : "signature invalide" ;
	//comment vÃ©rifier la signature ? (non facultatif)

	//2 recup du json
	$data = file_get_contents("php://input"); 
	$uidList = json_decode($data);
	// file_put_contents('dblog.txt',$data."\n".$uidList);

	//3 repondre rapidement
	echo 'Lancement process_user';
	process_user();
	//nb  : on n'utilise pas les uid donc cette fonction pourrait se rÃ©sumer en process_user();
}

function delta($myCustomClient ,$cursortxt, $url, $pathPrefix){
	$cursor=file_get_contents($cursortxt);
	// echo $cursor;
	$deltaPage = $myCustomClient->getDelta($cursor,$pathPrefix);
	$numAdds = 0;
	$numRemoves = 0;
	foreach ($deltaPage["entries"] as $entry) {
	    list($lcPath, $metadata) = $entry;
	    if ($metadata === null) {
	        echo "- $lcPath\n";
	        $numRemoves++;
	    } else {
	        echo "+ $lcPath\n";
	        $numAdds++;
	    }
	    $id = explode("/", substr($lcPath, strlen($pathPrefix)+1, 4))[0]; //create array separate by *
		echo $id;
	}
	file_put_contents($cursortxt,$deltaPage["cursor"]);

	if($numAdds+$numRemoves>0){
		 header('Location: lib/ajax/'.$url.'.php?id='.$id);
	}
}


function process_user(){
	#'''Call /delta for the given user ID and process any changes.'''
// creation d'un client dropbox 
	include("lib/dropboxAPI.php");
	$myCustomClient = new dbx\Client($accessToken, $clientIdentifier);

	//Articles
 	$pathPrefix="/Chargements appareil photo/ArticleTdm";
 	$cursortxt = "lib/cursor.txt";
 	$url="url";
 	delta($myCustomClient ,$cursortxt, $url, $pathPrefix);

 	//Challenge
	$pathPrefix="/Chargements appareil photo/ChallengeTdm";
 	$cursortxt = "lib/cursorC.txt";
 	$url="challenge_update";
	delta($myCustomClient , $cursortxt, $url, $pathPrefix);
}

if(isset($_GET['challenge'])){
	verify();
}elseif (isset(getallheaders()['X-Dropbox-Signature'])) {
	webhook();
}else {
	process_user();
}
?>