From 9d7165573a477002b159ad057e6dc91bbb83067f Mon Sep 17 00:00:00 2001
From: hjulienn <hanna.julienne@pasteur.fr>
Date: Thu, 9 Feb 2023 11:21:09 +0100
Subject: [PATCH] improve documentation

---
 README.md                                     |   5 +-
 .../_autosummary/jass_preprocessing.doctree   | Bin 71118 -> 71046 bytes
 .../doctrees/_autosummary/modules.doctree     | Bin 2805 -> 2743 bytes
 doc/_build/doctrees/environment.pickle        | Bin 65669 -> 56300 bytes
 doc/_build/doctrees/index.doctree             | Bin 123845 -> 74064 bytes
 doc/_build/html/.buildinfo                    |   2 +-
 .../html/_autosummary/jass_preprocessing.html |  36 +-
 doc/_build/html/_autosummary/modules.html     |  56 +-
 doc/_build/html/_modules/index.html           |   6 +-
 .../jass_preprocessing/compute_score.html     |  22 +-
 .../_modules/jass_preprocessing/map_gwas.html |  33 +-
 .../jass_preprocessing/map_reference.html     |  27 +-
 .../jass_preprocessing/save_output.html       |  20 +-
 doc/_build/html/_sources/index.rst.txt        |  94 +-
 doc/_build/html/_static/basic.css             |  19 +-
 doc/_build/html/_static/doctools.js           | 381 +++++---
 .../html/_static/documentation_options.js     |   6 +-
 doc/_build/html/_static/jquery.js             |   4 +-
 doc/_build/html/_static/pygments.css          |  10 +-
 doc/_build/html/_static/searchtools.js        | 826 +++++++++---------
 doc/_build/html/genindex.html                 |   6 +-
 doc/_build/html/index.html                    | 168 ++--
 doc/_build/html/py-modindex.html              |   6 +-
 doc/_build/html/search.html                   |   6 +-
 doc/_build/html/searchindex.js                |   2 +-
 doc/source/index.rst                          |  53 +-
 26 files changed, 993 insertions(+), 795 deletions(-)

diff --git a/README.md b/README.md
index 4f48bce..91639de 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
 # Preprocessing package for cleaning and formating data for JASS
 
 This helper package convert heterogeneous GWAS summary statistic format to
-the IMPG input format.
+the JASS input format. Notably, this package realign GWAS summary statistic to a reference panel.
 
-The package is documented at http://statistical-genetics.pages.pasteur.fr/jass_preprocessing/
\ No newline at end of file
+
+The **full package** documentation is available at http://statistical-genetics.pages.pasteur.fr/jass_preprocessing/
\ No newline at end of file
diff --git a/doc/_build/doctrees/_autosummary/jass_preprocessing.doctree b/doc/_build/doctrees/_autosummary/jass_preprocessing.doctree
index 60825b9ca8e299287ff7e2cf7a82cc7ea7fcd170..a3038fa2363c0c699f791e0db09026635ff6cd53 100644
GIT binary patch
literal 71046
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

literal 71118
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
Q2%4yp3n8p+u4HEaFIDGGasU7T

diff --git a/doc/_build/doctrees/_autosummary/modules.doctree b/doc/_build/doctrees/_autosummary/modules.doctree
index 97ce28a38448b98831cdc61717cd5c891c9a44a9..bd7caba23464d99ac6091ad80935f8238a2ba9e0 100644
GIT binary patch
delta 87
zcmew=x?Pl|fpzMdjVvDQ3JMt|B?ZM+`ugSN<$48`B^mj7dih1^`YEYp`UR;4#gkLm
j-Nj{Kic0eHbBgscQ%ll7iYA|7zcP6{hwf%h&NqwzUu_@T

delta 149
zcmdlk`c;&rfpzMujVvDQ5)v6DB?ZM+`uYW_1;u&=l_eSZd3yOp>63HV-4)efk|~KL
zi6upe$=RtzdYP#uX&@E)Df!8hPqAMS<IT)XOizu^$xlql%uAor!;+Jkmpx_jTn;@I
o!Q#~9lFa<P_~O)@w0N+1XAe(mZc=JWJXlxpl+MkkINmY>03&@lFaQ7m

diff --git a/doc/_build/doctrees/environment.pickle b/doc/_build/doctrees/environment.pickle
index fd9a4b29bf43a3f9fab77f5e84507a48a73297ef..d30175bc9853ee5fd8d403b9b674c3f5ec83c1fe 100644
GIT binary patch
literal 56300
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

literal 65669
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

diff --git a/doc/_build/doctrees/index.doctree b/doc/_build/doctrees/index.doctree
index baa64bcc66b50ee5eec7f9081789c4bd60a1c450..c1697f1f00047d0995235d03d9c4dd1378a9b0aa 100644
GIT binary patch
literal 74064
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

literal 123845
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

diff --git a/doc/_build/html/.buildinfo b/doc/_build/html/.buildinfo
index a88da0e..583cbdd 100644
--- a/doc/_build/html/.buildinfo
+++ b/doc/_build/html/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 44f0b0a404ac943c811b6f5e7575e3b2
+config: d5740f9f0327be3cbaf9ed1c738013ef
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/doc/_build/html/_autosummary/jass_preprocessing.html b/doc/_build/html/_autosummary/jass_preprocessing.html
index 887dca5..1f7f565 100644
--- a/doc/_build/html/_autosummary/jass_preprocessing.html
+++ b/doc/_build/html/_autosummary/jass_preprocessing.html
@@ -14,9 +14,7 @@
         <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
         <script src="../_static/jquery.js"></script>
         <script src="../_static/underscore.js"></script>
-        <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
         <script src="../_static/doctools.js"></script>
-        <script src="../_static/sphinx_highlight.js"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" /> 
@@ -37,7 +35,17 @@
   </form>
 </div>
         </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
-              <ul>
+              <p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../index.html">Welcome to jass_preprocessing’s documentation!</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html#what-is-jass-preprocessing">What is jass preprocessing ?</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html#overview">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html#installation">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html#input">Input</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html#command-line-usage-example">Command line usage example:</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html#indices-and-tables">Indices and tables</a></li>
+</ul>
+<ul>
 <li class="toctree-l1"><a class="reference internal" href="jass_preprocessing.map_gwas.html">jass_preprocessing.map_gwas</a></li>
 <li class="toctree-l1"><a class="reference internal" href="jass_preprocessing.dna_utils.html">jass_preprocessing.dna_utils</a></li>
 <li class="toctree-l1"><a class="reference internal" href="jass_preprocessing.map_reference.html">jass_preprocessing.map_reference</a></li>
@@ -58,8 +66,8 @@
         <div class="rst-content">
           <div role="navigation" aria-label="Page navigation">
   <ul class="wy-breadcrumbs">
-      <li><a href="../index.html" class="icon icon-home"></a></li>
-      <li class="breadcrumb-item active">jass_preprocessing package</li>
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+      <li>jass_preprocessing package</li>
       <li class="wy-breadcrumbs-aside">
             <a href="../_sources/_autosummary/jass_preprocessing.rst.txt" rel="nofollow"> View page source</a>
       </li>
@@ -70,12 +78,12 @@
            <div itemprop="articleBody">
              
   <section id="jass-preprocessing-package">
-<h1>jass_preprocessing package<a class="headerlink" href="#jass-preprocessing-package" title="Permalink to this heading"></a></h1>
+<h1>jass_preprocessing package<a class="headerlink" href="#jass-preprocessing-package" title="Permalink to this headline"></a></h1>
 <section id="submodules">
-<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this heading"></a></h2>
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline"></a></h2>
 </section>
 <section id="module-jass_preprocessing.compute_score">
-<span id="jass-preprocessing-compute-score-module"></span><h2>jass_preprocessing.compute_score module<a class="headerlink" href="#module-jass_preprocessing.compute_score" title="Permalink to this heading"></a></h2>
+<span id="jass-preprocessing-compute-score-module"></span><h2>jass_preprocessing.compute_score module<a class="headerlink" href="#module-jass_preprocessing.compute_score" title="Permalink to this headline"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="jass_preprocessing.compute_score.compute_sample_size">
 <span class="sig-prename descclassname"><span class="pre">jass_preprocessing.compute_score.</span></span><span class="sig-name descname"><span class="pre">compute_sample_size</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mgwas</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">diagnostic_folder</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">trait</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">perSS</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.7</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/compute_score.html#compute_sample_size"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#jass_preprocessing.compute_score.compute_sample_size" title="Permalink to this definition"></a></dt>
@@ -90,7 +98,7 @@ add the corresponding column to the mgwas dataframe</p>
 
 </section>
 <section id="module-jass_preprocessing.dna_utils">
-<span id="jass-preprocessing-dna-utils-module"></span><h2>jass_preprocessing.dna_utils module<a class="headerlink" href="#module-jass_preprocessing.dna_utils" title="Permalink to this heading"></a></h2>
+<span id="jass-preprocessing-dna-utils-module"></span><h2>jass_preprocessing.dna_utils module<a class="headerlink" href="#module-jass_preprocessing.dna_utils" title="Permalink to this headline"></a></h2>
 <p>Few fonction to to compute DNA complement</p>
 <dl class="py function">
 <dt class="sig sig-object py" id="jass_preprocessing.dna_utils.dna_complement">
@@ -104,7 +112,7 @@ add the corresponding column to the mgwas dataframe</p>
 
 </section>
 <section id="module-jass_preprocessing.map_gwas">
-<span id="jass-preprocessing-map-gwas-module"></span><h2>jass_preprocessing.map_gwas module<a class="headerlink" href="#module-jass_preprocessing.map_gwas" title="Permalink to this heading"></a></h2>
+<span id="jass-preprocessing-map-gwas-module"></span><h2>jass_preprocessing.map_gwas module<a class="headerlink" href="#module-jass_preprocessing.map_gwas" title="Permalink to this headline"></a></h2>
 <p>Map GWAS</p>
 <p>A set of functions to find GWAS files in subfolder and
 to map columns</p>
@@ -192,7 +200,7 @@ column_map and rename columns according to column_map.index</p>
 
 </section>
 <section id="module-jass_preprocessing.map_reference">
-<span id="jass-preprocessing-map-reference-module"></span><h2>jass_preprocessing.map_reference module<a class="headerlink" href="#module-jass_preprocessing.map_reference" title="Permalink to this heading"></a></h2>
+<span id="jass-preprocessing-map-reference-module"></span><h2>jass_preprocessing.map_reference module<a class="headerlink" href="#module-jass_preprocessing.map_reference" title="Permalink to this headline"></a></h2>
 <p>Module of function</p>
 <dl class="py function">
 <dt class="sig sig-object py" id="jass_preprocessing.map_reference.compute_is_aligned">
@@ -283,7 +291,7 @@ Make sure that the same SNPs are in the reference panel and the gwas</p>
 
 </section>
 <section id="module-jass_preprocessing.save_output">
-<span id="jass-preprocessing-save-output-module"></span><h2>jass_preprocessing.save_output module<a class="headerlink" href="#module-jass_preprocessing.save_output" title="Permalink to this heading"></a></h2>
+<span id="jass-preprocessing-save-output-module"></span><h2>jass_preprocessing.save_output module<a class="headerlink" href="#module-jass_preprocessing.save_output" title="Permalink to this headline"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="jass_preprocessing.save_output.save_output">
 <span class="sig-prename descclassname"><span class="pre">jass_preprocessing.save_output.</span></span><span class="sig-name descname"><span class="pre">save_output</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mgwas</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ImpG_output_Folder</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">my_study</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/save_output.html#save_output"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#jass_preprocessing.save_output.save_output" title="Permalink to this definition"></a></dt>
@@ -298,8 +306,8 @@ Make sure that the same SNPs are in the reference panel and the gwas</p>
 
 </section>
 <section id="module-jass_preprocessing">
-<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-jass_preprocessing" title="Permalink to this heading"></a></h2>
-<table class="autosummary longtable docutils align-default">
+<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-jass_preprocessing" title="Permalink to this headline"></a></h2>
+<table class="longtable docutils align-default">
 <colgroup>
 <col style="width: 10%" />
 <col style="width: 90%" />
diff --git a/doc/_build/html/_autosummary/modules.html b/doc/_build/html/_autosummary/modules.html
index 10c9aaa..07bd8c7 100644
--- a/doc/_build/html/_autosummary/modules.html
+++ b/doc/_build/html/_autosummary/modules.html
@@ -14,9 +14,7 @@
         <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
         <script src="../_static/jquery.js"></script>
         <script src="../_static/underscore.js"></script>
-        <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
         <script src="../_static/doctools.js"></script>
-        <script src="../_static/sphinx_highlight.js"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" /> 
@@ -37,7 +35,17 @@
   </form>
 </div>
         </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
-              <ul>
+              <p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../index.html">Welcome to jass_preprocessing’s documentation!</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html#what-is-jass-preprocessing">What is jass preprocessing ?</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html#overview">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html#installation">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html#input">Input</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html#command-line-usage-example">Command line usage example:</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html#indices-and-tables">Indices and tables</a></li>
+</ul>
+<ul>
 <li class="toctree-l1"><a class="reference internal" href="jass_preprocessing.map_gwas.html">jass_preprocessing.map_gwas</a></li>
 <li class="toctree-l1"><a class="reference internal" href="jass_preprocessing.dna_utils.html">jass_preprocessing.dna_utils</a></li>
 <li class="toctree-l1"><a class="reference internal" href="jass_preprocessing.map_reference.html">jass_preprocessing.map_reference</a></li>
@@ -58,8 +66,8 @@
         <div class="rst-content">
           <div role="navigation" aria-label="Page navigation">
   <ul class="wy-breadcrumbs">
-      <li><a href="../index.html" class="icon icon-home"></a></li>
-      <li class="breadcrumb-item active">jass_preprocessing</li>
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+      <li>jass_preprocessing</li>
       <li class="wy-breadcrumbs-aside">
             <a href="../_sources/_autosummary/modules.rst.txt" rel="nofollow"> View page source</a>
       </li>
@@ -70,42 +78,16 @@
            <div itemprop="articleBody">
              
   <section id="jass-preprocessing">
-<h1>jass_preprocessing<a class="headerlink" href="#jass-preprocessing" title="Permalink to this heading"></a></h1>
+<h1>jass_preprocessing<a class="headerlink" href="#jass-preprocessing" title="Permalink to this headline"></a></h1>
 <div class="toctree-wrapper compound">
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="jass_preprocessing.html">jass_preprocessing package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#submodules">Submodules</a></li>
-<li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing.compute_score">jass_preprocessing.compute_score module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.compute_score.compute_sample_size"><code class="docutils literal notranslate"><span class="pre">compute_sample_size()</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.compute_score.compute_z_score"><code class="docutils literal notranslate"><span class="pre">compute_z_score()</span></code></a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing.dna_utils">jass_preprocessing.dna_utils module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.dna_utils.dna_complement"><code class="docutils literal notranslate"><span class="pre">dna_complement()</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.dna_utils.dna_complement_base"><code class="docutils literal notranslate"><span class="pre">dna_complement_base()</span></code></a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing.map_gwas">jass_preprocessing.map_gwas module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.map_gwas.convert_missing_values"><code class="docutils literal notranslate"><span class="pre">convert_missing_values()</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.map_gwas.gwas_internal_link"><code class="docutils literal notranslate"><span class="pre">gwas_internal_link()</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.map_gwas.map_columns_position"><code class="docutils literal notranslate"><span class="pre">map_columns_position()</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.map_gwas.read_gwas"><code class="docutils literal notranslate"><span class="pre">read_gwas()</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.map_gwas.walkfs"><code class="docutils literal notranslate"><span class="pre">walkfs()</span></code></a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing.map_reference">jass_preprocessing.map_reference module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.map_reference.compute_is_aligned"><code class="docutils literal notranslate"><span class="pre">compute_is_aligned()</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.map_reference.compute_is_flipped"><code class="docutils literal notranslate"><span class="pre">compute_is_flipped()</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.map_reference.compute_snp_alignement"><code class="docutils literal notranslate"><span class="pre">compute_snp_alignement()</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.map_reference.map_on_ref_panel"><code class="docutils literal notranslate"><span class="pre">map_on_ref_panel()</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.map_reference.read_reference"><code class="docutils literal notranslate"><span class="pre">read_reference()</span></code></a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing.save_output">jass_preprocessing.save_output module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.save_output.save_output"><code class="docutils literal notranslate"><span class="pre">save_output()</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="jass_preprocessing.html#jass_preprocessing.save_output.save_output_by_chromosome"><code class="docutils literal notranslate"><span class="pre">save_output_by_chromosome()</span></code></a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing.compute_score">jass_preprocessing.compute_score module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing.dna_utils">jass_preprocessing.dna_utils module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing.map_gwas">jass_preprocessing.map_gwas module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing.map_reference">jass_preprocessing.map_reference module</a></li>
+<li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing.save_output">jass_preprocessing.save_output module</a></li>
 <li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing">Module contents</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="_autosummary/jass_preprocessing.map_gwas.html">jass_preprocessing.map_gwas</a></li>
 <li class="toctree-l3"><a class="reference internal" href="_autosummary/jass_preprocessing.dna_utils.html">jass_preprocessing.dna_utils</a></li>
diff --git a/doc/_build/html/_modules/index.html b/doc/_build/html/_modules/index.html
index d3bad4d..d15b04e 100644
--- a/doc/_build/html/_modules/index.html
+++ b/doc/_build/html/_modules/index.html
@@ -13,9 +13,7 @@
         <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
         <script src="../_static/jquery.js"></script>
         <script src="../_static/underscore.js"></script>
-        <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
         <script src="../_static/doctools.js"></script>
-        <script src="../_static/sphinx_highlight.js"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" /> 
@@ -67,8 +65,8 @@
         <div class="rst-content">
           <div role="navigation" aria-label="Page navigation">
   <ul class="wy-breadcrumbs">
-      <li><a href="../index.html" class="icon icon-home"></a></li>
-      <li class="breadcrumb-item active">Overview: module code</li>
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+      <li>Overview: module code</li>
       <li class="wy-breadcrumbs-aside">
       </li>
   </ul>
diff --git a/doc/_build/html/_modules/jass_preprocessing/compute_score.html b/doc/_build/html/_modules/jass_preprocessing/compute_score.html
index 75dd0d9..80696cb 100644
--- a/doc/_build/html/_modules/jass_preprocessing/compute_score.html
+++ b/doc/_build/html/_modules/jass_preprocessing/compute_score.html
@@ -13,9 +13,7 @@
         <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
         <script src="../../_static/jquery.js"></script>
         <script src="../../_static/underscore.js"></script>
-        <script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
         <script src="../../_static/doctools.js"></script>
-        <script src="../../_static/sphinx_highlight.js"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -36,7 +34,17 @@
   </form>
 </div>
         </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
-              <ul>
+              <p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Welcome to jass_preprocessing’s documentation!</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#what-is-jass-preprocessing">What is jass preprocessing ?</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#overview">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#installation">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#input">Input</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#command-line-usage-example">Command line usage example:</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#indices-and-tables">Indices and tables</a></li>
+</ul>
+<ul>
 <li class="toctree-l1"><a class="reference internal" href="../../_autosummary/jass_preprocessing.map_gwas.html">jass_preprocessing.map_gwas</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../_autosummary/jass_preprocessing.dna_utils.html">jass_preprocessing.dna_utils</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../_autosummary/jass_preprocessing.map_reference.html">jass_preprocessing.map_reference</a></li>
@@ -57,9 +65,9 @@
         <div class="rst-content">
           <div role="navigation" aria-label="Page navigation">
   <ul class="wy-breadcrumbs">
-      <li><a href="../../index.html" class="icon icon-home"></a></li>
-          <li class="breadcrumb-item"><a href="../index.html">Module code</a></li>
-      <li class="breadcrumb-item active">jass_preprocessing.compute_score</li>
+      <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
+          <li><a href="../index.html">Module code</a> &raquo;</li>
+      <li>jass_preprocessing.compute_score</li>
       <li class="wy-breadcrumbs-aside">
       </li>
   </ul>
@@ -122,7 +130,7 @@
         <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">&quot;Some snp had an infinite sample size&quot;</span><span class="p">)</span>
 
     <span class="n">myW_thres</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">percentile</span><span class="p">(</span><span class="n">myN</span><span class="o">.</span><span class="n">dropna</span><span class="p">(),</span> <span class="mi">90</span><span class="p">)</span>
-    <span class="n">ss_thres</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">perSS</span><span class="p">)</span> <span class="o">*</span> <span class="n">myW_thres</span>
+    <span class="n">ss_thres</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">double</span><span class="p">(</span><span class="n">perSS</span><span class="p">)</span> <span class="o">*</span> <span class="n">myW_thres</span>
     <span class="n">mgwas</span><span class="p">[</span><span class="s2">&quot;computed_N&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">myN</span>
     <span class="n">plt</span><span class="o">.</span><span class="n">clf</span><span class="p">()</span>
     <span class="n">p1</span> <span class="o">=</span> <span class="n">sns</span><span class="o">.</span><span class="n">distplot</span><span class="p">(</span><span class="n">mgwas</span><span class="o">.</span><span class="n">computed_N</span><span class="p">[</span><span class="o">~</span><span class="n">mgwas</span><span class="o">.</span><span class="n">computed_N</span><span class="o">.</span><span class="n">isna</span><span class="p">()])</span>
diff --git a/doc/_build/html/_modules/jass_preprocessing/map_gwas.html b/doc/_build/html/_modules/jass_preprocessing/map_gwas.html
index 79620a5..d190e89 100644
--- a/doc/_build/html/_modules/jass_preprocessing/map_gwas.html
+++ b/doc/_build/html/_modules/jass_preprocessing/map_gwas.html
@@ -13,9 +13,7 @@
         <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
         <script src="../../_static/jquery.js"></script>
         <script src="../../_static/underscore.js"></script>
-        <script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
         <script src="../../_static/doctools.js"></script>
-        <script src="../../_static/sphinx_highlight.js"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -36,7 +34,17 @@
   </form>
 </div>
         </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
-              <ul>
+              <p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Welcome to jass_preprocessing’s documentation!</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#what-is-jass-preprocessing">What is jass preprocessing ?</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#overview">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#installation">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#input">Input</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#command-line-usage-example">Command line usage example:</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#indices-and-tables">Indices and tables</a></li>
+</ul>
+<ul>
 <li class="toctree-l1"><a class="reference internal" href="../../_autosummary/jass_preprocessing.map_gwas.html">jass_preprocessing.map_gwas</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../_autosummary/jass_preprocessing.dna_utils.html">jass_preprocessing.dna_utils</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../_autosummary/jass_preprocessing.map_reference.html">jass_preprocessing.map_reference</a></li>
@@ -57,9 +65,9 @@
         <div class="rst-content">
           <div role="navigation" aria-label="Page navigation">
   <ul class="wy-breadcrumbs">
-      <li><a href="../../index.html" class="icon icon-home"></a></li>
-          <li class="breadcrumb-item"><a href="../index.html">Module code</a></li>
-      <li class="breadcrumb-item active">jass_preprocessing.map_gwas</li>
+      <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
+          <li><a href="../index.html">Module code</a> &raquo;</li>
+      <li>jass_preprocessing.map_gwas</li>
       <li class="wy-breadcrumbs-aside">
       </li>
   </ul>
@@ -217,12 +225,13 @@
     <span class="n">fullGWAS</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="n">gwas_internal_link</span><span class="p">,</span> <span class="n">delim_whitespace</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
                                <span class="n">usecols</span> <span class="o">=</span> <span class="n">column_map</span><span class="o">.</span><span class="n">values</span><span class="p">,</span>
                                <span class="n">compression</span><span class="o">=</span><span class="n">compression</span><span class="p">,</span>
-                                <span class="c1">#column_dict[&#39;label_position&#39;].keys(),</span>
-                               <span class="n">names</span><span class="o">=</span> <span class="n">column_map</span><span class="o">.</span><span class="n">index</span><span class="p">,</span>
-                                 <span class="n">header</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">na_values</span><span class="o">=</span> <span class="p">[</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="s1">&#39;#N/A&#39;</span><span class="p">,</span> <span class="s1">&#39;#N/A&#39;</span><span class="p">,</span> <span class="s1">&#39;N/A&#39;</span><span class="p">,</span><span class="s1">&#39;#NA&#39;</span><span class="p">,</span> <span class="s1">&#39;-1.#IND&#39;</span><span class="p">,</span> <span class="s1">&#39;-1.#QNAN&#39;</span><span class="p">,</span>
-                                                 <span class="s1">&#39;-NaN&#39;</span><span class="p">,</span> <span class="s1">&#39;-nan&#39;</span><span class="p">,</span> <span class="s1">&#39;1.#IND&#39;</span><span class="p">,</span> <span class="s1">&#39;1.#QNAN&#39;</span><span class="p">,</span> <span class="s1">&#39;N/A&#39;</span><span class="p">,</span>
-                                                 <span class="s1">&#39;NA&#39;</span><span class="p">,</span> <span class="s1">&#39;NULL&#39;</span><span class="p">,</span> <span class="s1">&#39;NaN&#39;</span><span class="p">,</span>
-                                                 <span class="s1">&#39;nan&#39;</span><span class="p">,</span> <span class="s1">&#39;na&#39;</span><span class="p">,</span> <span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="s1">&#39;-&#39;</span><span class="p">],</span> <span class="n">dtype</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;snpid&quot;</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span> <span class="s2">&quot;a1&quot;</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span><span class="s2">&quot;a2&quot;</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span><span class="s2">&quot;freq&quot;</span><span class="p">:</span><span class="nb">float</span><span class="p">,</span> <span class="s2">&quot;z&quot;</span><span class="p">:</span><span class="nb">float</span><span class="p">,</span><span class="s2">&quot;se&quot;</span><span class="p">:</span><span class="nb">float</span><span class="p">,</span> <span class="s2">&quot;pval&quot;</span><span class="p">:</span><span class="nb">float</span><span class="p">})</span>
+                            <span class="c1">#column_dict[&#39;label_position&#39;].keys(),</span>
+                            <span class="n">names</span><span class="o">=</span> <span class="n">column_map</span><span class="o">.</span><span class="n">index</span><span class="p">,</span>
+                            <span class="n">header</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">na_values</span><span class="o">=</span> <span class="p">[</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="s1">&#39;#N/A&#39;</span><span class="p">,</span> <span class="s1">&#39;#N/A&#39;</span><span class="p">,</span> <span class="s1">&#39;N/A&#39;</span><span class="p">,</span><span class="s1">&#39;#NA&#39;</span><span class="p">,</span> <span class="s1">&#39;-1.#IND&#39;</span><span class="p">,</span> <span class="s1">&#39;-1.#QNAN&#39;</span><span class="p">,</span>
+                                                <span class="s1">&#39;-NaN&#39;</span><span class="p">,</span> <span class="s1">&#39;-nan&#39;</span><span class="p">,</span> <span class="s1">&#39;1.#IND&#39;</span><span class="p">,</span> <span class="s1">&#39;1.#QNAN&#39;</span><span class="p">,</span> <span class="s1">&#39;N/A&#39;</span><span class="p">,</span>
+                                                <span class="s1">&#39;NA&#39;</span><span class="p">,</span> <span class="s1">&#39;NULL&#39;</span><span class="p">,</span> <span class="s1">&#39;NaN&#39;</span><span class="p">,</span>
+                                                <span class="s1">&#39;nan&#39;</span><span class="p">,</span> <span class="s1">&#39;na&#39;</span><span class="p">,</span> <span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="s1">&#39;-&#39;</span><span class="p">],</span>
+                                                <span class="n">dtype</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;snpid&quot;</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span> <span class="s2">&quot;a1&quot;</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span><span class="s2">&quot;a2&quot;</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span><span class="s2">&quot;freq&quot;</span><span class="p">:</span><span class="n">np</span><span class="o">.</span><span class="n">double</span><span class="p">,</span> <span class="s2">&quot;z&quot;</span><span class="p">:</span><span class="n">np</span><span class="o">.</span><span class="n">double</span><span class="p">,</span><span class="s2">&quot;se&quot;</span><span class="p">:</span><span class="n">np</span><span class="o">.</span><span class="n">double</span><span class="p">,</span> <span class="s2">&quot;pval&quot;</span><span class="p">:</span><span class="n">np</span><span class="o">.</span><span class="n">double</span><span class="p">})</span>
     <span class="nb">print</span><span class="p">(</span><span class="n">fullGWAS</span><span class="o">.</span><span class="n">head</span><span class="p">())</span>
     <span class="c1">#Ensure that allele are written in upper cases:</span>
 
diff --git a/doc/_build/html/_modules/jass_preprocessing/map_reference.html b/doc/_build/html/_modules/jass_preprocessing/map_reference.html
index 7abe24d..f4ea68f 100644
--- a/doc/_build/html/_modules/jass_preprocessing/map_reference.html
+++ b/doc/_build/html/_modules/jass_preprocessing/map_reference.html
@@ -13,9 +13,7 @@
         <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
         <script src="../../_static/jquery.js"></script>
         <script src="../../_static/underscore.js"></script>
-        <script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
         <script src="../../_static/doctools.js"></script>
-        <script src="../../_static/sphinx_highlight.js"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -36,7 +34,17 @@
   </form>
 </div>
         </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
-              <ul>
+              <p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Welcome to jass_preprocessing’s documentation!</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#what-is-jass-preprocessing">What is jass preprocessing ?</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#overview">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#installation">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#input">Input</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#command-line-usage-example">Command line usage example:</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#indices-and-tables">Indices and tables</a></li>
+</ul>
+<ul>
 <li class="toctree-l1"><a class="reference internal" href="../../_autosummary/jass_preprocessing.map_gwas.html">jass_preprocessing.map_gwas</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../_autosummary/jass_preprocessing.dna_utils.html">jass_preprocessing.dna_utils</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../_autosummary/jass_preprocessing.map_reference.html">jass_preprocessing.map_reference</a></li>
@@ -57,9 +65,9 @@
         <div class="rst-content">
           <div role="navigation" aria-label="Page navigation">
   <ul class="wy-breadcrumbs">
-      <li><a href="../../index.html" class="icon icon-home"></a></li>
-          <li class="breadcrumb-item"><a href="../index.html">Module code</a></li>
-      <li class="breadcrumb-item active">jass_preprocessing.map_reference</li>
+      <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
+          <li><a href="../index.html">Module code</a> &raquo;</li>
+      <li>jass_preprocessing.map_reference</li>
       <li class="wy-breadcrumbs-aside">
       </li>
   </ul>
@@ -92,14 +100,17 @@
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">ref</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="n">gwas_reference_panel</span><span class="p">,</span> <span class="n">header</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span> <span class="s2">&quot;</span><span class="se">\t</span><span class="s2">&quot;</span><span class="p">,</span>
                       <span class="n">names</span> <span class="o">=</span><span class="p">[</span> <span class="s1">&#39;chr&#39;</span><span class="p">,</span> <span class="s2">&quot;snp_id&quot;</span><span class="p">,</span> <span class="s2">&quot;MAF&quot;</span><span class="p">,</span><span class="s2">&quot;pos&quot;</span><span class="p">,</span>  <span class="s2">&quot;ref&quot;</span><span class="p">,</span> <span class="s2">&quot;alt&quot;</span><span class="p">],</span>
-                      <span class="n">dtype</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;chr&quot;</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="s2">&quot;snp_id&quot;</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span> <span class="s2">&quot;MAF&quot;</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">float</span><span class="p">,</span> <span class="s2">&quot;pos&quot;</span><span class="p">:</span><span class="n">np</span><span class="o">.</span><span class="n">int</span><span class="p">,</span> <span class="s2">&quot;ref&quot;</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span> <span class="s2">&quot;alt&quot;</span><span class="p">:</span><span class="nb">str</span><span class="p">},</span>
+                      <span class="n">dtype</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;chr&quot;</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="s2">&quot;snp_id&quot;</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span> <span class="s2">&quot;MAF&quot;</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">double</span><span class="p">,</span> <span class="s2">&quot;pos&quot;</span><span class="p">:</span><span class="n">np</span><span class="o">.</span><span class="n">double</span><span class="p">,</span> <span class="s2">&quot;ref&quot;</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span> <span class="s2">&quot;alt&quot;</span><span class="p">:</span><span class="nb">str</span><span class="p">},</span>
                        <span class="n">index_col</span><span class="o">=</span><span class="s2">&quot;snp_id&quot;</span><span class="p">)</span>
+    <span class="n">ref</span> <span class="o">=</span> <span class="n">ref</span><span class="o">.</span><span class="n">loc</span><span class="p">[</span><span class="o">~</span><span class="n">ref</span><span class="o">.</span><span class="n">pos</span><span class="o">.</span><span class="n">isnull</span><span class="p">()]</span>
+    <span class="n">ref</span><span class="o">.</span><span class="n">pos</span> <span class="o">=</span> <span class="n">ref</span><span class="o">.</span><span class="n">pos</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="s1">&#39;int&#39;</span><span class="p">)</span>
 
     <span class="k">def</span> <span class="nf">sorted_alleles</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
         <span class="k">return</span> <span class="s2">&quot;&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">x</span><span class="p">))</span>
     <span class="c1">#Filter Strand ambiguous if biallelic</span>
     <span class="n">ref</span> <span class="o">=</span> <span class="n">ref</span><span class="o">.</span><span class="n">loc</span><span class="p">[</span><span class="o">~</span><span class="p">(</span><span class="n">ref</span><span class="o">.</span><span class="n">ref</span><span class="o">+</span><span class="n">ref</span><span class="o">.</span><span class="n">alt</span><span class="p">)</span><span class="o">.</span><span class="n">isin</span><span class="p">([</span><span class="s2">&quot;AT&quot;</span><span class="p">,</span> <span class="s2">&quot;TA&quot;</span><span class="p">,</span> <span class="s1">&#39;CG&#39;</span><span class="p">,</span><span class="s1">&#39;GC&#39;</span><span class="p">])]</span>
-
+    <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;REFERENCE&quot;</span><span class="p">)</span>
+    <span class="nb">print</span><span class="p">(</span><span class="n">ref</span><span class="o">.</span><span class="n">head</span><span class="p">())</span>
     <span class="n">ref</span><span class="p">[</span><span class="s2">&quot;positional_index&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">ref</span><span class="o">.</span><span class="n">chr</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="nb">str</span><span class="p">)</span><span class="o">+</span><span class="n">ref</span><span class="o">.</span><span class="n">pos</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="nb">str</span><span class="p">)</span><span class="o">+</span><span class="p">(</span><span class="n">ref</span><span class="o">.</span><span class="n">ref</span><span class="o">+</span><span class="n">ref</span><span class="o">.</span><span class="n">alt</span><span class="p">)</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="n">sorted_alleles</span><span class="p">)</span>
 
     <span class="k">if</span> <span class="n">mask_MHC</span><span class="p">:</span>
diff --git a/doc/_build/html/_modules/jass_preprocessing/save_output.html b/doc/_build/html/_modules/jass_preprocessing/save_output.html
index 93894fb..cbb5d6d 100644
--- a/doc/_build/html/_modules/jass_preprocessing/save_output.html
+++ b/doc/_build/html/_modules/jass_preprocessing/save_output.html
@@ -13,9 +13,7 @@
         <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
         <script src="../../_static/jquery.js"></script>
         <script src="../../_static/underscore.js"></script>
-        <script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
         <script src="../../_static/doctools.js"></script>
-        <script src="../../_static/sphinx_highlight.js"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -36,7 +34,17 @@
   </form>
 </div>
         </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
-              <ul>
+              <p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Welcome to jass_preprocessing’s documentation!</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#what-is-jass-preprocessing">What is jass preprocessing ?</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#overview">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#installation">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#input">Input</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#command-line-usage-example">Command line usage example:</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../index.html#indices-and-tables">Indices and tables</a></li>
+</ul>
+<ul>
 <li class="toctree-l1"><a class="reference internal" href="../../_autosummary/jass_preprocessing.map_gwas.html">jass_preprocessing.map_gwas</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../_autosummary/jass_preprocessing.dna_utils.html">jass_preprocessing.dna_utils</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../_autosummary/jass_preprocessing.map_reference.html">jass_preprocessing.map_reference</a></li>
@@ -57,9 +65,9 @@
         <div class="rst-content">
           <div role="navigation" aria-label="Page navigation">
   <ul class="wy-breadcrumbs">
-      <li><a href="../../index.html" class="icon icon-home"></a></li>
-          <li class="breadcrumb-item"><a href="../index.html">Module code</a></li>
-      <li class="breadcrumb-item active">jass_preprocessing.save_output</li>
+      <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
+          <li><a href="../index.html">Module code</a> &raquo;</li>
+      <li>jass_preprocessing.save_output</li>
       <li class="wy-breadcrumbs-aside">
       </li>
   </ul>
diff --git a/doc/_build/html/_sources/index.rst.txt b/doc/_build/html/_sources/index.rst.txt
index 1998c87..297fd70 100644
--- a/doc/_build/html/_sources/index.rst.txt
+++ b/doc/_build/html/_sources/index.rst.txt
@@ -14,7 +14,7 @@ Welcome to jass_preprocessing's documentation!
 
 What is jass preprocessing ?
 ============================
-Jass preprocessing is a tool that takes in input
+Jass preprocessing is a command line tool that takes in input
 heterogeneous GWAS summary statistics and performs standardization and quality checks to output standardized summary statistic files that can be used as input in the JASS python package and the RAISS imputation package.
 
 
@@ -22,13 +22,13 @@ Overview
 ========
 The QC and preprocessing step goes as follow:
 
-* map column from of a specific GWAS to standardize names
-* Select GWAS SNPs that are in the input reference panel
-* Align coded allele of the GWAS with the reference panel
-* Infer Number of sample by SNPs if not present in input data
-* Filter SNPs with a small sample size
-* Normalize the effect size by sample size to have Z-scores
-* Save the output by chromosome as the following example:
+#. Map column from of a heterogeneous GWAS entry file to standardize names
+#. Select GWAS SNPs that are in the input reference panel
+#. Align coded allele of the GWASs data with the reference panel
+#. Infer the sample size by SNPs if not present in input data (from MAF, standard deviation and genetic effect)
+#. Filter SNPs with an heterogeneous sample size (as JASS and RAISS packages assume sample size to be constant across SNPs)
+#. Normalize the effect size to Z-scores
+#. Save the output by chromosome as the following example:
 
 +----------+-------+------+-----+--------+
 | rsID     | pos   | A0   | A1  |  Z     |
@@ -36,14 +36,15 @@ The QC and preprocessing step goes as follow:
 | rs6548219| 30762 | A	  | G   | -1.133 |
 +----------+-------+------+-----+--------+
 
-* (Optional) Save the output to one file with a chromosome column
-(input format needed to perform LD-score)
+* (Optional step) Save the output to one file with a chromosome column
+(input format needed to perform LD-score). The additional output correspond to: P, the p-value; N_effective (Effective sample size estimated/retrieved from the data).
+Effective sample size refers to the total sample size for continuous trait and to 1 / ( 1/Ncases + 1/Ncontrol ) for binary traits.
 
-+-------+-----------+--------+----+----+-----+-----+
-| chrom	|    rsID   |  pos   | A0 | A1 |  Z  |  P  |
-+-------+-----------+--------+----+----+-----+-----+
-|   1   | rs4075116 |1003629 | C  | T  | 0.3 | 0.76|
-+-------+-----------+--------+----+----+-----+-----+
++-------+-----------+--------+----+----+-----+-----+------------------+
+| chrom	|    rsID   |  pos   | A0 | A1 |  Z  |  P  |    N_effective   |
++-------+-----------+--------+----+----+-----+-----+------------------+
+|   1   | rs4075116 |1003629 | C  | T  | 0.3 | 0.76|     10220.98     |
++-------+-----------+--------+----+----+-----+-----+------------------+
 
 
 Installation
@@ -58,14 +59,13 @@ In a terminal, execute the following lines:
 Input
 ======
 
-* A reference panel (1000 genome format). The user is expected to provide a reference panel
- in tsv format with the following columns in the following order, without header:
+* **A reference panel** to the format below. The user is expected to provide a reference panel
+ in tsv format with the following columns in the following order (chromosome, rsID, Minor Allele
+  Frequency, Position, reference, Alternative allele), **without header**. 
 
 +-----+------------+---------+-------+-----+-----+
-| chr |   snp_id   |   MAF   |  pos  | ref | alt |
-+=====+============+=========+=======+=====+=====+
 |  1  | rs62635286 |0.0970447| 13116 |  T  |  G  |
-+-----+------------+---------+-------+-----+-----+
++=====+============+=========+=======+=====+=====+
 |  1  | rs63125786 |0.0970447| 15116 |  T  |  A  |
 +-----+------------+---------+-------+-----+-----+
 |  1  | rs5686     |0.1970447| 17116 |  A  |  G  |
@@ -74,40 +74,58 @@ Input
 +-----+------------+---------+-------+-----+-----+
 
 
-* Folder containing all raw gwas data : (all chromosomes in one file) (minimal conditions?? tab separated?)
-* a list containing the name of GWAS file to the string format.
-* A descriptor csv files that will described each GWAS summary statistic files:
-
+* The **GWAS Folder** containing all raw gwas data (correspond to the --gwas-info command line parameter): all chromosomes in one file, compressed or uncompressed
+* A descriptor csv files (see example below and `here <https://gitlab.pasteur.fr/statistical-genetics/jass_suite_pipeline/-/blob/master/input_files/Data_test_EAS.csv>`_)that will described each GWAS summary statistic files (correspond to the --input-folder command line parameter):
   * a header
   * 1 line per study
-  * the fields are:
-
+  * the fields categories are:
 
 +-------------------------------------------+---------------------------------------------------------------+
 |                     category              |                            field name                         |
 +===========================================+===============================================================+
 |             path to the data              |                            filename                           |
 +-------------------------------------------+---------------------------------------------------------------+
-|            study info fields              | Consortium,Outcome,fullName,type,Nsample,Ncase,Ncontrol,Nsnp  |
+|            study info fields              | Consortium,Outcome,fullName,Nsample,Ncase,Ncontrol,Nsnp       |
 +-------------------------------------------+---------------------------------------------------------------+
 |    names of the header in the GWAS file   |      snpid,a1,a2,freq,pval,n,z,OR,se,code,imp,ncas,ncont      |
 +-------------------------------------------+---------------------------------------------------------------+
 
-.. Give an example
-.. |               I don't know                 |                          altNcas,altNcont|
-
-Note that the combination of Consortium and outcome must be unique because it will be used as an index in the cleaning process.
-
-Here is an example of descriptor field, the field irrelevant (for example odd ratio for continuous trait) for the study must be filled with na.
-Some fields are optional like the imputation_quality. If not used they can be filled with na.
+**Study field definition**:
+
+* filename: gwas summary statistic name as it appear in the **GWAS folder** 
+* Consortium : the Consortium of the study (can also be the category of the trait) in **upper case and without _ characters**
+* Outcome: a short tag for the Outcome of the study in **upper case and without _ characters**
+* FullName: full description of the trait (for your own information not used in the cleaning process)
+* Nsample: Number of sample in the study
+* Ncase: Number of cases in the study (left empty if trait is continuous)
+* Ncontrol: Number of control in the study (left empty if trait is continuous)
+
+**Field corresping to column names in the summary statistic**
+
+* snpid: name of the column storing rsid in the gwas file
+* POS: name of the column storing the position in the gwas file
+* CHR: name of the column storing the chromosome in the gwas file
+* a1: effect allele
+* a2: Other allele
+* freq: name of the column storing the minor allele frequence in the gwas file
+* pval: name of the column storing the pvalue in the gwas file
+* n: name of the column storing the sample size by variants (optional, will be inferred from the MAF, genetic effect and standard deviation if absent)
+* z: name of the column storing the genetic effect (beta) in the gwas file
+* index-type: precise the type of index 
+* imputation_quality: (Optional) column containing individual-based imputation quality. Will be used to filter low quality imputation data from GWASs if the option --imputation-quality-treshold is used
+
+.. warning::
+  Note that the concatenation of Consortium and Outcome must be **unique** because as it will be used as an index in the cleaning process.
+  Both Outcome and Consortium must be in **uppercase and with no _ characters**
+
+Here is an example of descriptor field (downloadable example `here <https://gitlab.pasteur.fr/statistical-genetics/jass_suite_pipeline/-/blob/master/input_files/Data_test_EAS.csv>`_), the field irrelevant (for example odd ratio for continuous trait) for the study must be filled with na or left empty.
+Some fields are optional like the imputation_quality. If not used they can be filled with na. 
 
 .. csv-table:: GWAS information table
   :header-rows: 1
 
-  "filename","consortia","outcome","fullName","type","Nsample","Ncase","Ncontrol","Nsnp","snpid","a1","a2","freq","pval","n","z","OR","se","code","imp","ncas","ncont","imputation_quality","index_type"
-  "GIANT_HEIGHT_Wood_et_al.txt","GIANT","HEIGHT","Height","Anthropometry",253288,	na,	na, 2550858,	"MarkerName",	"Allele1", "Allele2", "Freq.Allele1.HapMapCEU","p","N","b",na,"SE",na,na,na,na, "imputationInfo","rsID"
-
-
+  "filename","Consortium","Outcome","FullName","Type","Nsample","Ncase","Ncontrol","Nsnp","snpid", "POS", "a1","a2","freq","pval","n","z","OR","se","code","imp","ncas","ncont","imputation_quality","index_type"
+  "GIANT_HEIGHT_Wood_et_al.txt","GIANT","HEIGHT","Height","Anthropometry",253288,	na,	na, 2550858,	"MarkerName",	"position","Allele1", "Allele2", "Freq.Allele1.HapMapCEU","p","N","b",na,"SE",na,na,na,na, "imputationInfo","rs-number"
 
 
 Command line usage example:
diff --git a/doc/_build/html/_static/basic.css b/doc/_build/html/_static/basic.css
index eeb0519..912859b 100644
--- a/doc/_build/html/_static/basic.css
+++ b/doc/_build/html/_static/basic.css
@@ -4,7 +4,7 @@
  *
  * Sphinx stylesheet -- basic theme.
  *
- * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
@@ -222,7 +222,7 @@ table.modindextable td {
 /* -- general body styles --------------------------------------------------- */
 
 div.body {
-    min-width: 360px;
+    min-width: 450px;
     max-width: 800px;
 }
 
@@ -236,6 +236,7 @@ div.body p, div.body dd, div.body li, div.body blockquote {
 a.headerlink {
     visibility: hidden;
 }
+
 a.brackets:before,
 span.brackets > a:before{
     content: "[";
@@ -246,7 +247,6 @@ span.brackets > a:after {
     content: "]";
 }
 
-
 h1:hover > a.headerlink,
 h2:hover > a.headerlink,
 h3:hover > a.headerlink,
@@ -334,11 +334,13 @@ aside.sidebar {
 p.sidebar-title {
     font-weight: bold;
 }
+
 div.admonition, div.topic, blockquote {
     clear: left;
 }
 
 /* -- topics ---------------------------------------------------------------- */
+
 div.topic {
     border: 1px solid #ccc;
     padding: 7px;
@@ -426,6 +428,10 @@ table.docutils td, table.docutils th {
     border-bottom: 1px solid #aaa;
 }
 
+table.footnote td, table.footnote th {
+    border: 0 !important;
+}
+
 th {
     text-align: left;
     padding-right: 5px;
@@ -608,6 +614,7 @@ ol.simple p,
 ul.simple p {
     margin-bottom: 0;
 }
+
 dl.footnote > dt,
 dl.citation > dt {
     float: left;
@@ -636,11 +643,11 @@ dl.field-list > dt {
     padding-left: 0.5em;
     padding-right: 5px;
 }
+
 dl.field-list > dt:after {
     content: ":";
 }
 
-
 dl.field-list > dd {
     padding-left: 0.5em;
     margin-top: 0em;
@@ -724,9 +731,8 @@ dl.glossary dt {
 
 .classifier:before {
     font-style: normal;
-    margin: 0 0.5em;
+    margin: 0.5em;
     content: ":";
-    display: inline-block;
 }
 
 abbr, acronym {
@@ -750,7 +756,6 @@ span.pre {
     -ms-hyphens: none;
     -webkit-hyphens: none;
     hyphens: none;
-    white-space: nowrap;
 }
 
 div[class*="highlight-"] {
diff --git a/doc/_build/html/_static/doctools.js b/doc/_build/html/_static/doctools.js
index 527b876..8cbf1b1 100644
--- a/doc/_build/html/_static/doctools.js
+++ b/doc/_build/html/_static/doctools.js
@@ -2,155 +2,322 @@
  * doctools.js
  * ~~~~~~~~~~~
  *
- * Base JavaScript utilities for all Sphinx HTML documentation.
+ * Sphinx JavaScript utilities for all documentation.
  *
- * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
-"use strict";
-
-const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([
-  "TEXTAREA",
-  "INPUT",
-  "SELECT",
-  "BUTTON",
-]);
-
-const _ready = (callback) => {
-  if (document.readyState !== "loading") {
-    callback();
-  } else {
-    document.addEventListener("DOMContentLoaded", callback);
+
+/**
+ * select a different prefix for underscore
+ */
+$u = _.noConflict();
+
+/**
+ * make the code below compatible with browsers without
+ * an installed firebug like debugger
+if (!window.console || !console.firebug) {
+  var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
+    "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
+    "profile", "profileEnd"];
+  window.console = {};
+  for (var i = 0; i < names.length; ++i)
+    window.console[names[i]] = function() {};
+}
+ */
+
+/**
+ * small helper function to urldecode strings
+ *
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
+ */
+jQuery.urldecode = function(x) {
+  if (!x) {
+    return x
+  }
+  return decodeURIComponent(x.replace(/\+/g, ' '));
+};
+
+/**
+ * small helper function to urlencode strings
+ */
+jQuery.urlencode = encodeURIComponent;
+
+/**
+ * This function returns the parsed url parameters of the
+ * current request. Multiple values per key are supported,
+ * it will always return arrays of strings for the value parts.
+ */
+jQuery.getQueryParameters = function(s) {
+  if (typeof s === 'undefined')
+    s = document.location.search;
+  var parts = s.substr(s.indexOf('?') + 1).split('&');
+  var result = {};
+  for (var i = 0; i < parts.length; i++) {
+    var tmp = parts[i].split('=', 2);
+    var key = jQuery.urldecode(tmp[0]);
+    var value = jQuery.urldecode(tmp[1]);
+    if (key in result)
+      result[key].push(value);
+    else
+      result[key] = [value];
   }
+  return result;
 };
 
+/**
+ * highlight a given string on a jquery object by wrapping it in
+ * span elements with the given class name.
+ */
+jQuery.fn.highlightText = function(text, className) {
+  function highlight(node, addItems) {
+    if (node.nodeType === 3) {
+      var val = node.nodeValue;
+      var pos = val.toLowerCase().indexOf(text);
+      if (pos >= 0 &&
+          !jQuery(node.parentNode).hasClass(className) &&
+          !jQuery(node.parentNode).hasClass("nohighlight")) {
+        var span;
+        var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
+        if (isInSVG) {
+          span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+        } else {
+          span = document.createElement("span");
+          span.className = className;
+        }
+        span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+        node.parentNode.insertBefore(span, node.parentNode.insertBefore(
+          document.createTextNode(val.substr(pos + text.length)),
+          node.nextSibling));
+        node.nodeValue = val.substr(0, pos);
+        if (isInSVG) {
+          var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+          var bbox = node.parentElement.getBBox();
+          rect.x.baseVal.value = bbox.x;
+          rect.y.baseVal.value = bbox.y;
+          rect.width.baseVal.value = bbox.width;
+          rect.height.baseVal.value = bbox.height;
+          rect.setAttribute('class', className);
+          addItems.push({
+              "parent": node.parentNode,
+              "target": rect});
+        }
+      }
+    }
+    else if (!jQuery(node).is("button, select, textarea")) {
+      jQuery.each(node.childNodes, function() {
+        highlight(this, addItems);
+      });
+    }
+  }
+  var addItems = [];
+  var result = this.each(function() {
+    highlight(this, addItems);
+  });
+  for (var i = 0; i < addItems.length; ++i) {
+    jQuery(addItems[i].parent).before(addItems[i].target);
+  }
+  return result;
+};
+
+/*
+ * backward compatibility for jQuery.browser
+ * This will be supported until firefox bug is fixed.
+ */
+if (!jQuery.browser) {
+  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"
+    };
+  };
+  jQuery.browser = {};
+  jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
+}
+
 /**
  * Small JavaScript module for the documentation.
  */
-const Documentation = {
-  init: () => {
-    Documentation.initDomainIndexTable();
-    Documentation.initOnKeyListeners();
+var Documentation = {
+
+  init : function() {
+    this.fixFirefoxAnchorBug();
+    this.highlightSearchWords();
+    this.initIndexTable();
+    if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) {
+      this.initOnKeyListeners();
+    }
   },
 
   /**
    * i18n support
    */
-  TRANSLATIONS: {},
-  PLURAL_EXPR: (n) => (n === 1 ? 0 : 1),
-  LOCALE: "unknown",
+  TRANSLATIONS : {},
+  PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; },
+  LOCALE : 'unknown',
 
   // gettext and ngettext don't access this so that the functions
   // can safely bound to a different name (_ = Documentation.gettext)
-  gettext: (string) => {
-    const translated = Documentation.TRANSLATIONS[string];
-    switch (typeof translated) {
-      case "undefined":
-        return string; // no translation
-      case "string":
-        return translated; // translation exists
-      default:
-        return translated[0]; // (singular, plural) translation tuple exists
-    }
+  gettext : function(string) {
+    var translated = Documentation.TRANSLATIONS[string];
+    if (typeof translated === 'undefined')
+      return string;
+    return (typeof translated === 'string') ? translated : translated[0];
   },
 
-  ngettext: (singular, plural, n) => {
-    const translated = Documentation.TRANSLATIONS[singular];
-    if (typeof translated !== "undefined")
-      return translated[Documentation.PLURAL_EXPR(n)];
-    return n === 1 ? singular : plural;
+  ngettext : function(singular, plural, n) {
+    var translated = Documentation.TRANSLATIONS[singular];
+    if (typeof translated === 'undefined')
+      return (n == 1) ? singular : plural;
+    return translated[Documentation.PLURALEXPR(n)];
   },
 
-  addTranslations: (catalog) => {
-    Object.assign(Documentation.TRANSLATIONS, catalog.messages);
-    Documentation.PLURAL_EXPR = new Function(
-      "n",
-      `return (${catalog.plural_expr})`
-    );
-    Documentation.LOCALE = catalog.locale;
+  addTranslations : function(catalog) {
+    for (var key in catalog.messages)
+      this.TRANSLATIONS[key] = catalog.messages[key];
+    this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
+    this.LOCALE = catalog.locale;
   },
 
   /**
-   * helper function to focus on search bar
+   * add context elements like header anchor links
    */
-  focusSearchBar: () => {
-    document.querySelectorAll("input[name=q]")[0]?.focus();
+  addContextElements : function() {
+    $('div[id] > :header:first').each(function() {
+      $('<a class="headerlink">\u00B6</a>').
+      attr('href', '#' + this.id).
+      attr('title', _('Permalink to this headline')).
+      appendTo(this);
+    });
+    $('dt[id]').each(function() {
+      $('<a class="headerlink">\u00B6</a>').
+      attr('href', '#' + this.id).
+      attr('title', _('Permalink to this definition')).
+      appendTo(this);
+    });
   },
 
   /**
-   * Initialise the domain index toggle buttons
+   * workaround a firefox stupidity
+   * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
    */
-  initDomainIndexTable: () => {
-    const toggler = (el) => {
-      const idNumber = el.id.substr(7);
-      const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`);
-      if (el.src.substr(-9) === "minus.png") {
-        el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`;
-        toggledRows.forEach((el) => (el.style.display = "none"));
-      } else {
-        el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`;
-        toggledRows.forEach((el) => (el.style.display = ""));
+  fixFirefoxAnchorBug : function() {
+    if (document.location.hash && $.browser.mozilla)
+      window.setTimeout(function() {
+        document.location.href += '';
+      }, 10);
+  },
+
+  /**
+   * highlight the search words provided in the url in the text
+   */
+  highlightSearchWords : function() {
+    var params = $.getQueryParameters();
+    var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
+    if (terms.length) {
+      var body = $('div.body');
+      if (!body.length) {
+        body = $('body');
       }
-    };
+      window.setTimeout(function() {
+        $.each(terms, function() {
+          body.highlightText(this.toLowerCase(), 'highlighted');
+        });
+      }, 10);
+      $('<p class="highlight-link"><a href="javascript:Documentation.' +
+        'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
+          .appendTo($('#searchbox'));
+    }
+  },
+
+  /**
+   * init the domain index toggle buttons
+   */
+  initIndexTable : function() {
+    var togglers = $('img.toggler').click(function() {
+      var src = $(this).attr('src');
+      var idnum = $(this).attr('id').substr(7);
+      $('tr.cg-' + idnum).toggle();
+      if (src.substr(-9) === 'minus.png')
+        $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
+      else
+        $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
+    }).css('display', '');
+    if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
+        togglers.click();
+    }
+  },
 
-    const togglerElements = document.querySelectorAll("img.toggler");
-    togglerElements.forEach((el) =>
-      el.addEventListener("click", (event) => toggler(event.currentTarget))
-    );
-    togglerElements.forEach((el) => (el.style.display = ""));
-    if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler);
+  /**
+   * helper function to hide the search marks again
+   */
+  hideSearchWords : function() {
+    $('#searchbox .highlight-link').fadeOut(300);
+    $('span.highlighted').removeClass('highlighted');
   },
 
-  initOnKeyListeners: () => {
-    // only install a listener if it is really needed
-    if (
-      !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS &&
-      !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS
-    )
-      return;
-
-    document.addEventListener("keydown", (event) => {
-      // bail for input elements
-      if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
-      // bail with special keys
-      if (event.altKey || event.ctrlKey || event.metaKey) return;
-
-      if (!event.shiftKey) {
-        switch (event.key) {
-          case "ArrowLeft":
-            if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
-
-            const prevLink = document.querySelector('link[rel="prev"]');
-            if (prevLink && prevLink.href) {
-              window.location.href = prevLink.href;
-              event.preventDefault();
+  /**
+   * make the url absolute
+   */
+  makeURL : function(relativeURL) {
+    return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
+  },
+
+  /**
+   * get the current relative url
+   */
+  getCurrentURL : function() {
+    var path = document.location.pathname;
+    var parts = path.split(/\//);
+    $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
+      if (this === '..')
+        parts.pop();
+    });
+    var url = parts.join('/');
+    return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
+  },
+
+  initOnKeyListeners: function() {
+    $(document).keydown(function(event) {
+      var activeElementType = document.activeElement.tagName;
+      // don't navigate when in search box, textarea, dropdown or button
+      if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT'
+          && activeElementType !== 'BUTTON' && !event.altKey && !event.ctrlKey && !event.metaKey
+          && !event.shiftKey) {
+        switch (event.keyCode) {
+          case 37: // left
+            var prevHref = $('link[rel="prev"]').prop('href');
+            if (prevHref) {
+              window.location.href = prevHref;
+              return false;
             }
             break;
-          case "ArrowRight":
-            if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
-
-            const nextLink = document.querySelector('link[rel="next"]');
-            if (nextLink && nextLink.href) {
-              window.location.href = nextLink.href;
-              event.preventDefault();
+          case 39: // right
+            var nextHref = $('link[rel="next"]').prop('href');
+            if (nextHref) {
+              window.location.href = nextHref;
+              return false;
             }
             break;
         }
       }
-
-      // some keyboard layouts may need Shift to get /
-      switch (event.key) {
-        case "/":
-          if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break;
-          Documentation.focusSearchBar();
-          event.preventDefault();
-      }
     });
-  },
+  }
 };
 
 // quick alias for translations
-const _ = Documentation.gettext;
+_ = Documentation.gettext;
 
-_ready(Documentation.init);
+$(document).ready(function() {
+  Documentation.init();
+});
diff --git a/doc/_build/html/_static/documentation_options.js b/doc/_build/html/_static/documentation_options.js
index a7f754b..07966ec 100644
--- a/doc/_build/html/_static/documentation_options.js
+++ b/doc/_build/html/_static/documentation_options.js
@@ -1,14 +1,12 @@
 var DOCUMENTATION_OPTIONS = {
     URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
     VERSION: '1.0',
-    LANGUAGE: 'en',
+    LANGUAGE: 'None',
     COLLAPSE_INDEX: false,
     BUILDER: 'html',
     FILE_SUFFIX: '.html',
     LINK_SUFFIX: '.html',
     HAS_SOURCE: true,
     SOURCELINK_SUFFIX: '.txt',
-    NAVIGATION_WITH_KEYS: false,
-    SHOW_SEARCH_SUMMARY: true,
-    ENABLE_SEARCH_SHORTCUTS: true,
+    NAVIGATION_WITH_KEYS: false
 };
\ No newline at end of file
diff --git a/doc/_build/html/_static/jquery.js b/doc/_build/html/_static/jquery.js
index c4c6022..b061403 100644
--- a/doc/_build/html/_static/jquery.js
+++ b/doc/_build/html/_static/jquery.js
@@ -1,2 +1,2 @@
-/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}: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},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?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},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.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+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,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(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===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]||se.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]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!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,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.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"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=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):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({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)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
+/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}: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},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?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},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.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+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,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(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===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]||se.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]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!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,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.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"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=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):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({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)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
diff --git a/doc/_build/html/_static/pygments.css b/doc/_build/html/_static/pygments.css
index 691aeb8..d14395e 100644
--- a/doc/_build/html/_static/pygments.css
+++ b/doc/_build/html/_static/pygments.css
@@ -1,8 +1,8 @@
-pre { line-height: 125%; }
-td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
-span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
-td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
-span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+pre { line-height: 125%; margin: 0; }
+td.linenos pre { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
+span.linenos { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
+td.linenos pre.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
 .highlight .hll { background-color: #ffffcc }
 .highlight { background: #eeffcc; }
 .highlight .c { color: #408090; font-style: italic } /* Comment */
diff --git a/doc/_build/html/_static/searchtools.js b/doc/_build/html/_static/searchtools.js
index e89e34d..58ff35c 100644
--- a/doc/_build/html/_static/searchtools.js
+++ b/doc/_build/html/_static/searchtools.js
@@ -4,24 +4,22 @@
  *
  * Sphinx JavaScript utilities for the full-text search.
  *
- * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
-"use strict";
 
-/**
- * Simple result scoring code.
- */
-if (typeof Scorer === "undefined") {
+if (!Scorer) {
+  /**
+   * Simple result scoring code.
+   */
   var Scorer = {
     // Implement the following function to further tweak the score for each result
-    // The function takes a result array [docname, title, anchor, descr, score, filename]
+    // The function takes a result array [filename, title, anchor, descr, score]
     // and returns the new score.
     /*
-    score: result => {
-      const [docname, title, anchor, descr, score, filename] = result
-      return score
+    score: function(result) {
+      return result[4];
     },
     */
 
@@ -30,11 +28,9 @@ if (typeof Scorer === "undefined") {
     // or matches in the last dotted part of the object name
     objPartialMatch: 6,
     // Additive scores depending on the priority of the object
-    objPrio: {
-      0: 15, // used to be importantResults
-      1: 5, // used to be objectResults
-      2: -5, // used to be unimportantResults
-    },
+    objPrio: {0:  15,   // used to be importantResults
+              1:  5,   // used to be objectResults
+              2: -5},  // used to be unimportantResults
     //  Used when the priority is not in the mapping.
     objPrioDefault: 0,
 
@@ -43,495 +39,455 @@ if (typeof Scorer === "undefined") {
     partialTitle: 7,
     // query found in terms
     term: 5,
-    partialTerm: 2,
+    partialTerm: 2
   };
 }
 
-const _removeChildren = (element) => {
-  while (element && element.lastChild) element.removeChild(element.lastChild);
-};
-
-/**
- * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
- */
-const _escapeRegExp = (string) =>
-  string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
-
-const _displayItem = (item, searchTerms) => {
-  const docBuilder = DOCUMENTATION_OPTIONS.BUILDER;
-  const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT;
-  const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX;
-  const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX;
-  const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY;
-
-  const [docName, title, anchor, descr, score, _filename] = item;
-
-  let listItem = document.createElement("li");
-  let requestUrl;
-  let linkUrl;
-  if (docBuilder === "dirhtml") {
-    // dirhtml builder
-    let dirname = docName + "/";
-    if (dirname.match(/\/index\/$/))
-      dirname = dirname.substring(0, dirname.length - 6);
-    else if (dirname === "index/") dirname = "";
-    requestUrl = docUrlRoot + dirname;
-    linkUrl = requestUrl;
-  } else {
-    // normal html builders
-    requestUrl = docUrlRoot + docName + docFileSuffix;
-    linkUrl = docName + docLinkSuffix;
+if (!splitQuery) {
+  function splitQuery(query) {
+    return query.split(/\s+/);
   }
-  let linkEl = listItem.appendChild(document.createElement("a"));
-  linkEl.href = linkUrl + anchor;
-  linkEl.dataset.score = score;
-  linkEl.innerHTML = title;
-  if (descr)
-    listItem.appendChild(document.createElement("span")).innerHTML =
-      " (" + descr + ")";
-  else if (showSearchSummary)
-    fetch(requestUrl)
-      .then((responseData) => responseData.text())
-      .then((data) => {
-        if (data)
-          listItem.appendChild(
-            Search.makeSearchSummary(data, searchTerms)
-          );
-      });
-  Search.output.appendChild(listItem);
-};
-const _finishSearch = (resultCount) => {
-  Search.stopPulse();
-  Search.title.innerText = _("Search Results");
-  if (!resultCount)
-    Search.status.innerText = Documentation.gettext(
-      "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories."
-    );
-  else
-    Search.status.innerText = _(
-      `Search finished, found ${resultCount} page(s) matching the search query.`
-    );
-};
-const _displayNextItem = (
-  results,
-  resultCount,
-  searchTerms
-) => {
-  // results left, load the summary and display it
-  // this is intended to be dynamic (don't sub resultsCount)
-  if (results.length) {
-    _displayItem(results.pop(), searchTerms);
-    setTimeout(
-      () => _displayNextItem(results, resultCount, searchTerms),
-      5
-    );
-  }
-  // search finished, update title and status message
-  else _finishSearch(resultCount);
-};
-
-/**
- * Default splitQuery function. Can be overridden in ``sphinx.search`` with a
- * custom function per language.
- *
- * The regular expression works by splitting the string on consecutive characters
- * that are not Unicode letters, numbers, underscores, or emoji characters.
- * This is the same as ``\W+`` in Python, preserving the surrogate pair area.
- */
-if (typeof splitQuery === "undefined") {
-  var splitQuery = (query) => query
-      .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu)
-      .filter(term => term)  // remove remaining empty strings
 }
 
 /**
  * Search Module
  */
-const Search = {
-  _index: null,
-  _queued_query: null,
-  _pulse_status: -1,
-
-  htmlToText: (htmlString) => {
-    const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html');
-    htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() });
-    const docContent = htmlElement.querySelector('[role="main"]');
-    if (docContent !== undefined) return docContent.textContent;
-    console.warn(
-      "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template."
-    );
-    return "";
+var Search = {
+
+  _index : null,
+  _queued_query : null,
+  _pulse_status : -1,
+
+  htmlToText : function(htmlString) {
+      var virtualDocument = document.implementation.createHTMLDocument('virtual');
+      var htmlElement = $(htmlString, virtualDocument);
+      htmlElement.find('.headerlink').remove();
+      docContent = htmlElement.find('[role=main]')[0];
+      if(docContent === undefined) {
+          console.warn("Content block not found. Sphinx search tries to obtain it " +
+                       "via '[role=main]'. Could you check your theme or template.");
+          return "";
+      }
+      return docContent.textContent || docContent.innerText;
   },
 
-  init: () => {
-    const query = new URLSearchParams(window.location.search).get("q");
-    document
-      .querySelectorAll('input[name="q"]')
-      .forEach((el) => (el.value = query));
-    if (query) Search.performSearch(query);
+  init : function() {
+      var params = $.getQueryParameters();
+      if (params.q) {
+          var query = params.q[0];
+          $('input[name="q"]')[0].value = query;
+          this.performSearch(query);
+      }
   },
 
-  loadIndex: (url) =>
-    (document.body.appendChild(document.createElement("script")).src = url),
+  loadIndex : function(url) {
+    $.ajax({type: "GET", url: url, data: null,
+            dataType: "script", cache: true,
+            complete: function(jqxhr, textstatus) {
+              if (textstatus != "success") {
+                document.getElementById("searchindexloader").src = url;
+              }
+            }});
+  },
 
-  setIndex: (index) => {
-    Search._index = index;
-    if (Search._queued_query !== null) {
-      const query = Search._queued_query;
-      Search._queued_query = null;
-      Search.query(query);
+  setIndex : function(index) {
+    var q;
+    this._index = index;
+    if ((q = this._queued_query) !== null) {
+      this._queued_query = null;
+      Search.query(q);
     }
   },
 
-  hasIndex: () => Search._index !== null,
-
-  deferQuery: (query) => (Search._queued_query = query),
+  hasIndex : function() {
+      return this._index !== null;
+  },
 
-  stopPulse: () => (Search._pulse_status = -1),
+  deferQuery : function(query) {
+      this._queued_query = query;
+  },
 
-  startPulse: () => {
-    if (Search._pulse_status >= 0) return;
+  stopPulse : function() {
+      this._pulse_status = 0;
+  },
 
-    const pulse = () => {
+  startPulse : function() {
+    if (this._pulse_status >= 0)
+        return;
+    function pulse() {
+      var i;
       Search._pulse_status = (Search._pulse_status + 1) % 4;
-      Search.dots.innerText = ".".repeat(Search._pulse_status);
-      if (Search._pulse_status >= 0) window.setTimeout(pulse, 500);
-    };
+      var dotString = '';
+      for (i = 0; i < Search._pulse_status; i++)
+        dotString += '.';
+      Search.dots.text(dotString);
+      if (Search._pulse_status > -1)
+        window.setTimeout(pulse, 500);
+    }
     pulse();
   },
 
   /**
    * perform a search for something (or wait until index is loaded)
    */
-  performSearch: (query) => {
+  performSearch : function(query) {
     // create the required interface elements
-    const searchText = document.createElement("h2");
-    searchText.textContent = _("Searching");
-    const searchSummary = document.createElement("p");
-    searchSummary.classList.add("search-summary");
-    searchSummary.innerText = "";
-    const searchList = document.createElement("ul");
-    searchList.classList.add("search");
-
-    const out = document.getElementById("search-results");
-    Search.title = out.appendChild(searchText);
-    Search.dots = Search.title.appendChild(document.createElement("span"));
-    Search.status = out.appendChild(searchSummary);
-    Search.output = out.appendChild(searchList);
-
-    const searchProgress = document.getElementById("search-progress");
-    // Some themes don't use the search progress node
-    if (searchProgress) {
-      searchProgress.innerText = _("Preparing search...");
-    }
-    Search.startPulse();
+    this.out = $('#search-results');
+    this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
+    this.dots = $('<span></span>').appendTo(this.title);
+    this.status = $('<p class="search-summary">&nbsp;</p>').appendTo(this.out);
+    this.output = $('<ul class="search"/>').appendTo(this.out);
+
+    $('#search-progress').text(_('Preparing search...'));
+    this.startPulse();
 
     // index already loaded, the browser was quick!
-    if (Search.hasIndex()) Search.query(query);
-    else Search.deferQuery(query);
+    if (this.hasIndex())
+      this.query(query);
+    else
+      this.deferQuery(query);
   },
 
   /**
    * execute search (requires search index to be loaded)
    */
-  query: (query) => {
-    const filenames = Search._index.filenames;
-    const docNames = Search._index.docnames;
-    const titles = Search._index.titles;
-    const allTitles = Search._index.alltitles;
-    const indexEntries = Search._index.indexentries;
-
-    // stem the search terms and add them to the correct list
-    const stemmer = new Stemmer();
-    const searchTerms = new Set();
-    const excludedTerms = new Set();
-    const highlightTerms = new Set();
-    const objectTerms = new Set(splitQuery(query.toLowerCase().trim()));
-    splitQuery(query.trim()).forEach((queryTerm) => {
-      const queryTermLower = queryTerm.toLowerCase();
-
-      // maybe skip this "word"
-      // stopwords array is from language_data.js
-      if (
-        stopwords.indexOf(queryTermLower) !== -1 ||
-        queryTerm.match(/^\d+$/)
-      )
-        return;
+  query : function(query) {
+    var i;
+
+    // stem the searchterms and add them to the correct list
+    var stemmer = new Stemmer();
+    var searchterms = [];
+    var excluded = [];
+    var hlterms = [];
+    var tmp = splitQuery(query);
+    var objectterms = [];
+    for (i = 0; i < tmp.length; i++) {
+      if (tmp[i] !== "") {
+          objectterms.push(tmp[i].toLowerCase());
+      }
 
+      if ($u.indexOf(stopwords, tmp[i].toLowerCase()) != -1 || tmp[i] === "") {
+        // skip this "word"
+        continue;
+      }
       // stem the word
-      let word = stemmer.stemWord(queryTermLower);
+      var word = stemmer.stemWord(tmp[i].toLowerCase());
+      // prevent stemmer from cutting word smaller than two chars
+      if(word.length < 3 && tmp[i].length >= 3) {
+        word = tmp[i];
+      }
+      var toAppend;
       // select the correct list
-      if (word[0] === "-") excludedTerms.add(word.substr(1));
+      if (word[0] == '-') {
+        toAppend = excluded;
+        word = word.substr(1);
+      }
       else {
-        searchTerms.add(word);
-        highlightTerms.add(queryTermLower);
+        toAppend = searchterms;
+        hlterms.push(tmp[i].toLowerCase());
       }
-    });
-
-    if (SPHINX_HIGHLIGHT_ENABLED) {  // set in sphinx_highlight.js
-      localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" "))
+      // only add if not already in the list
+      if (!$u.contains(toAppend, word))
+        toAppend.push(word);
     }
+    var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" "));
 
-    // console.debug("SEARCH: searching for:");
-    // console.info("required: ", [...searchTerms]);
-    // console.info("excluded: ", [...excludedTerms]);
-
-    // array of [docname, title, anchor, descr, score, filename]
-    let results = [];
-    _removeChildren(document.getElementById("search-progress"));
-
-    const queryLower = query.toLowerCase();
-    for (const [title, foundTitles] of Object.entries(allTitles)) {
-      if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) {
-        for (const [file, id] of foundTitles) {
-          let score = Math.round(100 * queryLower.length / title.length)
-          results.push([
-            docNames[file],
-            titles[file] !== title ? `${titles[file]} > ${title}` : title,
-            id !== null ? "#" + id : "",
-            null,
-            score,
-            filenames[file],
-          ]);
-        }
-      }
-    }
+    // console.debug('SEARCH: searching for:');
+    // console.info('required: ', searchterms);
+    // console.info('excluded: ', excluded);
 
-    // search for explicit entries in index directives
-    for (const [entry, foundEntries] of Object.entries(indexEntries)) {
-      if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) {
-        for (const [file, id] of foundEntries) {
-          let score = Math.round(100 * queryLower.length / entry.length)
-          results.push([
-            docNames[file],
-            titles[file],
-            id ? "#" + id : "",
-            null,
-            score,
-            filenames[file],
-          ]);
-        }
-      }
-    }
+    // prepare search
+    var terms = this._index.terms;
+    var titleterms = this._index.titleterms;
+
+    // array of [filename, title, anchor, descr, score]
+    var results = [];
+    $('#search-progress').empty();
 
     // lookup as object
-    objectTerms.forEach((term) =>
-      results.push(...Search.performObjectSearch(term, objectTerms))
-    );
+    for (i = 0; i < objectterms.length; i++) {
+      var others = [].concat(objectterms.slice(0, i),
+                             objectterms.slice(i+1, objectterms.length));
+      results = results.concat(this.performObjectSearch(objectterms[i], others));
+    }
 
     // lookup as search terms in fulltext
-    results.push(...Search.performTermsSearch(searchTerms, excludedTerms));
+    results = results.concat(this.performTermsSearch(searchterms, excluded, terms, titleterms));
 
     // let the scorer override scores with a custom scoring function
-    if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item)));
+    if (Scorer.score) {
+      for (i = 0; i < results.length; i++)
+        results[i][4] = Scorer.score(results[i]);
+    }
 
     // now sort the results by score (in opposite order of appearance, since the
     // display function below uses pop() to retrieve items) and then
     // alphabetically
-    results.sort((a, b) => {
-      const leftScore = a[4];
-      const rightScore = b[4];
-      if (leftScore === rightScore) {
+    results.sort(function(a, b) {
+      var left = a[4];
+      var right = b[4];
+      if (left > right) {
+        return 1;
+      } else if (left < right) {
+        return -1;
+      } else {
         // same score: sort alphabetically
-        const leftTitle = a[1].toLowerCase();
-        const rightTitle = b[1].toLowerCase();
-        if (leftTitle === rightTitle) return 0;
-        return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
+        left = a[1].toLowerCase();
+        right = b[1].toLowerCase();
+        return (left > right) ? -1 : ((left < right) ? 1 : 0);
       }
-      return leftScore > rightScore ? 1 : -1;
     });
 
-    // remove duplicate search results
-    // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept
-    let seen = new Set();
-    results = results.reverse().reduce((acc, result) => {
-      let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(',');
-      if (!seen.has(resultStr)) {
-        acc.push(result);
-        seen.add(resultStr);
-      }
-      return acc;
-    }, []);
-
-    results = results.reverse();
-
     // for debugging
     //Search.lastresults = results.slice();  // a copy
-    // console.info("search results:", Search.lastresults);
+    //console.info('search results:', Search.lastresults);
 
     // print the results
-    _displayNextItem(results, results.length, searchTerms);
+    var resultCount = results.length;
+    function displayNextItem() {
+      // results left, load the summary and display it
+      if (results.length) {
+        var item = results.pop();
+        var listItem = $('<li></li>');
+        var requestUrl = "";
+        var linkUrl = "";
+        if (DOCUMENTATION_OPTIONS.BUILDER === 'dirhtml') {
+          // dirhtml builder
+          var dirname = item[0] + '/';
+          if (dirname.match(/\/index\/$/)) {
+            dirname = dirname.substring(0, dirname.length-6);
+          } else if (dirname == 'index/') {
+            dirname = '';
+          }
+          requestUrl = DOCUMENTATION_OPTIONS.URL_ROOT + dirname;
+          linkUrl = requestUrl;
+
+        } else {
+          // normal html builders
+          requestUrl = DOCUMENTATION_OPTIONS.URL_ROOT + item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX;
+          linkUrl = item[0] + DOCUMENTATION_OPTIONS.LINK_SUFFIX;
+        }
+        listItem.append($('<a/>').attr('href',
+            linkUrl +
+            highlightstring + item[2]).html(item[1]));
+        if (item[3]) {
+          listItem.append($('<span> (' + item[3] + ')</span>'));
+          Search.output.append(listItem);
+          setTimeout(function() {
+            displayNextItem();
+          }, 5);
+        } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
+          $.ajax({url: requestUrl,
+                  dataType: "text",
+                  complete: function(jqxhr, textstatus) {
+                    var data = jqxhr.responseText;
+                    if (data !== '' && data !== undefined) {
+                      var summary = Search.makeSearchSummary(data, searchterms, hlterms);
+                      if (summary) {
+                        listItem.append(summary);
+                      }
+                    }
+                    Search.output.append(listItem);
+                    setTimeout(function() {
+                      displayNextItem();
+                    }, 5);
+                  }});
+        } else {
+          // no source available, just display title
+          Search.output.append(listItem);
+          setTimeout(function() {
+            displayNextItem();
+          }, 5);
+        }
+      }
+      // search finished, update title and status message
+      else {
+        Search.stopPulse();
+        Search.title.text(_('Search Results'));
+        if (!resultCount)
+          Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.'));
+        else
+            Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount));
+        Search.status.fadeIn(500);
+      }
+    }
+    displayNextItem();
   },
 
   /**
    * search for object names
    */
-  performObjectSearch: (object, objectTerms) => {
-    const filenames = Search._index.filenames;
-    const docNames = Search._index.docnames;
-    const objects = Search._index.objects;
-    const objNames = Search._index.objnames;
-    const titles = Search._index.titles;
-
-    const results = [];
-
-    const objectSearchCallback = (prefix, match) => {
-      const name = match[4]
-      const fullname = (prefix ? prefix + "." : "") + name;
-      const fullnameLower = fullname.toLowerCase();
-      if (fullnameLower.indexOf(object) < 0) return;
-
-      let score = 0;
-      const parts = fullnameLower.split(".");
-
-      // check for different match types: exact matches of full name or
-      // "last name" (i.e. last dotted part)
-      if (fullnameLower === object || parts.slice(-1)[0] === object)
-        score += Scorer.objNameMatch;
-      else if (parts.slice(-1)[0].indexOf(object) > -1)
-        score += Scorer.objPartialMatch; // matches in last name
-
-      const objName = objNames[match[1]][2];
-      const title = titles[match[0]];
-
-      // If more than one term searched for, we require other words to be
-      // found in the name/title/description
-      const otherTerms = new Set(objectTerms);
-      otherTerms.delete(object);
-      if (otherTerms.size > 0) {
-        const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase();
-        if (
-          [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0)
-        )
-          return;
+  performObjectSearch : function(object, otherterms) {
+    var filenames = this._index.filenames;
+    var docnames = this._index.docnames;
+    var objects = this._index.objects;
+    var objnames = this._index.objnames;
+    var titles = this._index.titles;
+
+    var i;
+    var results = [];
+
+    for (var prefix in objects) {
+      for (var name in objects[prefix]) {
+        var fullname = (prefix ? prefix + '.' : '') + name;
+        var fullnameLower = fullname.toLowerCase()
+        if (fullnameLower.indexOf(object) > -1) {
+          var score = 0;
+          var parts = fullnameLower.split('.');
+          // check for different match types: exact matches of full name or
+          // "last name" (i.e. last dotted part)
+          if (fullnameLower == object || parts[parts.length - 1] == object) {
+            score += Scorer.objNameMatch;
+          // matches in last name
+          } else if (parts[parts.length - 1].indexOf(object) > -1) {
+            score += Scorer.objPartialMatch;
+          }
+          var match = objects[prefix][name];
+          var objname = objnames[match[1]][2];
+          var title = titles[match[0]];
+          // If more than one term searched for, we require other words to be
+          // found in the name/title/description
+          if (otherterms.length > 0) {
+            var haystack = (prefix + ' ' + name + ' ' +
+                            objname + ' ' + title).toLowerCase();
+            var allfound = true;
+            for (i = 0; i < otherterms.length; i++) {
+              if (haystack.indexOf(otherterms[i]) == -1) {
+                allfound = false;
+                break;
+              }
+            }
+            if (!allfound) {
+              continue;
+            }
+          }
+          var descr = objname + _(', in ') + title;
+
+          var anchor = match[3];
+          if (anchor === '')
+            anchor = fullname;
+          else if (anchor == '-')
+            anchor = objnames[match[1]][1] + '-' + fullname;
+          // add custom score for some objects according to scorer
+          if (Scorer.objPrio.hasOwnProperty(match[2])) {
+            score += Scorer.objPrio[match[2]];
+          } else {
+            score += Scorer.objPrioDefault;
+          }
+          results.push([docnames[match[0]], fullname, '#'+anchor, descr, score, filenames[match[0]]]);
+        }
       }
+    }
 
-      let anchor = match[3];
-      if (anchor === "") anchor = fullname;
-      else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname;
-
-      const descr = objName + _(", in ") + title;
-
-      // add custom score for some objects according to scorer
-      if (Scorer.objPrio.hasOwnProperty(match[2]))
-        score += Scorer.objPrio[match[2]];
-      else score += Scorer.objPrioDefault;
-
-      results.push([
-        docNames[match[0]],
-        fullname,
-        "#" + anchor,
-        descr,
-        score,
-        filenames[match[0]],
-      ]);
-    };
-    Object.keys(objects).forEach((prefix) =>
-      objects[prefix].forEach((array) =>
-        objectSearchCallback(prefix, array)
-      )
-    );
     return results;
   },
 
+  /**
+   * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
+   */
+  escapeRegExp : function(string) {
+    return string.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
+  },
+
   /**
    * search for full-text terms in the index
    */
-  performTermsSearch: (searchTerms, excludedTerms) => {
-    // prepare search
-    const terms = Search._index.terms;
-    const titleTerms = Search._index.titleterms;
-    const filenames = Search._index.filenames;
-    const docNames = Search._index.docnames;
-    const titles = Search._index.titles;
+  performTermsSearch : function(searchterms, excluded, terms, titleterms) {
+    var docnames = this._index.docnames;
+    var filenames = this._index.filenames;
+    var titles = this._index.titles;
 
-    const scoreMap = new Map();
-    const fileMap = new Map();
+    var i, j, file;
+    var fileMap = {};
+    var scoreMap = {};
+    var results = [];
 
     // perform the search on the required terms
-    searchTerms.forEach((word) => {
-      const files = [];
-      const arr = [
-        { files: terms[word], score: Scorer.term },
-        { files: titleTerms[word], score: Scorer.title },
+    for (i = 0; i < searchterms.length; i++) {
+      var word = searchterms[i];
+      var files = [];
+      var _o = [
+        {files: terms[word], score: Scorer.term},
+        {files: titleterms[word], score: Scorer.title}
       ];
       // add support for partial matches
       if (word.length > 2) {
-        const escapedWord = _escapeRegExp(word);
-        Object.keys(terms).forEach((term) => {
-          if (term.match(escapedWord) && !terms[word])
-            arr.push({ files: terms[term], score: Scorer.partialTerm });
-        });
-        Object.keys(titleTerms).forEach((term) => {
-          if (term.match(escapedWord) && !titleTerms[word])
-            arr.push({ files: titleTerms[word], score: Scorer.partialTitle });
-        });
+        var word_regex = this.escapeRegExp(word);
+        for (var w in terms) {
+          if (w.match(word_regex) && !terms[word]) {
+            _o.push({files: terms[w], score: Scorer.partialTerm})
+          }
+        }
+        for (var w in titleterms) {
+          if (w.match(word_regex) && !titleterms[word]) {
+              _o.push({files: titleterms[w], score: Scorer.partialTitle})
+          }
+        }
       }
 
       // no match but word was a required one
-      if (arr.every((record) => record.files === undefined)) return;
-
+      if ($u.every(_o, function(o){return o.files === undefined;})) {
+        break;
+      }
       // found search word in contents
-      arr.forEach((record) => {
-        if (record.files === undefined) return;
-
-        let recordFiles = record.files;
-        if (recordFiles.length === undefined) recordFiles = [recordFiles];
-        files.push(...recordFiles);
-
-        // set score for the word in each file
-        recordFiles.forEach((file) => {
-          if (!scoreMap.has(file)) scoreMap.set(file, {});
-          scoreMap.get(file)[word] = record.score;
-        });
+      $u.each(_o, function(o) {
+        var _files = o.files;
+        if (_files === undefined)
+          return
+
+        if (_files.length === undefined)
+          _files = [_files];
+        files = files.concat(_files);
+
+        // set score for the word in each file to Scorer.term
+        for (j = 0; j < _files.length; j++) {
+          file = _files[j];
+          if (!(file in scoreMap))
+            scoreMap[file] = {};
+          scoreMap[file][word] = o.score;
+        }
       });
 
       // create the mapping
-      files.forEach((file) => {
-        if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1)
-          fileMap.get(file).push(word);
-        else fileMap.set(file, [word]);
-      });
-    });
+      for (j = 0; j < files.length; j++) {
+        file = files[j];
+        if (file in fileMap && fileMap[file].indexOf(word) === -1)
+          fileMap[file].push(word);
+        else
+          fileMap[file] = [word];
+      }
+    }
 
     // now check if the files don't contain excluded terms
-    const results = [];
-    for (const [file, wordList] of fileMap) {
-      // check if all requirements are matched
+    for (file in fileMap) {
+      var valid = true;
 
-      // as search terms with length < 3 are discarded
-      const filteredTermCount = [...searchTerms].filter(
-        (term) => term.length > 2
-      ).length;
+      // check if all requirements are matched
+      var filteredTermCount = // as search terms with length < 3 are discarded: ignore
+        searchterms.filter(function(term){return term.length > 2}).length
       if (
-        wordList.length !== searchTerms.size &&
-        wordList.length !== filteredTermCount
-      )
-        continue;
+        fileMap[file].length != searchterms.length &&
+        fileMap[file].length != filteredTermCount
+      ) continue;
 
       // ensure that none of the excluded terms is in the search result
-      if (
-        [...excludedTerms].some(
-          (term) =>
-            terms[term] === file ||
-            titleTerms[term] === file ||
-            (terms[term] || []).includes(file) ||
-            (titleTerms[term] || []).includes(file)
-        )
-      )
-        break;
+      for (i = 0; i < excluded.length; i++) {
+        if (terms[excluded[i]] == file ||
+            titleterms[excluded[i]] == file ||
+            $u.contains(terms[excluded[i]] || [], file) ||
+            $u.contains(titleterms[excluded[i]] || [], file)) {
+          valid = false;
+          break;
+        }
+      }
 
-      // select one (max) score for the file.
-      const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w]));
-      // add result to the result list
-      results.push([
-        docNames[file],
-        titles[file],
-        "",
-        null,
-        score,
-        filenames[file],
-      ]);
+      // if we have still a valid result we can add it to the result list
+      if (valid) {
+        // select one (max) score for the file.
+        // for better ranking, we should calculate ranking by using words statistics like basic tf-idf...
+        var score = $u.max($u.map(fileMap[file], function(w){return scoreMap[file][w]}));
+        results.push([docnames[file], titles[file], '', null, score, filenames[file]]);
+      }
     }
     return results;
   },
@@ -539,28 +495,34 @@ const Search = {
   /**
    * helper function to return a node containing the
    * search summary for a given text. keywords is a list
-   * of stemmed words.
+   * of stemmed words, hlwords is the list of normal, unstemmed
+   * words. the first one is used to find the occurrence, the
+   * latter for highlighting it.
    */
-  makeSearchSummary: (htmlText, keywords) => {
-    const text = Search.htmlToText(htmlText);
-    if (text === "") return null;
-
-    const textLower = text.toLowerCase();
-    const actualStartPosition = [...keywords]
-      .map((k) => textLower.indexOf(k.toLowerCase()))
-      .filter((i) => i > -1)
-      .slice(-1)[0];
-    const startWithContext = Math.max(actualStartPosition - 120, 0);
-
-    const top = startWithContext === 0 ? "" : "...";
-    const tail = startWithContext + 240 < text.length ? "..." : "";
-
-    let summary = document.createElement("p");
-    summary.classList.add("context");
-    summary.textContent = top + text.substr(startWithContext, 240).trim() + tail;
-
-    return summary;
-  },
+  makeSearchSummary : function(htmlText, keywords, hlwords) {
+    var text = Search.htmlToText(htmlText);
+    if (text == "") {
+      return null;
+    }
+    var textLower = text.toLowerCase();
+    var start = 0;
+    $.each(keywords, function() {
+      var i = textLower.indexOf(this.toLowerCase());
+      if (i > -1)
+        start = i;
+    });
+    start = Math.max(start - 120, 0);
+    var excerpt = ((start > 0) ? '...' : '') +
+      $.trim(text.substr(start, 240)) +
+      ((start + 240 - text.length) ? '...' : '');
+    var rv = $('<p class="context"></p>').text(excerpt);
+    $.each(hlwords, function() {
+      rv = rv.highlightText(this, 'highlighted');
+    });
+    return rv;
+  }
 };
 
-_ready(Search.init);
+$(document).ready(function() {
+  Search.init();
+});
diff --git a/doc/_build/html/genindex.html b/doc/_build/html/genindex.html
index 69d0f2e..a27dbbe 100644
--- a/doc/_build/html/genindex.html
+++ b/doc/_build/html/genindex.html
@@ -13,9 +13,7 @@
         <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
         <script src="_static/jquery.js"></script>
         <script src="_static/underscore.js"></script>
-        <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
         <script src="_static/doctools.js"></script>
-        <script src="_static/sphinx_highlight.js"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="#" />
     <link rel="search" title="Search" href="search.html" /> 
@@ -67,8 +65,8 @@
         <div class="rst-content">
           <div role="navigation" aria-label="Page navigation">
   <ul class="wy-breadcrumbs">
-      <li><a href="index.html" class="icon icon-home"></a></li>
-      <li class="breadcrumb-item active">Index</li>
+      <li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
+      <li>Index</li>
       <li class="wy-breadcrumbs-aside">
       </li>
   </ul>
diff --git a/doc/_build/html/index.html b/doc/_build/html/index.html
index 59f8bac..3c7e568 100644
--- a/doc/_build/html/index.html
+++ b/doc/_build/html/index.html
@@ -14,9 +14,7 @@
         <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
         <script src="_static/jquery.js"></script>
         <script src="_static/underscore.js"></script>
-        <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
         <script src="_static/doctools.js"></script>
-        <script src="_static/sphinx_highlight.js"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -48,7 +46,7 @@
 <li class="toctree-l1"><a class="reference internal" href="#installation">Installation</a></li>
 <li class="toctree-l1"><a class="reference internal" href="#input">Input</a></li>
 <li class="toctree-l1"><a class="reference internal" href="#command-line-usage-example">Command line usage example:</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#named-arguments">Named Arguments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#Named Arguments">Named Arguments</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="#indices-and-tables">Indices and tables</a><ul>
@@ -81,8 +79,8 @@
         <div class="rst-content">
           <div role="navigation" aria-label="Page navigation">
   <ul class="wy-breadcrumbs">
-      <li><a href="#" class="icon icon-home"></a></li>
-      <li class="breadcrumb-item active">Welcome to jass_preprocessing’s documentation!</li>
+      <li><a href="#" class="icon icon-home"></a> &raquo;</li>
+      <li>Welcome to jass_preprocessing’s documentation!</li>
       <li class="wy-breadcrumbs-aside">
             <a href="_sources/index.rst.txt" rel="nofollow"> View page source</a>
       </li>
@@ -93,7 +91,7 @@
            <div itemprop="articleBody">
              
   <section id="welcome-to-jass-preprocessing-s-documentation">
-<h1>Welcome to jass_preprocessing’s documentation!<a class="headerlink" href="#welcome-to-jass-preprocessing-s-documentation" title="Permalink to this heading"></a></h1>
+<h1>Welcome to jass_preprocessing’s documentation!<a class="headerlink" href="#welcome-to-jass-preprocessing-s-documentation" title="Permalink to this headline"></a></h1>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
 <ul class="current">
@@ -105,7 +103,7 @@
 <li class="toctree-l1"><a class="reference internal" href="#installation">Installation</a></li>
 <li class="toctree-l1"><a class="reference internal" href="#input">Input</a></li>
 <li class="toctree-l1"><a class="reference internal" href="#command-line-usage-example">Command line usage example:</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#named-arguments">Named Arguments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#Named Arguments">Named Arguments</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="#indices-and-tables">Indices and tables</a><ul>
@@ -120,22 +118,22 @@
 </div>
 </section>
 <section id="what-is-jass-preprocessing">
-<h1>What is jass preprocessing ?<a class="headerlink" href="#what-is-jass-preprocessing" title="Permalink to this heading"></a></h1>
-<p>Jass preprocessing is a tool that takes in input
+<h1>What is jass preprocessing ?<a class="headerlink" href="#what-is-jass-preprocessing" title="Permalink to this headline"></a></h1>
+<p>Jass preprocessing is a command line tool that takes in input
 heterogeneous GWAS summary statistics and performs standardization and quality checks to output standardized summary statistic files that can be used as input in the JASS python package and the RAISS imputation package.</p>
 </section>
 <section id="overview">
-<h1>Overview<a class="headerlink" href="#overview" title="Permalink to this heading"></a></h1>
+<h1>Overview<a class="headerlink" href="#overview" title="Permalink to this headline"></a></h1>
 <p>The QC and preprocessing step goes as follow:</p>
-<ul class="simple">
-<li><p>map column from of a specific GWAS to standardize names</p></li>
+<ol class="arabic simple">
+<li><p>Map column from of a heterogeneous GWAS entry file to standardize names</p></li>
 <li><p>Select GWAS SNPs that are in the input reference panel</p></li>
-<li><p>Align coded allele of the GWAS with the reference panel</p></li>
-<li><p>Infer Number of sample by SNPs if not present in input data</p></li>
-<li><p>Filter SNPs with a small sample size</p></li>
-<li><p>Normalize the effect size by sample size to have Z-scores</p></li>
+<li><p>Align coded allele of the GWASs data with the reference panel</p></li>
+<li><p>Infer the sample size by SNPs if not present in input data (from MAF, standard deviation and genetic effect)</p></li>
+<li><p>Filter SNPs with an heterogeneous sample size (as JASS and RAISS packages assume sample size to be constant across SNPs)</p></li>
+<li><p>Normalize the effect size to Z-scores</p></li>
 <li><p>Save the output by chromosome as the following example:</p></li>
-</ul>
+</ol>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 28%" />
@@ -162,18 +160,20 @@ heterogeneous GWAS summary statistics and performs standardization and quality c
 </tbody>
 </table>
 <ul class="simple">
-<li><p>(Optional) Save the output to one file with a chromosome column</p></li>
+<li><p>(Optional step) Save the output to one file with a chromosome column</p></li>
 </ul>
-<p>(input format needed to perform LD-score)</p>
+<p>(input format needed to perform LD-score). The additional output correspond to: P, the p-value; N_effective (Effective sample size estimated/retrieved from the data).
+Effective sample size refers to the total sample size for continuous trait and to 1 / ( 1/Ncases + 1/Ncontrol ) for binary traits.</p>
 <table class="docutils align-default">
 <colgroup>
-<col style="width: 16%" />
-<col style="width: 25%" />
-<col style="width: 18%" />
-<col style="width: 9%" />
-<col style="width: 9%" />
-<col style="width: 11%" />
 <col style="width: 11%" />
+<col style="width: 18%" />
+<col style="width: 13%" />
+<col style="width: 6%" />
+<col style="width: 6%" />
+<col style="width: 8%" />
+<col style="width: 8%" />
+<col style="width: 29%" />
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p>chrom</p></td>
@@ -183,6 +183,7 @@ heterogeneous GWAS summary statistics and performs standardization and quality c
 <td><p>A1</p></td>
 <td><p>Z</p></td>
 <td><p>P</p></td>
+<td><p>N_effective</p></td>
 </tr>
 <tr class="row-even"><td><p>1</p></td>
 <td><p>rs4075116</p></td>
@@ -191,24 +192,28 @@ heterogeneous GWAS summary statistics and performs standardization and quality c
 <td><p>T</p></td>
 <td><p>0.3</p></td>
 <td><p>0.76</p></td>
+<td><p>10220.98</p></td>
 </tr>
 </tbody>
 </table>
 </section>
 <section id="installation">
-<h1>Installation<a class="headerlink" href="#installation" title="Permalink to this heading"></a></h1>
+<h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline"></a></h1>
 <p>In a terminal, execute the following lines:</p>
 <div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>pip3 install git+https://gitlab.pasteur.fr/statistical-genetics/JASS_Pre-processing
 </pre></div>
 </div>
 </section>
 <section id="input">
-<h1>Input<a class="headerlink" href="#input" title="Permalink to this heading"></a></h1>
+<h1>Input<a class="headerlink" href="#input" title="Permalink to this headline"></a></h1>
 <ul class="simple">
-<li><p>A reference panel (1000 genome format). The user is expected to provide a reference panel</p></li>
+<li><p><strong>A reference panel</strong> to the format below. The user is expected to provide a reference panel</p></li>
 </ul>
 <blockquote>
-<div><p>in tsv format with the following columns in the following order, without header:</p>
+<div><dl class="simple">
+<dt>in tsv format with the following columns in the following order (chromosome, rsID, Minor Allele</dt><dd><p>Frequency, Position, reference, Alternative allele), <strong>without header</strong>.</p>
+</dd>
+</dl>
 </div></blockquote>
 <table class="docutils align-default">
 <colgroup>
@@ -220,37 +225,30 @@ heterogeneous GWAS summary statistics and performs standardization and quality c
 <col style="width: 12%" />
 </colgroup>
 <thead>
-<tr class="row-odd"><th class="head"><p>chr</p></th>
-<th class="head"><p>snp_id</p></th>
-<th class="head"><p>MAF</p></th>
-<th class="head"><p>pos</p></th>
-<th class="head"><p>ref</p></th>
-<th class="head"><p>alt</p></th>
+<tr class="row-odd"><th class="head"><p>1</p></th>
+<th class="head"><p>rs62635286</p></th>
+<th class="head"><p>0.0970447</p></th>
+<th class="head"><p>13116</p></th>
+<th class="head"><p>T</p></th>
+<th class="head"><p>G</p></th>
 </tr>
 </thead>
 <tbody>
 <tr class="row-even"><td><p>1</p></td>
-<td><p>rs62635286</p></td>
-<td><p>0.0970447</p></td>
-<td><p>13116</p></td>
-<td><p>T</p></td>
-<td><p>G</p></td>
-</tr>
-<tr class="row-odd"><td><p>1</p></td>
 <td><p>rs63125786</p></td>
 <td><p>0.0970447</p></td>
 <td><p>15116</p></td>
 <td><p>T</p></td>
 <td><p>A</p></td>
 </tr>
-<tr class="row-even"><td><p>1</p></td>
+<tr class="row-odd"><td><p>1</p></td>
 <td><p>rs5686</p></td>
 <td><p>0.1970447</p></td>
 <td><p>17116</p></td>
 <td><p>A</p></td>
 <td><p>G</p></td>
 </tr>
-<tr class="row-odd"><td><p>1</p></td>
+<tr class="row-even"><td><p>1</p></td>
 <td><p>rs892586</p></td>
 <td><p>0.7670447</p></td>
 <td><p>23116</p></td>
@@ -260,15 +258,11 @@ heterogeneous GWAS summary statistics and performs standardization and quality c
 </tbody>
 </table>
 <ul class="simple">
-<li><p>Folder containing all raw gwas data : (all chromosomes in one file) (minimal conditions?? tab separated?)</p></li>
-<li><p>a list containing the name of GWAS file to the string format.</p></li>
-<li><p>A descriptor csv files that will described each GWAS summary statistic files:</p>
-<ul>
-<li><p>a header</p></li>
-<li><p>1 line per study</p></li>
-<li><p>the fields are:</p></li>
-</ul>
-</li>
+<li><p>The <strong>GWAS Folder</strong> containing all raw gwas data (correspond to the –gwas-info command line parameter): all chromosomes in one file, compressed or uncompressed</p></li>
+<li><p>A descriptor csv files (see example below and <a class="reference external" href="https://gitlab.pasteur.fr/statistical-genetics/jass_suite_pipeline/-/blob/master/input_files/Data_test_EAS.csv">here</a>)that will described each GWAS summary statistic files (correspond to the –input-folder command line parameter):
+* a header
+* 1 line per study
+* the fields categories are:</p></li>
 </ul>
 <table class="docutils align-default">
 <colgroup>
@@ -285,18 +279,46 @@ heterogeneous GWAS summary statistics and performs standardization and quality c
 <td><p>filename</p></td>
 </tr>
 <tr class="row-odd"><td><p>study info fields</p></td>
-<td><p>Consortium,Outcome,fullName,type,Nsample,Ncase,Ncontrol,Nsnp</p></td>
+<td><p>Consortium,Outcome,fullName,Nsample,Ncase,Ncontrol,Nsnp</p></td>
 </tr>
 <tr class="row-even"><td><p>names of the header in the GWAS file</p></td>
 <td><p>snpid,a1,a2,freq,pval,n,z,OR,se,code,imp,ncas,ncont</p></td>
 </tr>
 </tbody>
 </table>
-<p>Note that the combination of Consortium and outcome must be unique because it will be used as an index in the cleaning process.</p>
-<p>Here is an example of descriptor field, the field irrelevant (for example odd ratio for continuous trait) for the study must be filled with na.
+<p><strong>Study field definition</strong>:</p>
+<ul class="simple">
+<li><p>filename: gwas summary statistic name as it appear in the <strong>GWAS folder</strong></p></li>
+<li><p>Consortium : the Consortium of the study (can also be the category of the trait) in <strong>upper case and without _ characters</strong></p></li>
+<li><p>Outcome: a short tag for the Outcome of the study in <strong>upper case and without _ characters</strong></p></li>
+<li><p>FullName: full description of the trait (for your own information not used in the cleaning process)</p></li>
+<li><p>Nsample: Number of sample in the study</p></li>
+<li><p>Ncase: Number of cases in the study (left empty if trait is continuous)</p></li>
+<li><p>Ncontrol: Number of control in the study (left empty if trait is continuous)</p></li>
+</ul>
+<p><strong>Field corresping to column names in the summary statistic</strong></p>
+<ul class="simple">
+<li><p>snpid: name of the column storing rsid in the gwas file</p></li>
+<li><p>POS: name of the column storing the position in the gwas file</p></li>
+<li><p>CHR: name of the column storing the chromosome in the gwas file</p></li>
+<li><p>a1: effect allele</p></li>
+<li><p>a2: Other allele</p></li>
+<li><p>freq: name of the column storing the minor allele frequence in the gwas file</p></li>
+<li><p>pval: name of the column storing the pvalue in the gwas file</p></li>
+<li><p>n: name of the column storing the sample size by variants (optional, will be inferred from the MAF, genetic effect and standard deviation if absent)</p></li>
+<li><p>z: name of the column storing the genetic effect (beta) in the gwas file</p></li>
+<li><p>index-type: precise the type of index</p></li>
+<li><p>imputation_quality: (Optional) column containing individual-based imputation quality. Will be used to filter low quality imputation data from GWASs if the option –imputation-quality-treshold is used</p></li>
+</ul>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Note that the concatenation of Consortium and Outcome must be <strong>unique</strong> because as it will be used as an index in the cleaning process.
+Both Outcome and Consortium must be in <strong>uppercase and with no _ characters</strong></p>
+</div>
+<p>Here is an example of descriptor field (downloadable example <a class="reference external" href="https://gitlab.pasteur.fr/statistical-genetics/jass_suite_pipeline/-/blob/master/input_files/Data_test_EAS.csv">here</a>), the field irrelevant (for example odd ratio for continuous trait) for the study must be filled with na or left empty.
 Some fields are optional like the imputation_quality. If not used they can be filled with na.</p>
-<table class="docutils align-default" id="id1">
-<caption><span class="caption-text">GWAS information table</span><a class="headerlink" href="#id1" title="Permalink to this table"></a></caption>
+<table class="docutils align-default" id="id2">
+<caption><span class="caption-text">GWAS information table</span><a class="headerlink" href="#id2" title="Permalink to this table"></a></caption>
 <colgroup>
 <col style="width: 4%" />
 <col style="width: 4%" />
@@ -322,18 +344,20 @@ Some fields are optional like the imputation_quality. If not used they can be fi
 <col style="width: 4%" />
 <col style="width: 4%" />
 <col style="width: 4%" />
+<col style="width: 4%" />
 </colgroup>
 <thead>
 <tr class="row-odd"><th class="head"><p>filename</p></th>
-<th class="head"><p>consortia</p></th>
-<th class="head"><p>outcome</p></th>
-<th class="head"><p>fullName</p></th>
-<th class="head"><p>type</p></th>
+<th class="head"><p>Consortium</p></th>
+<th class="head"><p>Outcome</p></th>
+<th class="head"><p>FullName</p></th>
+<th class="head"><p>Type</p></th>
 <th class="head"><p>Nsample</p></th>
 <th class="head"><p>Ncase</p></th>
 <th class="head"><p>Ncontrol</p></th>
 <th class="head"><p>Nsnp</p></th>
 <th class="head"><p>snpid</p></th>
+<th class="head"><p>POS</p></th>
 <th class="head"><p>a1</p></th>
 <th class="head"><p>a2</p></th>
 <th class="head"><p>freq</p></th>
@@ -361,6 +385,7 @@ Some fields are optional like the imputation_quality. If not used they can be fi
 <td><p>na</p></td>
 <td><p>2550858</p></td>
 <td><p>MarkerName</p></td>
+<td><p>position</p></td>
 <td><p>Allele1</p></td>
 <td><p>Allele2</p></td>
 <td><p>Freq.Allele1.HapMapCEU</p></td>
@@ -374,22 +399,21 @@ Some fields are optional like the imputation_quality. If not used they can be fi
 <td><p>na</p></td>
 <td><p>na</p></td>
 <td><p>imputationInfo</p></td>
-<td><p>rsID</p></td>
+<td><p>rs-number</p></td>
 </tr>
 </tbody>
 </table>
 </section>
 <section id="command-line-usage-example">
-<h1>Command line usage example:<a class="headerlink" href="#command-line-usage-example" title="Permalink to this heading"></a></h1>
+<h1>Command line usage example:<a class="headerlink" href="#command-line-usage-example" title="Permalink to this headline"></a></h1>
 <p>It is possible to launch the complete preprocessing (all steps described in section Overview section) from the command line:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">jass_preprocessing</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="o">--</span><span class="n">gwas</span><span class="o">-</span><span class="n">info</span> <span class="n">GWAS_INFO</span> <span class="o">--</span><span class="n">ref</span><span class="o">-</span><span class="n">path</span> <span class="n">REF_PATH</span> <span class="o">--</span><span class="nb">input</span><span class="o">-</span><span class="n">folder</span> <span class="n">INPUT_FOLDER</span> <span class="o">--</span><span class="n">diagnostic</span><span class="o">-</span><span class="n">folder</span> <span class="n">DIAGNOSTIC_FOLDER</span> <span class="o">--</span><span class="n">output</span><span class="o">-</span><span class="n">folder</span>
-                          <span class="n">OUTPUT_FOLDER</span> <span class="p">[</span><span class="o">--</span><span class="n">output</span><span class="o">-</span><span class="n">folder</span><span class="o">-</span><span class="mi">1</span><span class="o">-</span><span class="n">file</span> <span class="n">OUTPUT_FOLDER_1_FILE</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">percent</span><span class="o">-</span><span class="n">sample</span><span class="o">-</span><span class="n">size</span> <span class="n">PERCENT_SAMPLE_SIZE</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">minimum</span><span class="o">-</span><span class="n">MAF</span> <span class="n">MINIMUM_MAF</span><span class="p">]</span>
-                          <span class="p">[</span><span class="o">--</span><span class="n">mask</span><span class="o">-</span><span class="n">MHC</span> <span class="n">MASK_MHC</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">additional</span><span class="o">-</span><span class="n">masked</span><span class="o">-</span><span class="n">region</span> <span class="n">ADDITIONAL_MASKED_REGION</span><span class="p">]</span>
-                          <span class="p">[</span><span class="o">--</span><span class="n">imputation</span><span class="o">-</span><span class="n">quality</span><span class="o">-</span><span class="n">treshold</span> <span class="n">IMPUTATION_QUALITY_TRESHOLD</span><span class="p">]</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">jass_preprocessing</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="o">--</span><span class="n">gwas</span><span class="o">-</span><span class="n">info</span> <span class="n">GWAS_INFO</span> <span class="o">--</span><span class="n">ref</span><span class="o">-</span><span class="n">path</span> <span class="n">REF_PATH</span> <span class="o">--</span><span class="nb">input</span><span class="o">-</span><span class="n">folder</span> <span class="n">INPUT_FOLDER</span> <span class="o">--</span><span class="n">diagnostic</span><span class="o">-</span><span class="n">folder</span> <span class="n">DIAGNOSTIC_FOLDER</span> <span class="o">--</span><span class="n">output</span><span class="o">-</span><span class="n">folder</span> <span class="n">OUTPUT_FOLDER</span>
+                          <span class="p">[</span><span class="o">--</span><span class="n">output</span><span class="o">-</span><span class="n">folder</span><span class="o">-</span><span class="mi">1</span><span class="o">-</span><span class="n">file</span> <span class="n">OUTPUT_FOLDER_1_FILE</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">percent</span><span class="o">-</span><span class="n">sample</span><span class="o">-</span><span class="n">size</span> <span class="n">PERCENT_SAMPLE_SIZE</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">minimum</span><span class="o">-</span><span class="n">MAF</span> <span class="n">MINIMUM_MAF</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">mask</span><span class="o">-</span><span class="n">MHC</span> <span class="n">MASK_MHC</span><span class="p">]</span>
+                          <span class="p">[</span><span class="o">--</span><span class="n">additional</span><span class="o">-</span><span class="n">masked</span><span class="o">-</span><span class="n">region</span> <span class="n">ADDITIONAL_MASKED_REGION</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">imputation</span><span class="o">-</span><span class="n">quality</span><span class="o">-</span><span class="n">treshold</span> <span class="n">IMPUTATION_QUALITY_TRESHOLD</span><span class="p">]</span>
 </pre></div>
 </div>
-<section id="named-arguments">
-<h2>Named Arguments<a class="headerlink" href="#named-arguments" title="Permalink to this heading"></a></h2>
+<section id="Named Arguments">
+<h2>Named Arguments<a class="headerlink" href="#Named Arguments" title="Permalink to this headline"></a></h2>
 <dl class="option-list">
 <dt><kbd>--gwas-info</kbd></dt>
 <dd><p>Path to the file describing the format of the individual GWASs files with correct header</p>
@@ -433,12 +457,12 @@ Some fields are optional like the imputation_quality. If not used they can be fi
 </section>
 </section>
 <section id="indices-and-tables">
-<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this heading"></a></h1>
+<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline"></a></h1>
 <ul class="simple">
 <li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
 <li><p><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></p></li>
 </ul>
-<span class="target" id="module-jass_preprocessing"></span><table class="autosummary longtable docutils align-default">
+<span class="target" id="module-jass_preprocessing"></span><table class="longtable docutils align-default">
 <colgroup>
 <col style="width: 10%" />
 <col style="width: 90%" />
diff --git a/doc/_build/html/py-modindex.html b/doc/_build/html/py-modindex.html
index 4182839..8ff2799 100644
--- a/doc/_build/html/py-modindex.html
+++ b/doc/_build/html/py-modindex.html
@@ -13,9 +13,7 @@
         <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
         <script src="_static/jquery.js"></script>
         <script src="_static/underscore.js"></script>
-        <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
         <script src="_static/doctools.js"></script>
-        <script src="_static/sphinx_highlight.js"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -70,8 +68,8 @@
         <div class="rst-content">
           <div role="navigation" aria-label="Page navigation">
   <ul class="wy-breadcrumbs">
-      <li><a href="index.html" class="icon icon-home"></a></li>
-      <li class="breadcrumb-item active">Python Module Index</li>
+      <li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
+      <li>Python Module Index</li>
       <li class="wy-breadcrumbs-aside">
       </li>
   </ul>
diff --git a/doc/_build/html/search.html b/doc/_build/html/search.html
index 626b0ed..502fda6 100644
--- a/doc/_build/html/search.html
+++ b/doc/_build/html/search.html
@@ -14,9 +14,7 @@
         <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
         <script src="_static/jquery.js"></script>
         <script src="_static/underscore.js"></script>
-        <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
         <script src="_static/doctools.js"></script>
-        <script src="_static/sphinx_highlight.js"></script>
     <script src="_static/js/theme.js"></script>
     <script src="_static/searchtools.js"></script>
     <script src="_static/language_data.js"></script>
@@ -70,8 +68,8 @@
         <div class="rst-content">
           <div role="navigation" aria-label="Page navigation">
   <ul class="wy-breadcrumbs">
-      <li><a href="index.html" class="icon icon-home"></a></li>
-      <li class="breadcrumb-item active">Search</li>
+      <li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
+      <li>Search</li>
       <li class="wy-breadcrumbs-aside">
       </li>
   </ul>
diff --git a/doc/_build/html/searchindex.js b/doc/_build/html/searchindex.js
index 3770a44..017421a 100644
--- a/doc/_build/html/searchindex.js
+++ b/doc/_build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_autosummary/_autosummary/jass_preprocessing.compute_score", "_autosummary/_autosummary/jass_preprocessing.dna_utils", "_autosummary/_autosummary/jass_preprocessing.map_gwas", "_autosummary/_autosummary/jass_preprocessing.map_reference", "_autosummary/_autosummary/jass_preprocessing.save_output", "_autosummary/jass_preprocessing", "_autosummary/jass_preprocessing.compute_score", "_autosummary/jass_preprocessing.dna_utils", "_autosummary/jass_preprocessing.map_gwas", "_autosummary/jass_preprocessing.map_reference", "_autosummary/jass_preprocessing.save_output", "_autosummary/modules", "index"], "filenames": ["_autosummary/_autosummary/jass_preprocessing.compute_score.rst", "_autosummary/_autosummary/jass_preprocessing.dna_utils.rst", "_autosummary/_autosummary/jass_preprocessing.map_gwas.rst", "_autosummary/_autosummary/jass_preprocessing.map_reference.rst", "_autosummary/_autosummary/jass_preprocessing.save_output.rst", "_autosummary/jass_preprocessing.rst", "_autosummary/jass_preprocessing.compute_score.rst", "_autosummary/jass_preprocessing.dna_utils.rst", "_autosummary/jass_preprocessing.map_gwas.rst", "_autosummary/jass_preprocessing.map_reference.rst", "_autosummary/jass_preprocessing.save_output.rst", "_autosummary/modules.rst", "index.rst"], "titles": ["jass_preprocessing.compute_score", "jass_preprocessing.dna_utils", "jass_preprocessing.map_gwas", "jass_preprocessing.map_reference", "jass_preprocessing.save_output", "jass_preprocessing package", "jass_preprocessing.compute_score", "jass_preprocessing.dna_utils", "jass_preprocessing.map_gwas", "jass_preprocessing.map_reference", "jass_preprocessing.save_output", "jass_preprocessing", "Welcome to jass_preprocessing\u2019s documentation!"], "terms": {"function": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "few": [1, 5, 7], "fonction": [1, 5, 7], "comput": [1, 5, 7, 12], "dna": [1, 5, 7], "complement": [1, 5, 7], "map": [2, 5, 8, 12], "gwa": [2, 5, 8], "A": [2, 5, 8, 12], "set": [2, 5, 8], "find": [2, 5, 8], "file": [2, 5, 8, 12], "subfold": [2, 5, 8], "column": [2, 5, 8, 12], "modul": [3, 9, 11, 12], "compute_sample_s": [5, 11], "mgwa": 5, "diagnostic_fold": [5, 12], "trait": [5, 12], "perss": 5, "0": [5, 12], "7": [5, 12], "sourc": 5, "compute_z_scor": [5, 11], "zscore": 5, "valu": 5, "sign1": 5, "add": 5, "correspond": 5, "datafram": 5, "dna_compl": [5, 11], "input": 5, "dna_complement_bas": [5, 11], "inputbas": 5, "convert_missing_valu": [5, 11], "df": 5, "convert": 5, "all": [5, 12], "miss": 5, "string": [5, 12], "standart": 5, "np": 5, "nan": 5, "paramet": 5, "gwas_tabl": 5, "panda": 5, "data": [5, 12], "return": 5, "equal": 5, "gwas_internal_link": [5, 11], "gwas_path": 5, "walk": 5, "path": [5, 12], "tabl": 5, "str": 5, "folder": [5, 12], "explor": 5, "findfil": 5, "name": 5, "one": [5, 12], "filenam": [5, 12], "contain": [5, 12], "complet": [5, 12], "map_columns_posit": [5, 11], "column_dict": 5, "posit": 5, "each": [5, 12], "specif": [5, 12], "gwas_label": 5, "pd": 5, "row": 5, "inform": 5, "seri": 5, "index": [5, 12], "read_gwa": [5, 11], "column_map": 5, "imputation_treshold": 5, "none": [5, 12], "read": 5, "raw": [5, 12], "fetch": 5, "thank": 5, "store": [5, 12], "renam": 5, "accord": 5, "walkf": [5, 11], "startdir": 5, "go": 5, "through": 5, "specifi": 5, "compute_is_align": [5, 11], "check": [5, 12], "refer": [5, 12], "panel": [5, 12], "have": [5, 12], "same": 5, "allel": [5, 12], "boolean": 5, "vector": 5, "The": [5, 12], "should": [5, 12], "is_flip": 5, "we": 5, "still": 5, "two": 5, "eventu": 5, "detect": 5, "weird": 5, "case": 5, "more": 5, "than": 5, "instanc": [5, 12], "compute_is_flip": [5, 11], "studi": [5, 12], "merg": 5, "reference_panel": 5, "type": [5, 12], "compute_snp_align": [5, 11], "indic": 5, "code": [5, 12], "i": 5, "flip": 5, "compar": 5, "If": [5, 12], "sign": 5, "statist": [5, 12], "must": [5, 12], "param": 5, "map_on_ref_panel": [5, 11], "gw_df": 5, "ref_panel": 5, "index_typ": [5, 12], "r": 5, "number": [5, 12], "make": 5, "sure": 5, "snp": [5, 12], "ar": [5, 12], "merge_gwa": 5, "read_refer": [5, 11], "gwas_reference_panel": 5, "mask_mhc": [5, 12], "fals": [5, 12], "minimum_maf": [5, 12], "region_to_mask": 5, "helper": 5, "correctli": 5, "toward": 5, "whether": [5, 12], "mhc": [5, 12], "region": [5, 12], "mask": [5, 12], "default": [5, 12], "bool": 5, "filter": [5, 12], "minimum": [5, 12], "frequenc": [5, 12], "hg19": 5, "coordin": [5, 12], "retain": 5, "float": 5, "list": [5, 12], "addit": [5, 12], "dict": 5, "type_of_index": 5, "appli": 5, "ref": [5, 12], "impg_output_fold": 5, "my_studi": 5, "write": 5, "preprocess": 5, "ldscore": 5, "analysi": 5, "save_output_by_chromosom": [5, 11], "imput": [5, 12], "packag": [11, 12], "submodul": 11, "compute_scor": [11, 12], "dna_util": [11, 12], "map_gwa": [11, 12], "map_refer": [11, 12], "save_output": [11, 12], "content": 11, "tool": 12, "take": 12, "heterogen": 12, "summari": 12, "perform": 12, "standard": 12, "qualiti": 12, "output": 12, "can": 12, "us": 12, "python": 12, "raiss": 12, "qc": 12, "step": 12, "goe": 12, "follow": 12, "from": 12, "select": 12, "align": 12, "infer": 12, "sampl": 12, "present": 12, "small": 12, "size": 12, "normal": 12, "effect": 12, "z": 12, "score": 12, "save": 12, "chromosom": 12, "rsid": 12, "po": 12, "a0": 12, "a1": 12, "rs6548219": 12, "30762": 12, "g": 12, "1": 12, "133": 12, "option": 12, "format": 12, "need": 12, "ld": 12, "chrom": 12, "p": 12, "rs4075116": 12, "1003629": 12, "c": 12, "t": 12, "3": 12, "76": 12, "In": 12, "termin": 12, "execut": 12, "pip3": 12, "git": 12, "http": 12, "gitlab": 12, "pasteur": 12, "fr": 12, "genet": 12, "jass_pr": 12, "process": 12, "1000": 12, "genom": 12, "user": 12, "expect": 12, "provid": 12, "tsv": 12, "order": 12, "without": 12, "header": 12, "chr": 12, "snp_id": 12, "maf": 12, "alt": 12, "rs62635286": 12, "0970447": 12, "13116": 12, "rs63125786": 12, "15116": 12, "rs5686": 12, "1970447": 12, "17116": 12, "rs892586": 12, "7670447": 12, "23116": 12, "minim": 12, "condit": 12, "tab": 12, "separ": 12, "descriptor": 12, "csv": 12, "describ": 12, "per": 12, "field": 12, "categori": 12, "info": 12, "consortium": 12, "outcom": 12, "fullnam": 12, "nsampl": 12, "ncase": 12, "ncontrol": 12, "nsnp": 12, "snpid": 12, "a2": 12, "freq": 12, "pval": 12, "n": 12, "OR": 12, "se": 12, "imp": 12, "nca": 12, "ncont": 12, "note": 12, "combin": 12, "uniqu": 12, "becaus": 12, "an": 12, "clean": 12, "here": 12, "irrelev": 12, "odd": 12, "ratio": 12, "continu": 12, "fill": 12, "na": 12, "some": 12, "like": 12, "imputation_qu": 12, "thei": 12, "consortia": 12, "giant_height_wood_et_": 12, "txt": 12, "giant": 12, "height": 12, "anthropometri": 12, "253288": 12, "2550858": 12, "markernam": 12, "allele1": 12, "allele2": 12, "hapmapceu": 12, "b": 12, "imputationinfo": 12, "It": 12, "possibl": 12, "launch": 12, "section": 12, "h": 12, "gwas_info": 12, "ref_path": 12, "input_fold": 12, "diagnost": 12, "output_fold": 12, "output_folder_1_fil": 12, "percent": 12, "percent_sample_s": 12, "additional_masked_region": 12, "treshold": 12, "imputation_quality_treshold": 12, "individu": 12, "gwass": 12, "correct": 12, "locat": 12, "determin": 12, "which": 12, "end": 12, "report": 12, "distribut": 12, "main": 12, "ouput": 12, "split": 12, "tabular": 12, "ldsc": 12, "correl": 12, "proport": 12, "between": 12, "90th": 12, "percentil": 12, "01": 12, "dictionari": 12, "For": 12, "6": 12, "start": 12, "50000000": 12, "70000000": 12, "100000000": 12, "120000000": 12, "search": 12, "page": 12}, "objects": {"": [[12, 0, 0, "-", "jass_preprocessing"]], "jass_preprocessing": [[6, 0, 0, "-", "compute_score"], [7, 0, 0, "-", "dna_utils"], [8, 0, 0, "-", "map_gwas"], [9, 0, 0, "-", "map_reference"], [10, 0, 0, "-", "save_output"]], "jass_preprocessing.compute_score": [[5, 1, 1, "", "compute_sample_size"], [5, 1, 1, "", "compute_z_score"]], "jass_preprocessing.dna_utils": [[5, 1, 1, "", "dna_complement"], [5, 1, 1, "", "dna_complement_base"]], "jass_preprocessing.map_gwas": [[5, 1, 1, "", "convert_missing_values"], [5, 1, 1, "", "gwas_internal_link"], [5, 1, 1, "", "map_columns_position"], [5, 1, 1, "", "read_gwas"], [5, 1, 1, "", "walkfs"]], "jass_preprocessing.map_reference": [[5, 1, 1, "", "compute_is_aligned"], [5, 1, 1, "", "compute_is_flipped"], [5, 1, 1, "", "compute_snp_alignement"], [5, 1, 1, "", "map_on_ref_panel"], [5, 1, 1, "", "read_reference"]], "jass_preprocessing.save_output": [[5, 1, 1, "", "save_output"], [5, 1, 1, "", "save_output_by_chromosome"]]}, "objtypes": {"0": "py:module", "1": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"]}, "titleterms": {"jass_preprocess": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], "compute_scor": [0, 5, 6], "dna_util": [1, 5, 7], "map_gwa": [2, 5, 8], "map_refer": [3, 5, 9], "save_output": [4, 5, 10], "packag": 5, "submodul": 5, "modul": 5, "content": [5, 12], "welcom": 12, "": 12, "document": 12, "what": 12, "i": 12, "jass": 12, "preprocess": 12, "overview": 12, "instal": 12, "input": 12, "command": 12, "line": 12, "usag": 12, "exampl": 12, "name": 12, "argument": 12, "indic": 12, "tabl": 12, "gwa": 12, "inform": 12}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"jass_preprocessing.compute_score": [[0, "module-jass_preprocessing.compute_score"], [6, "module-jass_preprocessing.compute_score"]], "jass_preprocessing.dna_utils": [[1, "module-jass_preprocessing.dna_utils"], [7, "module-jass_preprocessing.dna_utils"]], "jass_preprocessing.map_gwas": [[2, "module-jass_preprocessing.map_gwas"], [8, "module-jass_preprocessing.map_gwas"]], "jass_preprocessing.map_reference": [[3, "module-jass_preprocessing.map_reference"], [9, "module-jass_preprocessing.map_reference"]], "jass_preprocessing.save_output": [[4, "module-jass_preprocessing.save_output"], [10, "module-jass_preprocessing.save_output"]], "jass_preprocessing package": [[5, "jass-preprocessing-package"]], "Submodules": [[5, "submodules"]], "jass_preprocessing.compute_score module": [[5, "module-jass_preprocessing.compute_score"]], "jass_preprocessing.dna_utils module": [[5, "module-jass_preprocessing.dna_utils"]], "jass_preprocessing.map_gwas module": [[5, "module-jass_preprocessing.map_gwas"]], "jass_preprocessing.map_reference module": [[5, "module-jass_preprocessing.map_reference"]], "jass_preprocessing.save_output module": [[5, "module-jass_preprocessing.save_output"]], "Module contents": [[5, "module-jass_preprocessing"]], "jass_preprocessing": [[11, "jass-preprocessing"]], "Welcome to jass_preprocessing\u2019s documentation!": [[12, "welcome-to-jass-preprocessing-s-documentation"]], "Contents:": [[12, null]], "What is jass preprocessing ?": [[12, "what-is-jass-preprocessing"]], "Overview": [[12, "overview"]], "Installation": [[12, "installation"]], "Input": [[12, "input"]], "GWAS information table": [[12, "id1"]], "Command line usage example:": [[12, "command-line-usage-example"]], "Named Arguments": [[12, "named-arguments"]], "Indices and tables": [[12, "indices-and-tables"]]}, "indexentries": {"jass_preprocessing": [[12, "module-jass_preprocessing"]], "module": [[12, "module-jass_preprocessing"]]}})
\ No newline at end of file
+Search.setIndex({docnames:["_autosummary/_autosummary/jass_preprocessing.compute_score","_autosummary/_autosummary/jass_preprocessing.dna_utils","_autosummary/_autosummary/jass_preprocessing.map_gwas","_autosummary/_autosummary/jass_preprocessing.map_reference","_autosummary/_autosummary/jass_preprocessing.save_output","_autosummary/jass_preprocessing","_autosummary/jass_preprocessing.compute_score","_autosummary/jass_preprocessing.dna_utils","_autosummary/jass_preprocessing.map_gwas","_autosummary/jass_preprocessing.map_reference","_autosummary/jass_preprocessing.save_output","_autosummary/modules","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["_autosummary/_autosummary/jass_preprocessing.compute_score.rst","_autosummary/_autosummary/jass_preprocessing.dna_utils.rst","_autosummary/_autosummary/jass_preprocessing.map_gwas.rst","_autosummary/_autosummary/jass_preprocessing.map_reference.rst","_autosummary/_autosummary/jass_preprocessing.save_output.rst","_autosummary/jass_preprocessing.rst","_autosummary/jass_preprocessing.compute_score.rst","_autosummary/jass_preprocessing.dna_utils.rst","_autosummary/jass_preprocessing.map_gwas.rst","_autosummary/jass_preprocessing.map_reference.rst","_autosummary/jass_preprocessing.save_output.rst","_autosummary/modules.rst","index.rst"],objects:{"":{jass_preprocessing:[12,0,0,"-"]},"jass_preprocessing.compute_score":{compute_sample_size:[5,1,1,""],compute_z_score:[5,1,1,""]},"jass_preprocessing.dna_utils":{dna_complement:[5,1,1,""],dna_complement_base:[5,1,1,""]},"jass_preprocessing.map_gwas":{convert_missing_values:[5,1,1,""],gwas_internal_link:[5,1,1,""],map_columns_position:[5,1,1,""],read_gwas:[5,1,1,""],walkfs:[5,1,1,""]},"jass_preprocessing.map_reference":{compute_is_aligned:[5,1,1,""],compute_is_flipped:[5,1,1,""],compute_snp_alignement:[5,1,1,""],map_on_ref_panel:[5,1,1,""],read_reference:[5,1,1,""]},"jass_preprocessing.save_output":{save_output:[5,1,1,""],save_output_by_chromosome:[5,1,1,""]},jass_preprocessing:{compute_score:[6,0,0,"-"],dna_utils:[7,0,0,"-"],map_gwas:[8,0,0,"-"],map_reference:[9,0,0,"-"],save_output:[10,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:function"},terms:{"0":[5,12],"01":12,"0970447":12,"1":12,"100000000":12,"1003629":12,"10220":12,"120000000":12,"13116":12,"133":12,"15116":12,"17116":12,"1970447":12,"23116":12,"253288":12,"2550858":12,"3":12,"30762":12,"50000000":12,"6":12,"7":[5,12],"70000000":12,"76":12,"7670447":12,"90th":12,"98":12,"boolean":5,"case":[5,12],"default":[5,12],"float":5,"function":[0,1,2,3,4,5,6,7,8,9,10],"return":5,"short":12,A:[2,5,8,12],For:12,If:[5,12],In:12,It:12,OR:12,The:[5,12],Will:12,_:12,a0:12,a1:12,a2:12,absent:12,accord:5,across:12,add:5,addit:[5,12],additional_masked_region:12,align:12,all:[5,12],allel:[5,12],allele1:12,allele2:12,also:12,altern:12,an:12,analysi:5,anthropometri:12,appear:12,appli:5,ar:[5,12],assum:12,b:12,base:12,becaus:12,below:12,beta:12,between:12,binari:12,blob:[],bool:5,both:12,c:12,can:12,categori:12,charact:12,check:[5,12],chr:12,chrom:12,chromosom:12,clean:12,code:[5,12],column:[2,5,8,12],column_dict:5,column_map:5,combin:[],compar:5,complement:[1,5,7],complet:[5,12],compress:12,comput:[1,5,7,12],compute_is_align:5,compute_is_flip:5,compute_sample_s:5,compute_scor:[11,12],compute_snp_align:5,compute_z_scor:5,concaten:12,consortia:[],consortium:12,constant:12,contain:[5,12],content:11,continu:12,control:12,convert:5,convert_missing_valu:5,coordin:[5,12],correct:12,correctli:5,correl:12,corresp:12,correspond:[5,12],csv:12,data:[5,12],data_test_ea:[],datafram:5,definit:12,describ:12,descript:12,descriptor:12,detect:5,determin:12,deviat:12,df:5,diagnost:12,diagnostic_fold:[5,12],dict:5,dictionari:12,distribut:12,dna:[1,5,7],dna_compl:5,dna_complement_bas:5,dna_util:[11,12],download:12,each:[5,12],effect:12,empti:12,end:12,entri:12,equal:5,estim:12,eventu:5,execut:12,expect:12,explor:5,fals:[5,12],fetch:5,few:[1,5,7],field:12,file:[2,5,8,12],filenam:[5,12],fill:12,filter:[5,12],find:[2,5,8],findfil:5,flip:5,folder:[5,12],follow:12,fonction:[1,5,7],format:12,fr:12,freq:12,frequenc:[5,12],from:12,full:12,fullnam:12,g:12,genet:12,giant:12,giant_height_wood_et_:12,git:12,gitlab:12,go:5,goe:12,gw_df:5,gwa:[2,5,8],gwas_info:12,gwas_internal_link:5,gwas_label:5,gwas_path:5,gwas_reference_panel:5,gwas_tabl:5,gwass:12,h:12,hapmapceu:12,have:5,header:12,height:12,helper:5,here:12,heterogen:12,hg19:5,http:12,imp:12,impg_output_fold:5,imput:[5,12],imputation_qu:12,imputation_quality_treshold:12,imputation_treshold:5,imputationinfo:12,index:[5,12],index_typ:[5,12],indic:5,individu:12,infer:12,info:12,inform:5,input:5,input_fil:[],input_fold:12,inputbas:5,instanc:[5,12],irrelev:12,is_flip:5,jass_pr:12,jass_suite_pipelin:[],launch:12,ld:12,ldsc:12,ldscore:5,left:12,like:12,list:[5,12],locat:12,low:12,maf:12,main:12,make:5,map:[2,5,8,12],map_columns_posit:5,map_gwa:[11,12],map_on_ref_panel:5,map_refer:[11,12],markernam:12,mask:[5,12],mask_mhc:[5,12],master:[],merg:5,merge_gwa:5,mgwa:5,mhc:[5,12],minimum:[5,12],minimum_maf:[5,12],minor:12,miss:5,modul:[3,9,11,12],more:5,must:[5,12],my_studi:5,n:12,n_effect:12,na:12,name:5,nan:5,nca:12,ncase:12,ncont:12,ncontrol:12,need:12,none:[5,12],normal:12,note:12,np:5,nsampl:12,nsnp:12,number:[5,12],odd:12,one:[5,12],option:12,order:12,other:12,ouput:12,outcom:12,output:12,output_fold:12,output_folder_1_fil:12,own:12,p:12,packag:[11,12],page:12,panda:5,panel:[5,12],param:5,paramet:[5,12],pasteur:12,path:[5,12],pd:5,per:12,percent:12,percent_sample_s:12,percentil:12,perform:12,perss:5,pip3:12,po:12,posit:[5,12],possibl:12,precis:12,preprocess:5,present:12,process:12,proport:12,provid:12,pval:12,pvalu:12,python:12,qc:12,qualiti:12,raiss:12,ratio:12,raw:[5,12],read:5,read_gwa:5,read_refer:5,ref:[5,12],ref_panel:5,ref_path:12,refer:[5,12],reference_panel:5,region:[5,12],region_to_mask:5,renam:5,report:12,retain:5,retriev:12,row:5,rs4075116:12,rs5686:12,rs62635286:12,rs63125786:12,rs6548219:12,rs892586:12,rs:[5,12],rsid:12,same:5,sampl:12,save:12,save_output:[11,12],save_output_by_chromosom:5,score:12,se:12,search:12,section:12,see:12,select:12,seri:5,set:[2,5,8],should:[5,12],sign1:5,sign:5,size:12,small:[],snp:[5,12],snpid:12,some:12,sourc:5,specif:5,specifi:5,split:12,standard:12,standart:5,start:12,startdir:5,statist:[5,12],step:12,still:5,store:[5,12],str:5,string:5,studi:[5,12],subfold:[2,5,8],submodul:11,summari:12,sure:5,t:12,tabl:5,tabular:12,tag:12,take:12,termin:12,than:5,thank:5,thei:12,through:5,tool:12,total:12,toward:5,trait:[5,12],treshold:12,tsv:12,two:5,txt:12,type:[5,12],type_of_index:5,uncompress:12,uniqu:12,upper:12,uppercas:12,us:12,user:12,valu:[5,12],variant:12,vector:5,walk:5,walkf:5,we:5,weird:5,whether:[5,12],which:12,without:12,write:5,your:12,z:12,zscore:5},titles:["jass_preprocessing.compute_score","jass_preprocessing.dna_utils","jass_preprocessing.map_gwas","jass_preprocessing.map_reference","jass_preprocessing.save_output","jass_preprocessing package","jass_preprocessing.compute_score","jass_preprocessing.dna_utils","jass_preprocessing.map_gwas","jass_preprocessing.map_reference","jass_preprocessing.save_output","jass_preprocessing","Welcome to jass_preprocessing\u2019s documentation!"],titleterms:{argument:12,command:12,compute_scor:[0,5,6],content:[5,12],dna_util:[1,5,7],document:12,exampl:12,gwa:12,indic:12,inform:12,input:12,instal:12,jass:12,jass_preprocess:[0,1,2,3,4,5,6,7,8,9,10,11,12],line:12,map_gwa:[2,5,8],map_refer:[3,5,9],modul:5,name:12,overview:12,packag:5,preprocess:12,s:12,save_output:[4,5,10],submodul:5,tabl:12,usag:12,welcom:12,what:12}})
\ No newline at end of file
diff --git a/doc/source/index.rst b/doc/source/index.rst
index c21c5b3..297fd70 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -14,7 +14,7 @@ Welcome to jass_preprocessing's documentation!
 
 What is jass preprocessing ?
 ============================
-Jass preprocessing is a tool that takes in input
+Jass preprocessing is a command line tool that takes in input
 heterogeneous GWAS summary statistics and performs standardization and quality checks to output standardized summary statistic files that can be used as input in the JASS python package and the RAISS imputation package.
 
 
@@ -22,13 +22,13 @@ Overview
 ========
 The QC and preprocessing step goes as follow:
 
-* Map column from of a specific GWAS to standardize names
-* Select GWAS SNPs that are in the input reference panel
-* Align coded allele of the GWAS with the reference panel
-* Infer Number of sample by SNPs if not present in input data
-* Filter SNPs with a small sample size
-* Normalize the effect size by sample size to have Z-scores
-* Save the output by chromosome as the following example:
+#. Map column from of a heterogeneous GWAS entry file to standardize names
+#. Select GWAS SNPs that are in the input reference panel
+#. Align coded allele of the GWASs data with the reference panel
+#. Infer the sample size by SNPs if not present in input data (from MAF, standard deviation and genetic effect)
+#. Filter SNPs with an heterogeneous sample size (as JASS and RAISS packages assume sample size to be constant across SNPs)
+#. Normalize the effect size to Z-scores
+#. Save the output by chromosome as the following example:
 
 +----------+-------+------+-----+--------+
 | rsID     | pos   | A0   | A1  |  Z     |
@@ -36,14 +36,15 @@ The QC and preprocessing step goes as follow:
 | rs6548219| 30762 | A	  | G   | -1.133 |
 +----------+-------+------+-----+--------+
 
-* (Optional) Save the output to one file with a chromosome column
-(input format needed to perform LD-score)
+* (Optional step) Save the output to one file with a chromosome column
+(input format needed to perform LD-score). The additional output correspond to: P, the p-value; N_effective (Effective sample size estimated/retrieved from the data).
+Effective sample size refers to the total sample size for continuous trait and to 1 / ( 1/Ncases + 1/Ncontrol ) for binary traits.
 
-+-------+-----------+--------+----+----+-----+-----+
-| chrom	|    rsID   |  pos   | A0 | A1 |  Z  |  P  |
-+-------+-----------+--------+----+----+-----+-----+
-|   1   | rs4075116 |1003629 | C  | T  | 0.3 | 0.76|
-+-------+-----------+--------+----+----+-----+-----+
++-------+-----------+--------+----+----+-----+-----+------------------+
+| chrom	|    rsID   |  pos   | A0 | A1 |  Z  |  P  |    N_effective   |
++-------+-----------+--------+----+----+-----+-----+------------------+
+|   1   | rs4075116 |1003629 | C  | T  | 0.3 | 0.76|     10220.98     |
++-------+-----------+--------+----+----+-----+-----+------------------+
 
 
 Installation
@@ -84,20 +85,23 @@ Input
 +===========================================+===============================================================+
 |             path to the data              |                            filename                           |
 +-------------------------------------------+---------------------------------------------------------------+
-|            study info fields              | Consortium,Outcome,fullName,Nsample,Ncase,Ncontrol,Nsnp  |
+|            study info fields              | Consortium,Outcome,fullName,Nsample,Ncase,Ncontrol,Nsnp       |
 +-------------------------------------------+---------------------------------------------------------------+
 |    names of the header in the GWAS file   |      snpid,a1,a2,freq,pval,n,z,OR,se,code,imp,ncas,ncont      |
 +-------------------------------------------+---------------------------------------------------------------+
 
 **Study field definition**:
+
 * filename: gwas summary statistic name as it appear in the **GWAS folder** 
-* Consortium : the Consortium of the study (can also be the category of the trait) in upper case and without _ characters
-* Outcome: a short tag for the Outcome of the study in upper case and without _ characters
+* Consortium : the Consortium of the study (can also be the category of the trait) in **upper case and without _ characters**
+* Outcome: a short tag for the Outcome of the study in **upper case and without _ characters**
 * FullName: full description of the trait (for your own information not used in the cleaning process)
 * Nsample: Number of sample in the study
 * Ncase: Number of cases in the study (left empty if trait is continuous)
 * Ncontrol: Number of control in the study (left empty if trait is continuous)
+
 **Field corresping to column names in the summary statistic**
+
 * snpid: name of the column storing rsid in the gwas file
 * POS: name of the column storing the position in the gwas file
 * CHR: name of the column storing the chromosome in the gwas file
@@ -108,19 +112,20 @@ Input
 * n: name of the column storing the sample size by variants (optional, will be inferred from the MAF, genetic effect and standard deviation if absent)
 * z: name of the column storing the genetic effect (beta) in the gwas file
 * index-type: precise the type of index 
-  
+* imputation_quality: (Optional) column containing individual-based imputation quality. Will be used to filter low quality imputation data from GWASs if the option --imputation-quality-treshold is used
 
 .. warning::
-  Note that the combination of Consortium and outcome must be unique because as it will be used as an index in the cleaning process.
+  Note that the concatenation of Consortium and Outcome must be **unique** because as it will be used as an index in the cleaning process.
+  Both Outcome and Consortium must be in **uppercase and with no _ characters**
 
-Here is an example of descriptor field, the field irrelevant (for example odd ratio for continuous trait) for the study must be filled with na or left empty.
-Some fields are optional like the imputation_quality. If not used they can be filled with na.
+Here is an example of descriptor field (downloadable example `here <https://gitlab.pasteur.fr/statistical-genetics/jass_suite_pipeline/-/blob/master/input_files/Data_test_EAS.csv>`_), the field irrelevant (for example odd ratio for continuous trait) for the study must be filled with na or left empty.
+Some fields are optional like the imputation_quality. If not used they can be filled with na. 
 
 .. csv-table:: GWAS information table
   :header-rows: 1
 
-  "filename","consortia","outcome","fullName","type","Nsample","Ncase","Ncontrol","Nsnp","snpid","a1","a2","freq","pval","n","z","OR","se","code","imp","ncas","ncont","imputation_quality","index_type"
-  "GIANT_HEIGHT_Wood_et_al.txt","GIANT","HEIGHT","Height","Anthropometry",253288,	na,	na, 2550858,	"MarkerName",	"Allele1", "Allele2", "Freq.Allele1.HapMapCEU","p","N","b",na,"SE",na,na,na,na, "imputationInfo","rs-number"
+  "filename","Consortium","Outcome","FullName","Type","Nsample","Ncase","Ncontrol","Nsnp","snpid", "POS", "a1","a2","freq","pval","n","z","OR","se","code","imp","ncas","ncont","imputation_quality","index_type"
+  "GIANT_HEIGHT_Wood_et_al.txt","GIANT","HEIGHT","Height","Anthropometry",253288,	na,	na, 2550858,	"MarkerName",	"position","Allele1", "Allele2", "Freq.Allele1.HapMapCEU","p","N","b",na,"SE",na,na,na,na, "imputationInfo","rs-number"
 
 
 Command line usage example:
-- 
GitLab