From 92a461de0d59980a586adb61eeb3e1d5443374fb Mon Sep 17 00:00:00 2001
From: hjulienne <hanna.julienne@gmail.com>
Date: Fri, 29 Nov 2019 14:24:06 +0000
Subject: [PATCH] add filter imputation quality

---
 .../_autosummary/jass_preprocessing.doctree   | Bin 65769 -> 66856 bytes
 .../doctrees/_autosummary/modules.doctree     | Bin 2652 -> 2652 bytes
 doc/_build/doctrees/environment.pickle        | Bin 39457 -> 37654 bytes
 doc/_build/doctrees/index.doctree             | Bin 50353 -> 47663 bytes
 doc/_build/html/.buildinfo                    |   2 +-
 .../html/_autosummary/jass_preprocessing.html | 287 ++++++-----
 doc/_build/html/_autosummary/modules.html     |  45 +-
 doc/_build/html/_modules/index.html           |  41 +-
 .../jass_preprocessing/compute_score.html     |  47 +-
 .../jass_preprocessing/dna_utils.html         |  41 +-
 .../_modules/jass_preprocessing/map_gwas.html | 106 ++--
 .../jass_preprocessing/map_reference.html     |  67 +--
 .../jass_preprocessing/save_output.html       |  41 +-
 doc/_build/html/_sources/index.rst.txt        |   5 +-
 doc/_build/html/_static/basic.css             |  92 +++-
 doc/_build/html/_static/doctools.js           |   7 +-
 .../html/_static/documentation_options.js     | 290 +----------
 doc/_build/html/_static/jquery.js             |   6 +-
 doc/_build/html/_static/searchtools.js        |  54 ++-
 doc/_build/html/genindex.html                 |  50 +-
 doc/_build/html/index.html                    | 456 ++++++++----------
 doc/_build/html/objects.inv                   | Bin 556 -> 545 bytes
 doc/_build/html/py-modindex.html              |  52 +-
 doc/_build/html/search.html                   |  41 +-
 doc/_build/html/searchindex.js                |   2 +-
 doc/source/reference.bib                      |  48 ++
 jass_preprocessing/__main__.py                |   4 +-
 .../__pycache__/compute_score.cpython-35.pyc  | Bin 2302 -> 2305 bytes
 .../__pycache__/map_gwas.cpython-35.pyc       | Bin 4472 -> 4870 bytes
 .../__pycache__/map_reference.cpython-35.pyc  | Bin 4295 -> 5148 bytes
 jass_preprocessing/map_gwas.py                |   4 +-
 31 files changed, 778 insertions(+), 1010 deletions(-)
 create mode 100644 doc/source/reference.bib

diff --git a/doc/_build/doctrees/_autosummary/jass_preprocessing.doctree b/doc/_build/doctrees/_autosummary/jass_preprocessing.doctree
index f63ae09cfdfcd8b45cc4aa8ea86a829b1d0de6f2..21720e6739f21406af758d3ad572b9c65697995b 100644
GIT binary patch
literal 66856
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

literal 65769
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
G;{O9nQ^X1Y

diff --git a/doc/_build/doctrees/_autosummary/modules.doctree b/doc/_build/doctrees/_autosummary/modules.doctree
index 27e69465a3f3a5f52f0a552a07a3b5fae79b0de3..adbb1224878275e58a1f99845253ac74761f99f4 100644
GIT binary patch
literal 2652
zcmaJ@U27aS6m{&iz3bTPk2ozQ3290~9fG}mD75q?AEkY$VM$5ahk_Y2BkfADMw;rw
zyZaDmA6jA%ed+Z7_DHj{&YBRzf=6@b>fUqCJ<=bY|9;+DNq?bFb>W?m_C#sQY#q9B
zp=8R{|JINHtl!p0;edFjM_N0j9m}jE#?_}cLcj3FATYDqn}XHDu-&dmq2lw-;v>UG
z7P-PsAslf+tE^q=;vYpyY>n54c2?$EX3O85p(?{FZ5%Vmdea%A>`0q3J>I_l&Ah;s
z&@*H*uPv<9Vc+`PI^obR_NViTx&;@KqL2El<||>-vLe2}>VAtjXGHE@D)A_+H`Su3
zgEz$5tU_r<7tC6r#x)6Rf?DKi-X33n+s#RFo_a^fW+9OQd1HsvS8Zk=HXRwqr<#Ap
zZ}2sKiy!h&&*~#oxQ-SiThzzzfg*k%#ead{BmBO^@9|mf`4fKJeEh*mV?Lzoyk^tL
z^#^1As*?g@matKg$ac*KVWVXnb$t^$4ck5^{3*Y~pM~Lo>yi!l8!rV@YVgwNH$Zjp
z)ALuavX_Pdloqc6)HZ0c4YDXR>&udu*`U<aOJ+}u#g5NUSAC9JyM-<*?G^oa_hHxR
z!WqVnCx%oNR6<%nzJDLhuxl$W)bxZ<I#>VZ{LAGHLT4;>USEc;@@38pqxI=Z#5!yO
z5hD_V!*GA8gAa(~ZxjNS!j4dd^ptTyDTH?!s|(xn#gRbYQH;Nlu(5~$sgMh)k~W8l
z@2BB#X~Q{WkWxvelvR$`r=75s<YKjwv-&b>;w68^U$lY(V?O}i&VoF=dOq|y!;7^P
zn6M{df5`({0dL@+DEGH@=(Urb)ZB+yEXy#~mW&&L@4TNOHTVQ%B=ttsMg;?gq~3^8
zt1<q<hl9n$FJ;^liV6c|Ww4|%b7|+zI5tg9`~iPxLs!r%&+1y{9Oe{8x4&?{k<rRA
zs48syN~A}*3+wAqg1L93tYAESW{fr&Q-!8+*2DTQuYWxL7SvU&%5s8+y^(eJoI6+9
z?*@a(WO7o?9M|eZoAH3Mivc3-01Ck7LXC7bjXoCL^q%&v@@|nmYc}IVQ3(YD4+yPr
zb=al8tg;0n7KPozt8&RSp;1-9t1ALyz6=M^)nI=~3-diML*I;w=)+BLOthO(VM#7o
zR%kU6V=V14C_W-MgDg2?4(WDM2@5D=(6rKMUjRp=h)lUsP-U5?XtR{awZ(~anPeAC
z)~D-XvpqTZi?B1_F>B=?Zh={CD2%!SH)to0*)ZIWSjV7<b>>)ENl*mQWBvHiS6_q0
z+lAERJYyvhGQ(^es1V=23%l1a27}&>B7;5PS+MBM2)irPN0{LMgzX6272kJTzMa-M
zNCk7F#5Z@P1lRrLbl5CydTfDj=s}%0BSvCc^TTj=Sz*^TuonxoI5RlT92uz%JCdle
z$BY3#isx1MN!YV9<;XPSV$3CeP)$ebsMvm^qU=Ig;dDAp8~4p%;^%<3AK_in#CCJ^
zwzRE=eKr+1^l^@R+pezTA`xZzz5s4nIJx`X<I;dQU697t!a8NSkJ9Q#N64-K2&)3@
z^&H8wiJ;NGx?vmq<Iq;=(tvMzW2TrPP3`gWvMlMFIPx(<QNr+OOjW@Nn1w2vN>N}u
ztuj=0?yD$e7(S>h&SU>@h4pCYGvFG5s<QTg9`a+<J73dfydOm|ev*VJlw~GeD%zdj
zg*#0wlPtxeA;+(>h5m#X1rGs?hLIAfwi8-e0~bWNv6#TEIYZG~aHoo+jAQ7^Io6oE
zz>9;$rRl1j(;Gf-E+lVj{*d3XVT;D8YSBDcx)L?l4|qBBvvdthZXNFcy%^$V6{ZOZ
P9}I2iwY$a`pP&2>grgzu

literal 2652
zcmZuzO>Y}F6m)FamTXJ@idz&(kS0OU<Y23Z0ts^Kp*_@qkRoYs0YNP(k?}6M<%caD
z0<?#=3BX&~|Jxx~T3c=mEUe|eCFjk|dvAa5{QL9HTK)?IrVH<6Y0s2q+{VyN3l&!`
z{u7`75kJId;Xo=T4KEyV)J(av@m&o4iPlbO$BE$+i@2~MS^j_Yo?3fa8(te-aBHQS
zMzI#QEq0Jvwfl-YVk7hny|UVyg2%8H!`AZmXee~WhvL02C0A<r+UWOqfB4h)Z{CpC
zhGYNb=0hMJHt!7y^-fz~Rn*Lfm1e%=_RLrp!?vSSMJpb~Uf7||89DY238w_RV_IC~
zG>}-A`8oyWEVqji$uz%ne($2#rD3xT$jOq`WT_9GQYs$L*F(1uvSfxUaP|x=Y&z*m
zzQTbx2%p<U9EoFbS3DIbfGEDi!C&FJhwA~Zhwq{nkI&b|6WpwY&Raf9ihXvcKV#N0
z@huL-bMbg2jz(dtrhw(5_{NW^cp(OUjE%a5u4?TSy9H4kF7UkkAD*!9bm0u=r&os7
zH8+vofH+DB!@jMBRI@Y6*urPqi<hp?IcU%LA)gWYQWd3VTu8=1;HS`4z8Z7GSv-fI
z0N%(f%_uxv5k494mL`8i8nz2sX9tclKF}GqmU|~+L${(c#%m|yc_%R(cCuPlt8yMc
zi5KDS$}tOn#n73SdW-;w6!sRNClc0!=wd{ZP@OE)3-PKYn}hQWKenN3xpOEI6yIT6
zjT57l<B%b2{Yp!Zt=e+jvv9W~zj+j&jUU5tzHe?xsSDa19D2^sf+uSusORXITuGL4
z>xO$4)YXKSJXN~I11HGR>Z9Bga^_?<(WV0PyG?x&*!m)l!ZumdsW=Y1s9?es9hXU$
zJ7EunuYs@Rm%L0RFyO{$gOEbA)C<DqFK>T5eHp_bp+Hx;lvX-zuy1e56*siG>BAu;
z!B2;RoXsToJcg5^)bxVzipr9}PzF6F6VWfJntD3r1Sg@Ntiv>6pZTgLwdI~^GOJ3Q
zva?9Wn{;<z=gQF;5ppU@T<8^@QYW0vt6)*tM1w`};EEcBBnY5$T480MFlkfrI8;sK
zGzHbXPF)dBRcL@%*(2z!(3m#%3!99OeGWB~Vm0*sDqEzv6;!bjl@$&WAr?(ZfaVhV
zVu_<D7!b`Nyx`nHulrKf-nE?H-es#{9_=DEW$VYQY7a7J5(YGimMMV)KC89m<mTET
zpGk*fsq=QJ_GZ{>Y3NCoif|%lQ5=Q`(7GZwheksWv31JgQ`ix-Y+bV%P7;Z!hzMjN
zj#tRmA=@t2PoIAK9V+9C{8%c>P2#mR;YaZlA~Y69JIfYNBBUM16j>zU!`H&O+P)eN
zudc4n>bVnIooO>2GJZKkq#ef4V>l8CR&`Q!l~O$QZgTqa)I#&{pb!+*2ErO9KvbFl
z1eJQ>Yh>3)WlJ@I1#?BAPWlUgiva_C$qU!`?l18<tudY@caw}yxT*xUeeK;%iBTUJ
z53t;Na!Y*icR0o{*M`BAHChZzn%d|H7*naV-3SW{PiGzSJRGF?O0I<s>k>k2aCM3I
zk6LxFt2QSJkD+t7sbkQjnbr<_%(*numg6mrx-{OxA&iNtari!gx@_^8(QWz*ieZ$$
zAhy#iZazK4Be844R`Oi)DT3HZGpawp>un_yOm~YukyAQaIi-!>E4)ebF||C7<a&jK
z(*Y#Egr-rAb=mqkFLuET++tj6gZ*Xv^7{z0{7yKz_1-dmE%egKZe9b_hbSJ6EZPV)
zFzXGhd4>#V=qDAHWap!ISW<M^UV1Cf4sS*`XfUS+%lsCde1uPf!*H|`+a`1OHf->k
N&)sb~O?vq8*?*2c9mD_t

diff --git a/doc/_build/doctrees/environment.pickle b/doc/_build/doctrees/environment.pickle
index f5c71c806c0033c18802de52f9650f07ccba2a70..0e2a4461c68e576828433c99f3dd95c1b29d96f5 100644
GIT binary patch
literal 37654
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

literal 39457
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
Bb+Z5f

diff --git a/doc/_build/doctrees/index.doctree b/doc/_build/doctrees/index.doctree
index 6e782da42779c8fdf7cc36eff0048a4115c4ebed..3a79313c70a1d3ffaa95b8b69159c0c2db221dcd 100644
GIT binary patch
literal 47663
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
Y0%y#AA|@cl1iYC2o3WxJkM;HcU&-Ikw*UYD

literal 50353
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
B=uZFu

diff --git a/doc/_build/html/.buildinfo b/doc/_build/html/.buildinfo
index d400170..b684fa9 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: 7890896c7cf0d3614ade393a5c103246
+config: f0cd103aab646a141229409df671f02e
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/doc/_build/html/_autosummary/jass_preprocessing.html b/doc/_build/html/_autosummary/jass_preprocessing.html
index 573ab6b..3cbc003 100644
--- a/doc/_build/html/_autosummary/jass_preprocessing.html
+++ b/doc/_build/html/_autosummary/jass_preprocessing.html
@@ -17,32 +17,34 @@
   
 
   
-
-  
+  <script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+        <script type="text/javascript" src="../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
 
-  
+    
 
+  
   <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" /> 
-
-  
-  <script src="../_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -161,12 +163,12 @@
 <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="function">
 <dt id="jass_preprocessing.compute_score.compute_sample_size">
-<code class="descclassname">jass_preprocessing.compute_score.</code><code class="descname">compute_sample_size</code><span class="sig-paren">(</span><em>mgwas</em>, <em>diagnostic_folder</em>, <em>trait</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/compute_score.html#compute_sample_size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.compute_score.compute_sample_size" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">jass_preprocessing.compute_score.</code><code class="sig-name descname">compute_sample_size</code><span class="sig-paren">(</span><em class="sig-param">mgwas</em>, <em class="sig-param">diagnostic_folder</em>, <em class="sig-param">trait</em>, <em class="sig-param">perSS=0.7</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/compute_score.html#compute_sample_size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.compute_score.compute_sample_size" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
 <dl class="function">
 <dt id="jass_preprocessing.compute_score.compute_z_score">
-<code class="descclassname">jass_preprocessing.compute_score.</code><code class="descname">compute_z_score</code><span class="sig-paren">(</span><em>mgwas</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/compute_score.html#compute_z_score"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.compute_score.compute_z_score" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">jass_preprocessing.compute_score.</code><code class="sig-name descname">compute_z_score</code><span class="sig-paren">(</span><em class="sig-param">mgwas</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/compute_score.html#compute_z_score"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.compute_score.compute_z_score" title="Permalink to this definition">¶</a></dt>
 <dd><p>Compute zscore value and sign1
 add the corresponding column to the mgwas dataframe</p>
 </dd></dl>
@@ -177,12 +179,12 @@ add the corresponding column to the mgwas dataframe</p>
 <p>Few fonction to to compute DNA complement</p>
 <dl class="function">
 <dt id="jass_preprocessing.dna_utils.dna_complement">
-<code class="descclassname">jass_preprocessing.dna_utils.</code><code class="descname">dna_complement</code><span class="sig-paren">(</span><em>input</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/dna_utils.html#dna_complement"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.dna_utils.dna_complement" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">jass_preprocessing.dna_utils.</code><code class="sig-name descname">dna_complement</code><span class="sig-paren">(</span><em class="sig-param">input</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/dna_utils.html#dna_complement"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.dna_utils.dna_complement" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
 <dl class="function">
 <dt id="jass_preprocessing.dna_utils.dna_complement_base">
-<code class="descclassname">jass_preprocessing.dna_utils.</code><code class="descname">dna_complement_base</code><span class="sig-paren">(</span><em>inputbase</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/dna_utils.html#dna_complement_base"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.dna_utils.dna_complement_base" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">jass_preprocessing.dna_utils.</code><code class="sig-name descname">dna_complement_base</code><span class="sig-paren">(</span><em class="sig-param">inputbase</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/dna_utils.html#dna_complement_base"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.dna_utils.dna_complement_base" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
 </div>
@@ -193,102 +195,84 @@ add the corresponding column to the mgwas dataframe</p>
 to map columns</p>
 <dl class="function">
 <dt id="jass_preprocessing.map_gwas.convert_missing_values">
-<code class="descclassname">jass_preprocessing.map_gwas.</code><code class="descname">convert_missing_values</code><span class="sig-paren">(</span><em>df</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_gwas.html#convert_missing_values"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_gwas.convert_missing_values" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">jass_preprocessing.map_gwas.</code><code class="sig-name descname">convert_missing_values</code><span class="sig-paren">(</span><em class="sig-param">df</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_gwas.html#convert_missing_values"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_gwas.convert_missing_values" title="Permalink to this definition">¶</a></dt>
 <dd><p>Convert all missing value strings to a standart np.nan value</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>GWAS_table</strong> (<em>pandas dataframe</em>) – GWAS data as a dataframe</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">a pandas dataframe with missing value all equal to np.nan</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>GWAS_table</strong> (<em>pandas dataframe</em>) – GWAS data as a dataframe</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>a pandas dataframe with missing value all equal to np.nan</p>
+</dd>
+</dl>
 </dd></dl>
 
 <dl class="function">
 <dt id="jass_preprocessing.map_gwas.gwas_internal_link">
-<code class="descclassname">jass_preprocessing.map_gwas.</code><code class="descname">gwas_internal_link</code><span class="sig-paren">(</span><em>GWAS_table</em>, <em>GWAS_path</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_gwas.html#gwas_internal_link"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_gwas.gwas_internal_link" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">jass_preprocessing.map_gwas.</code><code class="sig-name descname">gwas_internal_link</code><span class="sig-paren">(</span><em class="sig-param">GWAS_table</em>, <em class="sig-param">GWAS_path</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_gwas.html#gwas_internal_link"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_gwas.gwas_internal_link" title="Permalink to this definition">¶</a></dt>
 <dd><p>Walk the GWAS path to find the GWAS tables</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>GWAS_table</strong> (<em>str</em>) – path of the folder to explore</li>
-<li><strong>findfile</strong> (<em>str</em>) – name of the file to find</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>GWAS_table</strong> (<em>str</em>) – path of the folder to explore</p></li>
+<li><p><strong>findfile</strong> (<em>str</em>) – name of the file to find</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">a pandas dataframe with one column for the filename
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>a pandas dataframe with one column for the filename
 and one column containing the complete path to the file</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 <dl class="function">
 <dt id="jass_preprocessing.map_gwas.map_columns_position">
-<code class="descclassname">jass_preprocessing.map_gwas.</code><code class="descname">map_columns_position</code><span class="sig-paren">(</span><em>gwas_internal_link</em>, <em>GWAS_labels</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_gwas.html#map_columns_position"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_gwas.map_columns_position" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">jass_preprocessing.map_gwas.</code><code class="sig-name descname">map_columns_position</code><span class="sig-paren">(</span><em class="sig-param">gwas_internal_link</em>, <em class="sig-param">column_dict</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_gwas.html#map_columns_position"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_gwas.map_columns_position" title="Permalink to this definition">¶</a></dt>
 <dd><p>Find column position for each specific Gwas</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>gwas_internal_link</strong> (<em>str</em>) – filename of the GWAS data (with path)</li>
-<li><strong>GWAS_labels</strong> (<em>str</em>) – filename of the csv information file</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>gwas_internal_link</strong> (<em>str</em>) – filename of the GWAS data (with path)</p></li>
+<li><p><strong>GWAS_labels</strong> (<em>pd.DataFrame</em>) – corresponding row of the information file</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">pandas Series with column position and column names as index</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>pandas Series with column position and column names as index</p>
+</dd>
+</dl>
 </dd></dl>
 
 <dl class="function">
 <dt id="jass_preprocessing.map_gwas.read_gwas">
-<code class="descclassname">jass_preprocessing.map_gwas.</code><code class="descname">read_gwas</code><span class="sig-paren">(</span><em>gwas_internal_link</em>, <em>column_map</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_gwas.html#read_gwas"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_gwas.read_gwas" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">jass_preprocessing.map_gwas.</code><code class="sig-name descname">read_gwas</code><span class="sig-paren">(</span><em class="sig-param">gwas_internal_link</em>, <em class="sig-param">column_map</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_gwas.html#read_gwas"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_gwas.read_gwas" title="Permalink to this definition">¶</a></dt>
 <dd><p>Read gwas raw data, fetch columns thanks to position stored in
 column_map and rename columns according to column_map.index</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>gwas_internal_link</strong> (<em>str</em>) – GWAS data as a dataframe</li>
-<li><strong>column_map</strong> (<em>pandas Series</em>) – Series containing the position of column in</li>
-<li><strong>raw data</strong> (<em>the</em>) – </li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>gwas_internal_link</strong> (<em>str</em>) – GWAS data as a dataframe</p></li>
+<li><p><strong>column_map</strong> (<em>pandas Series</em>) – Series containing the position of column in</p></li>
+<li><p><strong>raw data</strong> (<em>the</em>) – </p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">a pandas dataframe with missing value all equal to np.nan</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>a pandas dataframe with missing value all equal to np.nan</p>
+</dd>
+</dl>
 </dd></dl>
 
 <dl class="function">
 <dt id="jass_preprocessing.map_gwas.walkfs">
-<code class="descclassname">jass_preprocessing.map_gwas.</code><code class="descname">walkfs</code><span class="sig-paren">(</span><em>startdir</em>, <em>findfile</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_gwas.html#walkfs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_gwas.walkfs" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">jass_preprocessing.map_gwas.</code><code class="sig-name descname">walkfs</code><span class="sig-paren">(</span><em class="sig-param">startdir</em>, <em class="sig-param">findfile</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_gwas.html#walkfs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_gwas.walkfs" title="Permalink to this definition">¶</a></dt>
 <dd><p>Go through the folder and subfolder to find the specified file</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>startdir</strong> (<em>str</em>) – path of the folder to explore</li>
-<li><strong>findfile</strong> (<em>str</em>) – name of the file to find</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>startdir</strong> (<em>str</em>) – path of the folder to explore</p></li>
+<li><p><strong>findfile</strong> (<em>str</em>) – name of the file to find</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 </div>
@@ -297,7 +281,7 @@ column_map and rename columns according to column_map.index</p>
 <p>Module of function</p>
 <dl class="function">
 <dt id="jass_preprocessing.map_reference.compute_is_aligned">
-<code class="descclassname">jass_preprocessing.map_reference.</code><code class="descname">compute_is_aligned</code><span class="sig-paren">(</span><em>mgwas</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_reference.html#compute_is_aligned"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_reference.compute_is_aligned" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">jass_preprocessing.map_reference.</code><code class="sig-name descname">compute_is_aligned</code><span class="sig-paren">(</span><em class="sig-param">mgwas</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_reference.html#compute_is_aligned"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_reference.compute_is_aligned" title="Permalink to this definition">¶</a></dt>
 <dd><p>Check if the reference panel and the GWAS data have the same reference
 allele. return a boolean vector.
 The function should be the complement of “is_flipped” but we still compute
@@ -307,63 +291,77 @@ instance)</p>
 
 <dl class="function">
 <dt id="jass_preprocessing.map_reference.compute_is_flipped">
-<code class="descclassname">jass_preprocessing.map_reference.</code><code class="descname">compute_is_flipped</code><span class="sig-paren">(</span><em>mgwas</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_reference.html#compute_is_flipped"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_reference.compute_is_flipped" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">jass_preprocessing.map_reference.</code><code class="sig-name descname">compute_is_flipped</code><span class="sig-paren">(</span><em class="sig-param">mgwas</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_reference.html#compute_is_flipped"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_reference.compute_is_flipped" title="Permalink to this definition">¶</a></dt>
 <dd><p>Check if the reference panel and the GWAS data have the same reference
 allele. return a boolean vector.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>mgwas</strong> (<em>pandas dataframe</em>) – GWAS study dataframe merged with the reference_panel</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">merge studies,</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">is_flipped (pandas dataframe)</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>mgwas</strong> (<em>pandas dataframe</em>) – GWAS study dataframe merged with the reference_panel</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>merge studies,</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p>is_flipped (pandas dataframe)</p>
+</dd>
+</dl>
 </dd></dl>
 
 <dl class="function">
 <dt id="jass_preprocessing.map_reference.compute_snp_alignement">
-<code class="descclassname">jass_preprocessing.map_reference.</code><code class="descname">compute_snp_alignement</code><span class="sig-paren">(</span><em>mgwas</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_reference.html#compute_snp_alignement"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_reference.compute_snp_alignement" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">jass_preprocessing.map_reference.</code><code class="sig-name descname">compute_snp_alignement</code><span class="sig-paren">(</span><em class="sig-param">mgwas</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_reference.html#compute_snp_alignement"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_reference.compute_snp_alignement" title="Permalink to this definition">¶</a></dt>
 <dd><p>Add a column to mgwas indicating if the reference and coded
 allele is flipped compared to the reference panel.
 If it is, the sign of the statistic must be flipped
 :param mgwas: a pandas dataframe of the GWAS data merged</p>
 <blockquote>
-<div>with the reference panel</div></blockquote>
+<div><p>with the reference panel</p>
+</div></blockquote>
 </dd></dl>
 
 <dl class="function">
 <dt id="jass_preprocessing.map_reference.map_on_ref_panel">
-<code class="descclassname">jass_preprocessing.map_reference.</code><code class="descname">map_on_ref_panel</code><span class="sig-paren">(</span><em>gw_df</em>, <em>ref_panel</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_reference.html#map_on_ref_panel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_reference.map_on_ref_panel" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">jass_preprocessing.map_reference.</code><code class="sig-name descname">map_on_ref_panel</code><span class="sig-paren">(</span><em class="sig-param">gw_df</em>, <em class="sig-param">ref_panel</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_reference.html#map_on_ref_panel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_reference.map_on_ref_panel" title="Permalink to this definition">¶</a></dt>
 <dd><p>Merge Gwas dataframe with the reference panel
 Make sure that the same SNPs are in the reference panel and the gwas</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>gw_df</strong> (<em>pandas dataframe</em>) – GWAS study dataframe</li>
-<li><strong>ref_panel</strong> (<em>pandas dataframe</em>) – reference panel dataframe</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>gw_df</strong> (<em>pandas dataframe</em>) – GWAS study dataframe</p></li>
+<li><p><strong>ref_panel</strong> (<em>pandas dataframe</em>) – reference panel dataframe</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">merge studies,</p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">merge_GWAS (pandas dataframe)</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>merge studies,</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p>merge_GWAS (pandas dataframe)</p>
+</dd>
+</dl>
 </dd></dl>
 
 <dl class="function">
 <dt id="jass_preprocessing.map_reference.read_reference">
-<code class="descclassname">jass_preprocessing.map_reference.</code><code class="descname">read_reference</code><span class="sig-paren">(</span><em>gwas_reference_panel</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_reference.html#read_reference"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_reference.read_reference" title="Permalink to this definition">¶</a></dt>
-<dd><p>helper function to name correctly the column</p>
+<code class="sig-prename descclassname">jass_preprocessing.map_reference.</code><code class="sig-name descname">read_reference</code><span class="sig-paren">(</span><em class="sig-param">gwas_reference_panel</em>, <em class="sig-param">mask_MHC=False</em>, <em class="sig-param">minimum_MAF=None</em>, <em class="sig-param">region_to_mask=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/map_reference.html#read_reference"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.map_reference.read_reference" title="Permalink to this definition">¶</a></dt>
+<dd><p>helper function to name correctly the column
+:param gwas_reference_panel: path toward the reference panel file
+:type gwas_reference_panel: str
+:param mask_MHC: Whether the MHC region should be masked or not. default is False
+:type mask_MHC: bool
+:param Filter the reference panel by  minimum allele frequency:
+:type Filter the reference panel by  minimum allele frequency: hg19 coordinate
+:param minimum_MAF: minimum allele frequency for a SNPs to be retain in the panel
+:type minimum_MAF: float
+:param region_to_mask: a list of additional regions to mask
+:type region_to_mask: dict</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>the reference_panel with the specified filter applied</p>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p>ref (pandas dataframe)</p>
+</dd>
+</dl>
 </dd></dl>
 
 </div>
@@ -371,39 +369,39 @@ Make sure that the same SNPs are in the reference panel and the gwas</p>
 <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="function">
 <dt id="jass_preprocessing.save_output.save_output">
-<code class="descclassname">jass_preprocessing.save_output.</code><code class="descname">save_output</code><span class="sig-paren">(</span><em>mgwas</em>, <em>ImpG_output_Folder</em>, <em>my_study</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/save_output.html#save_output"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.save_output.save_output" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">jass_preprocessing.save_output.</code><code class="sig-name descname">save_output</code><span class="sig-paren">(</span><em class="sig-param">mgwas</em>, <em class="sig-param">ImpG_output_Folder</em>, <em class="sig-param">my_study</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/save_output.html#save_output"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.save_output.save_output" title="Permalink to this definition">¶</a></dt>
 <dd><p>Write the preprocessed Gwas for ldscore analysis</p>
 </dd></dl>
 
 <dl class="function">
 <dt id="jass_preprocessing.save_output.save_output_by_chromosome">
-<code class="descclassname">jass_preprocessing.save_output.</code><code class="descname">save_output_by_chromosome</code><span class="sig-paren">(</span><em>mgwas</em>, <em>ImpG_output_Folder</em>, <em>my_study</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/save_output.html#save_output_by_chromosome"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.save_output.save_output_by_chromosome" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">jass_preprocessing.save_output.</code><code class="sig-name descname">save_output_by_chromosome</code><span class="sig-paren">(</span><em class="sig-param">mgwas</em>, <em class="sig-param">ImpG_output_Folder</em>, <em class="sig-param">my_study</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/jass_preprocessing/save_output.html#save_output_by_chromosome"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#jass_preprocessing.save_output.save_output_by_chromosome" title="Permalink to this definition">¶</a></dt>
 <dd><p>Write the preprocessed Gwas for imputation</p>
 </dd></dl>
 
 </div>
 <div class="section" id="module-jass_preprocessing">
 <span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-jass_preprocessing" title="Permalink to this headline">¶</a></h2>
-<table border="1" class="longtable docutils">
+<table class="longtable docutils align-default">
 <colgroup>
-<col width="10%" />
-<col width="90%" />
+<col style="width: 10%" />
+<col style="width: 90%" />
 </colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><a class="reference internal" href="#module-jass_preprocessing.map_gwas" title="jass_preprocessing.map_gwas"><code class="xref py py-obj docutils literal notranslate"><span class="pre">map_gwas</span></code></a></td>
-<td>Map GWAS</td>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#module-jass_preprocessing.map_gwas" title="jass_preprocessing.map_gwas"><code class="xref py py-obj docutils literal notranslate"><span class="pre">map_gwas</span></code></a></p></td>
+<td><p>Map GWAS</p></td>
 </tr>
-<tr class="row-even"><td><a class="reference internal" href="#module-jass_preprocessing.dna_utils" title="jass_preprocessing.dna_utils"><code class="xref py py-obj docutils literal notranslate"><span class="pre">dna_utils</span></code></a></td>
-<td>Few fonction to to compute DNA complement</td>
+<tr class="row-even"><td><p><a class="reference internal" href="#module-jass_preprocessing.dna_utils" title="jass_preprocessing.dna_utils"><code class="xref py py-obj docutils literal notranslate"><span class="pre">dna_utils</span></code></a></p></td>
+<td><p>Few fonction to to compute DNA complement</p></td>
 </tr>
-<tr class="row-odd"><td><a class="reference internal" href="#module-jass_preprocessing.map_reference" title="jass_preprocessing.map_reference"><code class="xref py py-obj docutils literal notranslate"><span class="pre">map_reference</span></code></a></td>
-<td>Module of function</td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#module-jass_preprocessing.map_reference" title="jass_preprocessing.map_reference"><code class="xref py py-obj docutils literal notranslate"><span class="pre">map_reference</span></code></a></p></td>
+<td><p>Module of function</p></td>
 </tr>
-<tr class="row-even"><td><a class="reference internal" href="#module-jass_preprocessing.compute_score" title="jass_preprocessing.compute_score"><code class="xref py py-obj docutils literal notranslate"><span class="pre">compute_score</span></code></a></td>
-<td></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#module-jass_preprocessing.compute_score" title="jass_preprocessing.compute_score"><code class="xref py py-obj docutils literal notranslate"><span class="pre">compute_score</span></code></a></p></td>
+<td><p></p></td>
 </tr>
-<tr class="row-odd"><td><a class="reference internal" href="#module-jass_preprocessing.save_output" title="jass_preprocessing.save_output"><code class="xref py py-obj docutils literal notranslate"><span class="pre">save_output</span></code></a></td>
-<td></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#module-jass_preprocessing.save_output" title="jass_preprocessing.save_output"><code class="xref py py-obj docutils literal notranslate"><span class="pre">save_output</span></code></a></p></td>
+<td><p></p></td>
 </tr>
 </tbody>
 </table>
@@ -438,25 +436,16 @@ Make sure that the same SNPs are in the reference panel and the gwas</p>
   
 
 
-  
-
-    
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../_static/jquery.js"></script>
-        <script type="text/javascript" src="../_static/underscore.js"></script>
-        <script type="text/javascript" src="../_static/doctools.js"></script>
-    
-
-  
-
-  <script type="text/javascript" src="../_static/js/theme.js"></script>
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
-  </script> 
+  </script>
+
+  
+  
+    
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/doc/_build/html/_autosummary/modules.html b/doc/_build/html/_autosummary/modules.html
index 889969b..1e41c94 100644
--- a/doc/_build/html/_autosummary/modules.html
+++ b/doc/_build/html/_autosummary/modules.html
@@ -17,32 +17,34 @@
   
 
   
-
-  
+  <script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+        <script type="text/javascript" src="../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
 
-  
+    
 
+  
   <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" /> 
-
-  
-  <script src="../_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -154,9 +156,7 @@
 <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 class="simple">
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing">Module contents</a></li>
 </ul>
 </li>
 </ul>
@@ -191,25 +191,16 @@
   
 
 
-  
-
-    
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../_static/jquery.js"></script>
-        <script type="text/javascript" src="../_static/underscore.js"></script>
-        <script type="text/javascript" src="../_static/doctools.js"></script>
-    
-
-  
-
-  <script type="text/javascript" src="../_static/js/theme.js"></script>
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
-  </script> 
+  </script>
+
+  
+  
+    
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/doc/_build/html/_modules/index.html b/doc/_build/html/_modules/index.html
index e6e25ee..685e610 100644
--- a/doc/_build/html/_modules/index.html
+++ b/doc/_build/html/_modules/index.html
@@ -17,32 +17,34 @@
   
 
   
-
-  
+  <script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../_static/jquery.js"></script>
+        <script type="text/javascript" src="../_static/underscore.js"></script>
+        <script type="text/javascript" src="../_static/doctools.js"></script>
+        <script type="text/javascript" src="../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
 
-  
+    
 
+  
   <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" /> 
-
-  
-  <script src="../_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -171,25 +173,16 @@
   
 
 
-  
-
-    
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../_static/jquery.js"></script>
-        <script type="text/javascript" src="../_static/underscore.js"></script>
-        <script type="text/javascript" src="../_static/doctools.js"></script>
-    
-
-  
-
-  <script type="text/javascript" src="../_static/js/theme.js"></script>
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
-  </script> 
+  </script>
+
+  
+  
+    
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/doc/_build/html/_modules/jass_preprocessing/compute_score.html b/doc/_build/html/_modules/jass_preprocessing/compute_score.html
index 98653d3..5f53904 100644
--- a/doc/_build/html/_modules/jass_preprocessing/compute_score.html
+++ b/doc/_build/html/_modules/jass_preprocessing/compute_score.html
@@ -17,32 +17,34 @@
   
 
   
-
-  
+  <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../_static/js/theme.js"></script>
 
-  
+    
 
+  
   <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
-
-  
-  <script src="../../_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -147,7 +149,7 @@
 <span class="kn">import</span> <span class="nn">seaborn</span> <span class="k">as</span> <span class="nn">sns</span>
 <span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
 
-<span class="n">perSS</span> <span class="o">=</span> <span class="mf">0.7</span>
+
 
 <div class="viewcode-block" id="compute_z_score"><a class="viewcode-back" href="../../_autosummary/jass_preprocessing.html#jass_preprocessing.compute_score.compute_z_score">[docs]</a><span class="k">def</span> <span class="nf">compute_z_score</span><span class="p">(</span><span class="n">mgwas</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
@@ -168,7 +170,7 @@
 
     <span class="k">return</span> <span class="n">mgwas</span></div>
 
-<div class="viewcode-block" id="compute_sample_size"><a class="viewcode-back" href="../../_autosummary/jass_preprocessing.html#jass_preprocessing.compute_score.compute_sample_size">[docs]</a><span class="k">def</span> <span class="nf">compute_sample_size</span><span class="p">(</span><span class="n">mgwas</span><span class="p">,</span> <span class="n">diagnostic_folder</span><span class="p">,</span> <span class="n">trait</span><span class="p">):</span>
+<div class="viewcode-block" id="compute_sample_size"><a class="viewcode-back" href="../../_autosummary/jass_preprocessing.html#jass_preprocessing.compute_score.compute_sample_size">[docs]</a><span class="k">def</span> <span class="nf">compute_sample_size</span><span class="p">(</span><span class="n">mgwas</span><span class="p">,</span> <span class="n">diagnostic_folder</span><span class="p">,</span> <span class="n">trait</span><span class="p">,</span> <span class="n">perSS</span> <span class="o">=</span> <span class="mf">0.7</span><span class="p">):</span>
 
     <span class="k">if</span> <span class="s1">&#39;n&#39;</span> <span class="ow">in</span> <span class="n">mgwas</span><span class="o">.</span><span class="n">columns</span><span class="p">:</span>
         <span class="n">myN</span> <span class="o">=</span> <span class="n">mgwas</span><span class="o">.</span><span class="n">n</span>
@@ -192,7 +194,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="n">perSS</span> <span class="o">*</span> <span class="n">myW_thres</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">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>
@@ -235,25 +237,16 @@
   
 
 
-  
-
-    
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../../_static/jquery.js"></script>
-        <script type="text/javascript" src="../../_static/underscore.js"></script>
-        <script type="text/javascript" src="../../_static/doctools.js"></script>
-    
-
-  
-
-  <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
-  </script> 
+  </script>
+
+  
+  
+    
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/doc/_build/html/_modules/jass_preprocessing/dna_utils.html b/doc/_build/html/_modules/jass_preprocessing/dna_utils.html
index c30ed3b..431e99d 100644
--- a/doc/_build/html/_modules/jass_preprocessing/dna_utils.html
+++ b/doc/_build/html/_modules/jass_preprocessing/dna_utils.html
@@ -17,32 +17,34 @@
   
 
   
-
-  
+  <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../_static/js/theme.js"></script>
 
-  
+    
 
+  
   <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
-
-  
-  <script src="../../_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -183,25 +185,16 @@
   
 
 
-  
-
-    
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../../_static/jquery.js"></script>
-        <script type="text/javascript" src="../../_static/underscore.js"></script>
-        <script type="text/javascript" src="../../_static/doctools.js"></script>
-    
-
-  
-
-  <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
-  </script> 
+  </script>
+
+  
+  
+    
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/doc/_build/html/_modules/jass_preprocessing/map_gwas.html b/doc/_build/html/_modules/jass_preprocessing/map_gwas.html
index ec7b414..0cbd1a3 100644
--- a/doc/_build/html/_modules/jass_preprocessing/map_gwas.html
+++ b/doc/_build/html/_modules/jass_preprocessing/map_gwas.html
@@ -17,32 +17,34 @@
   
 
   
-
-  
+  <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../_static/js/theme.js"></script>
 
-  
+    
 
+  
   <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
-
-  
-  <script src="../../_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -151,6 +153,9 @@
 <span class="kn">import</span> <span class="nn">sys</span>
 <span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
 <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
+<span class="kn">import</span> <span class="nn">gzip</span>
+<span class="kn">import</span> <span class="nn">re</span>
+
 
 <div class="viewcode-block" id="walkfs"><a class="viewcode-back" href="../../_autosummary/jass_preprocessing.html#jass_preprocessing.map_gwas.walkfs">[docs]</a><span class="k">def</span> <span class="nf">walkfs</span><span class="p">(</span><span class="n">startdir</span><span class="p">,</span> <span class="n">findfile</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
@@ -214,46 +219,48 @@
     <span class="k">return</span> <span class="n">df</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">def_missing</span><span class="p">,</span> <span class="n">nan_vec</span><span class="p">)</span></div>
 
 
-<div class="viewcode-block" id="map_columns_position"><a class="viewcode-back" href="../../_autosummary/jass_preprocessing.html#jass_preprocessing.map_gwas.map_columns_position">[docs]</a><span class="k">def</span> <span class="nf">map_columns_position</span><span class="p">(</span><span class="n">gwas_internal_link</span><span class="p">,</span>  <span class="n">GWAS_labels</span><span class="p">):</span>
+<div class="viewcode-block" id="map_columns_position"><a class="viewcode-back" href="../../_autosummary/jass_preprocessing.html#jass_preprocessing.map_gwas.map_columns_position">[docs]</a><span class="k">def</span> <span class="nf">map_columns_position</span><span class="p">(</span><span class="n">gwas_internal_link</span><span class="p">,</span>  <span class="n">column_dict</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Find column position for each specific Gwas</span>
 
 <span class="sd">    Args:</span>
 <span class="sd">        gwas_internal_link (str): filename of the GWAS data (with path)</span>
-<span class="sd">        GWAS_labels (str): filename of the csv information file</span>
+<span class="sd">        GWAS_labels (pd.DataFrame): corresponding row of the information file</span>
 
 <span class="sd">    Return:</span>
 <span class="sd">        pandas Series with column position and column names as index</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">column_dict</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_labels</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s1">&#39;</span><span class="se">\t</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">na_values</span><span class="o">=</span><span class="s1">&#39;na&#39;</span><span class="p">,</span> <span class="n">index_col</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
-
+    <span class="nb">print</span><span class="p">(</span><span class="n">gwas_internal_link</span><span class="p">)</span>
     <span class="n">gwas_file</span> <span class="o">=</span> <span class="n">gwas_internal_link</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
-
-    <span class="n">my_labels</span> <span class="o">=</span> <span class="n">column_dict</span><span class="o">.</span><span class="n">loc</span><span class="p">[</span><span class="n">gwas_file</span><span class="p">]</span>
-
     <span class="c1">#Our standart labels:</span>
-    <span class="n">reference_label</span> <span class="o">=</span> <span class="n">column_dict</span><span class="o">.</span><span class="n">columns</span><span class="o">.</span><span class="n">tolist</span><span class="p">()</span>
-    <span class="c1"># labels in the GWAS files</span>
-    <span class="n">target_lab</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">Index</span><span class="p">(</span><span class="n">my_labels</span><span class="o">.</span><span class="n">values</span><span class="o">.</span><span class="n">tolist</span><span class="p">())</span>
 
-    <span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">gwas_internal_link</span><span class="p">)</span>
+    <span class="n">reference_label</span> <span class="o">=</span> <span class="n">column_dict</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">tolist</span><span class="p">()</span>
+    <span class="nb">print</span><span class="p">(</span><span class="n">reference_label</span><span class="p">)</span>
+    <span class="c1"># labels in the GWAS files</span>
+    <span class="n">target_lab</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">Index</span><span class="p">(</span><span class="n">column_dict</span><span class="o">.</span><span class="n">values</span><span class="o">.</span><span class="n">tolist</span><span class="p">())</span>
+    <span class="n">is_gzipped</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;.gz$&quot;</span><span class="p">,</span> <span class="n">gwas_internal_link</span><span class="p">)</span>
+    <span class="k">if</span> <span class="n">is_gzipped</span><span class="p">:</span>
+        <span class="n">f</span> <span class="o">=</span> <span class="n">gzip</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">gwas_internal_link</span><span class="p">)</span>
+        <span class="n">line</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span>
+        <span class="n">line</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">gwas_internal_link</span><span class="p">)</span>
+        <span class="n">line</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span>
     <span class="n">count_line</span> <span class="o">=</span> <span class="mi">0</span>
-    <span class="n">line</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span>
-    <span class="nb">print</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
-    <span class="n">header</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">Index</span><span class="p">(</span><span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">())</span>
 
+    <span class="n">header</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">Index</span><span class="p">(</span><span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">())</span>
     <span class="k">def</span> <span class="nf">get_position</span><span class="p">(</span><span class="n">I</span><span class="p">,</span><span class="n">x</span><span class="p">):</span>
         <span class="k">try</span><span class="p">:</span>
             <span class="k">return</span> <span class="n">I</span><span class="o">.</span><span class="n">get_loc</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
         <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
             <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">nan</span>
-    <span class="n">label_position</span> <span class="o">=</span> <span class="p">[</span><span class="n">get_position</span><span class="p">(</span><span class="n">header</span><span class="p">,</span><span class="n">i</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">target_lab</span><span class="p">]</span>
 
+    <span class="n">label_position</span> <span class="o">=</span> <span class="p">[</span><span class="n">get_position</span><span class="p">(</span><span class="n">header</span><span class="p">,</span><span class="n">i</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">target_lab</span><span class="p">]</span>
 
     <span class="n">mapgw</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">(</span><span class="n">label_position</span><span class="p">,</span> <span class="n">index</span><span class="o">=</span><span class="n">reference_label</span><span class="p">)</span>
     <span class="n">mapgw</span> <span class="o">=</span> <span class="n">mapgw</span><span class="o">.</span><span class="n">loc</span><span class="p">[</span><span class="o">~</span><span class="n">mapgw</span><span class="o">.</span><span class="n">isna</span><span class="p">()]</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="nb">int</span><span class="p">)</span>
     <span class="n">mapgw</span><span class="o">.</span><span class="n">sort_values</span><span class="p">(</span><span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="nb">print</span><span class="p">(</span><span class="n">mapgw</span><span class="p">)</span>
+
     <span class="n">f</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
     <span class="k">return</span> <span class="n">mapgw</span></div>
 
@@ -269,18 +276,28 @@
 <span class="sd">    Return:</span>
 <span class="sd">        a pandas dataframe with missing value all equal to np.nan</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-
+    <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Reading file:&quot;</span><span class="p">)</span>
+    <span class="nb">print</span><span class="p">(</span><span class="n">gwas_internal_link</span><span class="p">)</span>
+    <span class="n">is_gzipped</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;.gz$&quot;</span><span class="p">,</span> <span class="n">gwas_internal_link</span><span class="p">)</span>
+    <span class="k">if</span> <span class="n">is_gzipped</span><span class="p">:</span>
+        <span class="n">compression</span> <span class="o">=</span> <span class="s1">&#39;gzip&#39;</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="n">compression</span> <span class="o">=</span> <span class="kc">None</span>
+
+    <span class="nb">print</span><span class="p">(</span><span class="n">column_map</span><span class="o">.</span><span class="n">values</span><span class="p">)</span>
+    <span class="nb">print</span><span class="p">(</span><span class="n">column_map</span><span class="o">.</span><span class="n">index</span><span class="p">)</span>
     <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="c1">#column_dict[&#39;label_position&#39;].keys(),</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">index_col</span><span class="o">=</span><span class="mi">0</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="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;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="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="n">fullGWAS</span><span class="o">.</span><span class="n">set_index</span><span class="p">(</span><span class="s2">&quot;snpid&quot;</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</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="n">fullGWAS</span> <span class="o">=</span> <span class="n">fullGWAS</span><span class="p">[</span><span class="o">~</span><span class="n">fullGWAS</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">duplicated</span><span class="p">(</span><span class="n">keep</span><span class="o">=</span><span class="s1">&#39;first&#39;</span><span class="p">)]</span>
     <span class="c1">#fullGWAS = convert_missing_values(fullGWAS)</span>
 
@@ -314,25 +331,16 @@
   
 
 
-  
-
-    
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../../_static/jquery.js"></script>
-        <script type="text/javascript" src="../../_static/underscore.js"></script>
-        <script type="text/javascript" src="../../_static/doctools.js"></script>
-    
-
-  
-
-  <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
-  </script> 
+  </script>
+
+  
+  
+    
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/doc/_build/html/_modules/jass_preprocessing/map_reference.html b/doc/_build/html/_modules/jass_preprocessing/map_reference.html
index 336b4d0..3279e2d 100644
--- a/doc/_build/html/_modules/jass_preprocessing/map_reference.html
+++ b/doc/_build/html/_modules/jass_preprocessing/map_reference.html
@@ -17,32 +17,34 @@
   
 
   
-
-  
+  <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../_static/js/theme.js"></script>
 
-  
+    
 
+  
   <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
-
-  
-  <script src="../../_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -149,17 +151,37 @@
 <span class="kn">import</span> <span class="nn">jass_preprocessing.dna_utils</span> <span class="k">as</span> <span class="nn">dna_u</span>
 <span class="kn">import</span> <span class="nn">warnings</span>
 
-
-<div class="viewcode-block" id="read_reference"><a class="viewcode-back" href="../../_autosummary/jass_preprocessing.html#jass_preprocessing.map_reference.read_reference">[docs]</a><span class="k">def</span> <span class="nf">read_reference</span><span class="p">(</span><span class="n">gwas_reference_panel</span><span class="p">):</span>
+<div class="viewcode-block" id="read_reference"><a class="viewcode-back" href="../../_autosummary/jass_preprocessing.html#jass_preprocessing.map_reference.read_reference">[docs]</a><span class="k">def</span> <span class="nf">read_reference</span><span class="p">(</span><span class="n">gwas_reference_panel</span><span class="p">,</span> <span class="n">mask_MHC</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">minimum_MAF</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">region_to_mask</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    helper function to name correctly the column</span>
+<span class="sd">    Args:</span>
+<span class="sd">        gwas_reference_panel (str): path toward the reference panel file</span>
+<span class="sd">        mask_MHC (bool): Whether the MHC region should be masked or not. default is False</span>
+<span class="sd">        Filter the reference panel by  minimum allele frequency (hg19 coordinate)</span>
+<span class="sd">        minimum_MAF (float): minimum allele frequency for a SNPs to be retain in the panel</span>
+<span class="sd">        region_to_mask (dict): a list of additional regions to mask</span>
+<span class="sd">    Return:</span>
+<span class="sd">        ref (pandas dataframe): the reference_panel with the specified filter applied</span>
 <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">REF_filename</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">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;pos&quot;</span><span class="p">,</span> <span class="s2">&quot;snp_id&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="s2">&quot;MAF&quot;</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="c1">#Filter Strand ambiguous</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="k">if</span> <span class="n">mask_MHC</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="n">ref</span><span class="o">.</span><span class="n">chr</span> <span class="o">!=</span><span class="mi">6</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">pos</span> <span class="o">&lt;</span> <span class="mi">28477797</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">pos</span> <span class="o">&gt;</span> <span class="mi">33448354</span><span class="p">)]</span>
+
+    <span class="k">if</span> <span class="n">minimum_MAF</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</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="n">ref</span><span class="o">.</span><span class="n">MAF</span> <span class="o">&gt;</span> <span class="n">minimum_MAF</span><span class="p">]</span>
+
+    <span class="k">if</span> <span class="n">region_to_mask</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="k">for</span> <span class="n">reg</span> <span class="ow">in</span> <span class="n">region_to_mask</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="n">ref</span><span class="o">.</span><span class="n">chr</span> <span class="o">!=</span> <span class="n">reg</span><span class="p">[</span><span class="s2">&quot;chr&quot;</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">pos</span> <span class="o">&lt;</span><span class="n">reg</span><span class="p">[</span><span class="s2">&quot;start&quot;</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">pos</span> <span class="o">&gt;</span> <span class="n">reg</span><span class="p">[</span><span class="s2">&quot;end&quot;</span><span class="p">])]</span>
     <span class="k">return</span><span class="p">(</span><span class="n">ref</span><span class="p">)</span></div>
 
 
+
 <div class="viewcode-block" id="map_on_ref_panel"><a class="viewcode-back" href="../../_autosummary/jass_preprocessing.html#jass_preprocessing.map_reference.map_on_ref_panel">[docs]</a><span class="k">def</span> <span class="nf">map_on_ref_panel</span><span class="p">(</span><span class="n">gw_df</span> <span class="p">,</span> <span class="n">ref_panel</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Merge Gwas dataframe with the reference panel</span>
@@ -294,25 +316,16 @@
   
 
 
-  
-
-    
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../../_static/jquery.js"></script>
-        <script type="text/javascript" src="../../_static/underscore.js"></script>
-        <script type="text/javascript" src="../../_static/doctools.js"></script>
-    
-
-  
-
-  <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
-  </script> 
+  </script>
+
+  
+  
+    
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/doc/_build/html/_modules/jass_preprocessing/save_output.html b/doc/_build/html/_modules/jass_preprocessing/save_output.html
index f9a906e..4b47c43 100644
--- a/doc/_build/html/_modules/jass_preprocessing/save_output.html
+++ b/doc/_build/html/_modules/jass_preprocessing/save_output.html
@@ -17,32 +17,34 @@
   
 
   
-
-  
+  <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../_static/js/theme.js"></script>
 
-  
+    
 
+  
   <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
-
-  
-  <script src="../../_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -217,25 +219,16 @@
   
 
 
-  
-
-    
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../../_static/jquery.js"></script>
-        <script type="text/javascript" src="../../_static/underscore.js"></script>
-        <script type="text/javascript" src="../../_static/doctools.js"></script>
-    
-
-  
-
-  <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
-  </script> 
+  </script>
+
+  
+  
+    
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/doc/_build/html/_sources/index.rst.txt b/doc/_build/html/_sources/index.rst.txt
index 733fd0b..83387d8 100644
--- a/doc/_build/html/_sources/index.rst.txt
+++ b/doc/_build/html/_sources/index.rst.txt
@@ -70,7 +70,7 @@ Input
 |  1  |14930| rs75454623 |  A  |  G  | 0.482228|
 +-----+-----+------------+-----+-----+---------+
 
-* Folder containing all raw gwas data (all chromosomes in one file) (minimal conditions?? tab separated?)
+* 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:
 
@@ -84,7 +84,7 @@ Input
 +===========================================+============================================================+
 |             path to the data              |                            filename                        |
 +-------------------------------------------+------------------------------------------------------------+
-|            study info fields              | consortia,outcome,fullName,type,Nsample,Ncase,Ncontrol,Nsnp|
+|            study info fields              | Consortium,Outcome,fullName,type,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   |
 +-------------------------------------------+------------------------------------------------------------+
@@ -92,6 +92,7 @@ Input
 .. 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. 
 
diff --git a/doc/_build/html/_static/basic.css b/doc/_build/html/_static/basic.css
index 104f076..ea6972d 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-2018 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
@@ -231,6 +231,16 @@ a.headerlink {
     visibility: hidden;
 }
 
+a.brackets:before,
+span.brackets > a:before{
+    content: "[";
+}
+
+a.brackets:after,
+span.brackets > a:after {
+    content: "]";
+}
+
 h1:hover > a.headerlink,
 h2:hover > a.headerlink,
 h3:hover > a.headerlink,
@@ -279,6 +289,12 @@ img.align-center, .figure.align-center, object.align-center {
   margin-right: auto;
 }
 
+img.align-default, .figure.align-default {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
 .align-left {
     text-align: left;
 }
@@ -287,6 +303,10 @@ img.align-center, .figure.align-center, object.align-center {
     text-align: center;
 }
 
+.align-default {
+    text-align: center;
+}
+
 .align-right {
     text-align: right;
 }
@@ -358,6 +378,11 @@ table.align-center {
     margin-right: auto;
 }
 
+table.align-default {
+    margin-left: auto;
+    margin-right: auto;
+}
+
 table caption span.caption-number {
     font-style: italic;
 }
@@ -391,6 +416,16 @@ table.citation td {
     border-bottom: none;
 }
 
+th > p:first-child,
+td > p:first-child {
+    margin-top: 0px;
+}
+
+th > p:last-child,
+td > p:last-child {
+    margin-bottom: 0px;
+}
+
 /* -- figures --------------------------------------------------------------- */
 
 div.figure {
@@ -460,11 +495,58 @@ ol.upperroman {
     list-style: upper-roman;
 }
 
+li > p:first-child {
+    margin-top: 0px;
+}
+
+li > p:last-child {
+    margin-bottom: 0px;
+}
+
+dl.footnote > dt,
+dl.citation > dt {
+    float: left;
+}
+
+dl.footnote > dd,
+dl.citation > dd {
+    margin-bottom: 0em;
+}
+
+dl.footnote > dd:after,
+dl.citation > dd:after {
+    content: "";
+    clear: both;
+}
+
+dl.field-list {
+    display: grid;
+    grid-template-columns: fit-content(30%) auto;
+}
+
+dl.field-list > dt {
+    font-weight: bold;
+    word-break: break-word;
+    padding-left: 0.5em;
+    padding-right: 5px;
+}
+
+dl.field-list > dt:after {
+    content: ":";
+}
+
+dl.field-list > dd {
+    padding-left: 0.5em;
+    margin-top: 0em;
+    margin-left: 0em;
+    margin-bottom: 0em;
+}
+
 dl {
     margin-bottom: 15px;
 }
 
-dd p {
+dd > p:first-child {
     margin-top: 0px;
 }
 
@@ -537,6 +619,12 @@ dl.glossary dt {
     font-style: oblique;
 }
 
+.classifier:before {
+    font-style: normal;
+    margin: 0.5em;
+    content: ":";
+}
+
 abbr, acronym {
     border-bottom: dotted 1px;
     cursor: help;
diff --git a/doc/_build/html/_static/doctools.js b/doc/_build/html/_static/doctools.js
index ffadbec..b33f87f 100644
--- a/doc/_build/html/_static/doctools.js
+++ b/doc/_build/html/_static/doctools.js
@@ -4,7 +4,7 @@
  *
  * Sphinx JavaScript utilities for all documentation.
  *
- * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
@@ -87,14 +87,13 @@ jQuery.fn.highlightText = function(text, className) {
           node.nextSibling));
         node.nodeValue = val.substr(0, pos);
         if (isInSVG) {
-          var bbox = span.getBBox();
           var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
-       	  rect.x.baseVal.value = bbox.x;
+          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);
-          var parentOfText = node.parentNode.parentNode;
           addItems.push({
               "parent": node.parentNode,
               "target": rect});
diff --git a/doc/_build/html/_static/documentation_options.js b/doc/_build/html/_static/documentation_options.js
index 837eacf..ad3a3d9 100644
--- a/doc/_build/html/_static/documentation_options.js
+++ b/doc/_build/html/_static/documentation_options.js
@@ -6,291 +6,5 @@ var DOCUMENTATION_OPTIONS = {
     FILE_SUFFIX: '.html',
     HAS_SOURCE: true,
     SOURCELINK_SUFFIX: '.txt',
-    NAVIGATION_WITH_KEYS: false,
-    SEARCH_LANGUAGE_STOP_WORDS: ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"]
-};
-
-
-
-/* Non-minified version JS is _stemmer.js if file is provided */ 
-/**
- * Porter Stemmer
- */
-var Stemmer = function() {
-
-  var step2list = {
-    ational: 'ate',
-    tional: 'tion',
-    enci: 'ence',
-    anci: 'ance',
-    izer: 'ize',
-    bli: 'ble',
-    alli: 'al',
-    entli: 'ent',
-    eli: 'e',
-    ousli: 'ous',
-    ization: 'ize',
-    ation: 'ate',
-    ator: 'ate',
-    alism: 'al',
-    iveness: 'ive',
-    fulness: 'ful',
-    ousness: 'ous',
-    aliti: 'al',
-    iviti: 'ive',
-    biliti: 'ble',
-    logi: 'log'
-  };
-
-  var step3list = {
-    icate: 'ic',
-    ative: '',
-    alize: 'al',
-    iciti: 'ic',
-    ical: 'ic',
-    ful: '',
-    ness: ''
-  };
-
-  var c = "[^aeiou]";          // consonant
-  var v = "[aeiouy]";          // vowel
-  var C = c + "[^aeiouy]*";    // consonant sequence
-  var V = v + "[aeiou]*";      // vowel sequence
-
-  var mgr0 = "^(" + C + ")?" + V + C;                      // [C]VC... is m>0
-  var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$";    // [C]VC[V] is m=1
-  var mgr1 = "^(" + C + ")?" + V + C + V + C;              // [C]VCVC... is m>1
-  var s_v   = "^(" + C + ")?" + v;                         // vowel in stem
-
-  this.stemWord = function (w) {
-    var stem;
-    var suffix;
-    var firstch;
-    var origword = w;
-
-    if (w.length < 3)
-      return w;
-
-    var re;
-    var re2;
-    var re3;
-    var re4;
-
-    firstch = w.substr(0,1);
-    if (firstch == "y")
-      w = firstch.toUpperCase() + w.substr(1);
-
-    // Step 1a
-    re = /^(.+?)(ss|i)es$/;
-    re2 = /^(.+?)([^s])s$/;
-
-    if (re.test(w))
-      w = w.replace(re,"$1$2");
-    else if (re2.test(w))
-      w = w.replace(re2,"$1$2");
-
-    // Step 1b
-    re = /^(.+?)eed$/;
-    re2 = /^(.+?)(ed|ing)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      re = new RegExp(mgr0);
-      if (re.test(fp[1])) {
-        re = /.$/;
-        w = w.replace(re,"");
-      }
-    }
-    else if (re2.test(w)) {
-      var fp = re2.exec(w);
-      stem = fp[1];
-      re2 = new RegExp(s_v);
-      if (re2.test(stem)) {
-        w = stem;
-        re2 = /(at|bl|iz)$/;
-        re3 = new RegExp("([^aeiouylsz])\\1$");
-        re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
-        if (re2.test(w))
-          w = w + "e";
-        else if (re3.test(w)) {
-          re = /.$/;
-          w = w.replace(re,"");
-        }
-        else if (re4.test(w))
-          w = w + "e";
-      }
-    }
-
-    // Step 1c
-    re = /^(.+?)y$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      re = new RegExp(s_v);
-      if (re.test(stem))
-        w = stem + "i";
-    }
-
-    // Step 2
-    re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      suffix = fp[2];
-      re = new RegExp(mgr0);
-      if (re.test(stem))
-        w = stem + step2list[suffix];
-    }
-
-    // Step 3
-    re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      suffix = fp[2];
-      re = new RegExp(mgr0);
-      if (re.test(stem))
-        w = stem + step3list[suffix];
-    }
-
-    // Step 4
-    re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
-    re2 = /^(.+?)(s|t)(ion)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      re = new RegExp(mgr1);
-      if (re.test(stem))
-        w = stem;
-    }
-    else if (re2.test(w)) {
-      var fp = re2.exec(w);
-      stem = fp[1] + fp[2];
-      re2 = new RegExp(mgr1);
-      if (re2.test(stem))
-        w = stem;
-    }
-
-    // Step 5
-    re = /^(.+?)e$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      re = new RegExp(mgr1);
-      re2 = new RegExp(meq1);
-      re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
-      if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
-        w = stem;
-    }
-    re = /ll$/;
-    re2 = new RegExp(mgr1);
-    if (re.test(w) && re2.test(w)) {
-      re = /.$/;
-      w = w.replace(re,"");
-    }
-
-    // and turn initial Y back to y
-    if (firstch == "y")
-      w = firstch.toLowerCase() + w.substr(1);
-    return w;
-  }
-}
-
-
-
-
-
-var splitChars = (function() {
-    var result = {};
-    var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
-         1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702,
-         2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971,
-         2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345,
-         3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761,
-         3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823,
-         4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125,
-         8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695,
-         11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587,
-         43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141];
-    var i, j, start, end;
-    for (i = 0; i < singles.length; i++) {
-        result[singles[i]] = true;
-    }
-    var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709],
-         [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161],
-         [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568],
-         [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807],
-         [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047],
-         [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383],
-         [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450],
-         [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547],
-         [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673],
-         [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820],
-         [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946],
-         [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023],
-         [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173],
-         [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332],
-         [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481],
-         [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718],
-         [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791],
-         [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095],
-         [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205],
-         [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687],
-         [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968],
-         [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869],
-         [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102],
-         [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271],
-         [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592],
-         [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822],
-         [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167],
-         [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959],
-         [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143],
-         [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318],
-         [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483],
-         [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101],
-         [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567],
-         [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292],
-         [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444],
-         [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783],
-         [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311],
-         [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511],
-         [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774],
-         [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071],
-         [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263],
-         [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519],
-         [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647],
-         [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967],
-         [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295],
-         [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274],
-         [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007],
-         [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381],
-         [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]];
-    for (i = 0; i < ranges.length; i++) {
-        start = ranges[i][0];
-        end = ranges[i][1];
-        for (j = start; j <= end; j++) {
-            result[j] = true;
-        }
-    }
-    return result;
-})();
-
-function splitQuery(query) {
-    var result = [];
-    var start = -1;
-    for (var i = 0; i < query.length; i++) {
-        if (splitChars[query.charCodeAt(i)]) {
-            if (start !== -1) {
-                result.push(query.slice(start, i));
-                start = -1;
-            }
-        } else if (start === -1) {
-            start = i;
-        }
-    }
-    if (start !== -1) {
-        result.push(query.slice(start));
-    }
-    return result;
-}
-
-
+    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 644d35e..a1c07fd 100644
--- a/doc/_build/html/_static/jquery.js
+++ b/doc/_build/html/_static/jquery.js
@@ -1,4 +1,2 @@
-/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */
-!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=Array.isArray(d)))?(e?(e=!1,f=c&&Array.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,N,e),g(f,c,O,e)):(f++,j.call(a,g(f,c,N,e),g(f,c,O,e),g(f,c,N,c.notifyWith))):(d!==N&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S),
-a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},U=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function V(){this.expando=r.expando+V.uid++}V.uid=1,V.prototype={cache:function(a){var b=a[this.expando];return b||(b={},U(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){Array.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(L)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var W=new V,X=new V,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function $(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:Y.test(a)?JSON.parse(a):a)}function _(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Z,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=$(c)}catch(e){}X.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return X.hasData(a)||W.hasData(a)},data:function(a,b,c){return X.access(a,b,c)},removeData:function(a,b){X.remove(a,b)},_data:function(a,b,c){return W.access(a,b,c)},_removeData:function(a,b){W.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=X.get(f),1===f.nodeType&&!W.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),_(f,d,e[d])));W.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){X.set(this,a)}):T(this,function(b){var c;if(f&&void 0===b){if(c=X.get(f,a),void 0!==c)return c;if(c=_(f,a),void 0!==c)return c}else this.each(function(){X.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=W.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var aa=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ba=new RegExp("^(?:([+-])=|)("+aa+")([a-z%]*)$","i"),ca=["Top","Right","Bottom","Left"],da=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ea=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function fa(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&ba.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ga={};function ha(a){var b,c=a.ownerDocument,d=a.nodeName,e=ga[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ga[d]=e,e)}function ia(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=W.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&da(d)&&(e[f]=ha(d))):"none"!==c&&(e[f]="none",W.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ia(this,!0)},hide:function(){return ia(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){da(this)?r(this).show():r(this).hide()})}});var ja=/^(?:checkbox|radio)$/i,ka=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,"<select multiple='multiple'>","</select>"],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,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c<d;c++)W.set(a[c],"globalEval",!b||W.get(b[c],"globalEval"))}var pa=/<|&#?\w+;/;function qa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(pa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ka.exec(f)||["",""])[1].toLowerCase(),i=ma[h]||ma._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&B(this,"input"))return this.click(),!1},_default:function(a){return B(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?va:wa,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:wa,isPropagationStopped:wa,isImmediatePropagationStopped:wa,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=va,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=va,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=va,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.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,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(a){var b=a.button;return null==a.which&&sa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ta.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return ya(this,a,b,c,d)},one:function(a,b,c,d){return ya(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=wa),this.each(function(){r.event.remove(this,a,c,b)})}});var za=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/<script|<style|<link/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,Ca=/^true\/(.*)/,Da=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}X.hasData(a)&&(h=X.access(a),i=r.extend({},h),X.set(b,i))}}function Ia(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ja.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ja(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,na(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ga),l=0;l<i;l++)j=h[l],la.test(j.type||"")&&!W.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Da,""),k))}return a}function Ka(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(na(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&oa(na(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(za,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d<e;d++)Ia(f[d],g[d]);if(b)if(c)for(f=f||na(a),g=g||na(h),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);else Ha(a,h);return g=na(h,"script"),g.length>0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(na(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ja(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(na(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var La=/^margin/,Ma=new RegExp("^("+aa+")(?!px)[a-z%]+$","i"),Na=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",ra.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,ra.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Oa(a,b,c){var d,e,f,g,h=a.style;return c=c||Na(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ma.test(g)&&La.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Pa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Qa=/^(none|table(?!-c[ea]).+)/,Ra=/^--/,Sa={position:"absolute",visibility:"hidden",display:"block"},Ta={letterSpacing:"0",fontWeight:"400"},Ua=["Webkit","Moz","ms"],Va=d.createElement("div").style;function Wa(a){if(a in Va)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ua.length;while(c--)if(a=Ua[c]+b,a in Va)return a}function Xa(a){var b=r.cssProps[a];return b||(b=r.cssProps[a]=Wa(a)||a),b}function Ya(a,b,c){var d=ba.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Za(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ca[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ca[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ca[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ca[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ca[f]+"Width",!0,e)));return g}function $a(a,b,c){var d,e=Na(a),f=Oa(a,b,e),g="border-box"===r.css(a,"boxSizing",!1,e);return Ma.test(f)?f:(d=g&&(o.boxSizingReliable()||f===a.style[b]),"auto"===f&&(f=a["offset"+b[0].toUpperCase()+b.slice(1)]),f=parseFloat(f)||0,f+Za(a,b,c||(g?"border":"content"),d,e)+"px")}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Oa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=Ra.test(b),j=a.style;return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:j[b]:(f=typeof c,"string"===f&&(e=ba.exec(c))&&e[1]&&(c=fa(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(j[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i?j.setProperty(b,c):j[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b),i=Ra.test(b);return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Oa(a,b,d)),"normal"===e&&b in Ta&&(e=Ta[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Qa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?$a(a,b,d):ea(a,Sa,function(){return $a(a,b,d)})},set:function(a,c,d){var e,f=d&&Na(a),g=d&&Za(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=ba.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ya(a,c,g)}}}),r.cssHooks.marginLeft=Pa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Oa(a,"marginLeft"))||a.getBoundingClientRect().left-ea(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ca[d]+b]=f[d]||f[d-2]||f[0];return e}},La.test(a)||(r.cssHooks[a+b].set=Ya)}),r.fn.extend({css:function(a,b){return T(this,function(a,b,c){var d,e,f={},g=0;if(Array.isArray(b)){for(d=Na(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&da(a),q=W.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],cb.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=W.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ia([a],!0),j=a.style.display||j,k=r.css(a,"display"),ia([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=W.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ia([a],!0),m.done(function(){p||ia([a]),W.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=hb(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],Array.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=kb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=ab||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(i||h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:ab||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);f<g;f++)if(d=kb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,hb,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j}r.Animation=r.extend(kb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return fa(c.elem,a,ba.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(L);for(var c,d=0,e=a.length;d<e;d++)c=a[d],kb.tweeners[c]=kb.tweeners[c]||[],kb.tweeners[c].unshift(b)},prefilters:[ib],prefilter:function(a,b){b?kb.prefilters.unshift(a):kb.prefilters.push(a)}}),r.speed=function(a,b,c){var d=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off?d.duration=0:"number"!=typeof d.duration&&(d.duration in r.fx.speeds?d.duration=r.fx.speeds[d.duration]:d.duration=r.fx.speeds._default),null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){r.isFunction(d.old)&&d.old.call(this),d.queue&&r.dequeue(this,d.queue)},d},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(da).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=kb(this,r.extend({},a),f);(e||W.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=W.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&db.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=W.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),r.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(ab=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),ab=void 0},r.fx.timer=function(a){r.timers.push(a),r.fx.start()},r.fx.interval=13,r.fx.start=function(){bb||(bb=!0,eb())},r.fx.stop=function(){bb=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var lb,mb=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return T(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),
-null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!B(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.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(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,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":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Tb=[],Ub=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Tb.pop()||r.expando+"_"+ub++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Ub.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ub.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Ub,"$1"+e):b.jsonp!==!1&&(b.url+=(vb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Tb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=C.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=qa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=pb(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length},r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),b=f.ownerDocument,c=b.documentElement,e=b.defaultView,{top:d.top+e.pageYOffset-c.clientTop,left:d.left+e.pageXOffset-c.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),B(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||ra})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return T(this,function(a,d,e){var f;return r.isWindow(a)?f=a:9===a.nodeType&&(f=a.defaultView),void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Pa(o.pixelPosition,function(a,c){if(c)return c=Oa(a,b),Ma.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return T(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.holdReady=function(a){a?r.readyWait++:r.ready(!0)},r.isArray=Array.isArray,r.parseJSON=JSON.parse,r.nodeName=B,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Vb=a.jQuery,Wb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Wb),b&&a.jQuery===r&&(a.jQuery=Vb),r},b||(a.jQuery=a.$=r),r});
+/*! jQuery v3.4.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=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,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},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.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(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)}k.fn=k.prototype={jquery:f,constructor:k,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=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.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)},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},k.extend=k.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&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.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){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(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},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.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(d(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.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=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="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),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-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|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(m.childNodes),m.childNodes),t[m.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&&((e?e.ownerDocument||e:m)!==C&&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&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$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[k]=!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:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),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=k,!C.getElementsByName||!C.getElementsByName(k).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){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\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~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),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("!=",$)}),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===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,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]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[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){A(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=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(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(F," ")+" ").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)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&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]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&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[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,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[k]?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(B,"$1"));return s[k]?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=[S,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[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&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[k]&&(v=Ce(v)),y&&!y[k]&&(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))[k]){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(B,"$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(B," ")}),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=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(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=S+=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&&(S=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&&(S=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=k.split("").sort(D).join("")===k,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);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.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&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.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 k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.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(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.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&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(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(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(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])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.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){k.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 k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.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},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.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 k.Deferred(function(r){k.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,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.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=k.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&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.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(k(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},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(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[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(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(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.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&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.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=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.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=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.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 ce={};function fe(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]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],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)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(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))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.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<k.inArray(o,r))i&&i.push(o);else if(l=oe(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}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(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)Ae(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=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.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),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.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)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.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<k(i,this).index(l):k.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(k.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[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,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&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.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&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(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=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],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&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.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++)Me(o[r],a[r]);else Me(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=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.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 Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(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&&(k.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 k.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&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.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 Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.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 ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(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+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[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 tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(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=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.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=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.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=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.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):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.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=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),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:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.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=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.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=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,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),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.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&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._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--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.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]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.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=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(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?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.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&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.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&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.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||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.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})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.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)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.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=k.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(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.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=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.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)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(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){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(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){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.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,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.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=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.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&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.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]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.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=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(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)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.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||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.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&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];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 _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.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 zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,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":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),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=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.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=Pt.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||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.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]?", "+$t+"; 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=_t(Wt,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)),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"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.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]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(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){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!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(Ut[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()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.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 k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<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 Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.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(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.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?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.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=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.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,k.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)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.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"===k.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"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.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)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.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?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.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){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.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)}}),k.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||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});
diff --git a/doc/_build/html/_static/searchtools.js b/doc/_build/html/_static/searchtools.js
index 7473859..6031f99 100644
--- a/doc/_build/html/_static/searchtools.js
+++ b/doc/_build/html/_static/searchtools.js
@@ -4,7 +4,7 @@
  *
  * Sphinx JavaScript utilities for the full-text search.
  *
- * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
@@ -36,8 +36,10 @@ if (!Scorer) {
 
     // query found in title
     title: 15,
+    partialTitle: 7,
     // query found in terms
-    term: 5
+    term: 5,
+    partialTerm: 2
   };
 }
 
@@ -56,6 +58,14 @@ var Search = {
   _queued_query : null,
   _pulse_status : -1,
 
+  htmlToText : function(htmlString) {
+      var htmlElement = document.createElement('span');
+      htmlElement.innerHTML = htmlString;
+      $(htmlElement).find('.headerlink').remove();
+      docContent = $(htmlElement).find('[role=main]')[0];
+      return docContent.textContent || docContent.innerText;
+  },
+
   init : function() {
       var params = $.getQueryParameters();
       if (params.q) {
@@ -120,7 +130,7 @@ var Search = {
     this.out = $('#search-results');
     this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
     this.dots = $('<span></span>').appendTo(this.title);
-    this.status = $('<p style="display: none"></p>').appendTo(this.out);
+    this.status = $('<p class="search-summary">&nbsp;</p>').appendTo(this.out);
     this.output = $('<ul class="search"/>').appendTo(this.out);
 
     $('#search-progress').text(_('Preparing search...'));
@@ -138,7 +148,6 @@ var Search = {
    */
   query : function(query) {
     var i;
-    var stopwords = DOCUMENTATION_OPTIONS.SEARCH_LANGUAGE_STOP_WORDS;
 
     // stem the searchterms and add them to the correct list
     var stemmer = new Stemmer();
@@ -260,11 +269,7 @@ var Search = {
             displayNextItem();
           });
         } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
-          var suffix = DOCUMENTATION_OPTIONS.SOURCELINK_SUFFIX;
-          if (suffix === undefined) {
-            suffix = '.txt';
-          }
-          $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + item[5] + (item[5].slice(-suffix.length) === suffix ? '' : suffix),
+          $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX,
                   dataType: "text",
                   complete: function(jqxhr, textstatus) {
                     var data = jqxhr.responseText;
@@ -314,12 +319,13 @@ var Search = {
     for (var prefix in objects) {
       for (var name in objects[prefix]) {
         var fullname = (prefix ? prefix + '.' : '') + name;
-        if (fullname.toLowerCase().indexOf(object) > -1) {
+        var fullnameLower = fullname.toLowerCase()
+        if (fullnameLower.indexOf(object) > -1) {
           var score = 0;
-          var parts = fullname.split('.');
+          var parts = fullnameLower.split('.');
           // check for different match types: exact matches of full name or
           // "last name" (i.e. last dotted part)
-          if (fullname == object || parts[parts.length - 1] == object) {
+          if (fullnameLower == object || parts[parts.length - 1] == object) {
             score += Scorer.objNameMatch;
           // matches in last name
           } else if (parts[parts.length - 1].indexOf(object) > -1) {
@@ -386,6 +392,19 @@ var Search = {
         {files: terms[word], score: Scorer.term},
         {files: titleterms[word], score: Scorer.title}
       ];
+      // add support for partial matches
+      if (word.length > 2) {
+        for (var w in terms) {
+          if (w.match(word) && !terms[word]) {
+            _o.push({files: terms[w], score: Scorer.partialTerm})
+          }
+        }
+        for (var w in titleterms) {
+          if (w.match(word) && !titleterms[word]) {
+              _o.push({files: titleterms[w], score: Scorer.partialTitle})
+          }
+        }
+      }
 
       // no match but word was a required one
       if ($u.every(_o, function(o){return o.files === undefined;})) {
@@ -425,8 +444,12 @@ var Search = {
       var valid = true;
 
       // check if all requirements are matched
-      if (fileMap[file].length != searchterms.length)
-          continue;
+      var filteredTermCount = // as search terms with length < 3 are discarded: ignore
+        searchterms.filter(function(term){return term.length > 2}).length
+      if (
+        fileMap[file].length != searchterms.length &&
+        fileMap[file].length != filteredTermCount
+      ) continue;
 
       // ensure that none of the excluded terms is in the search result
       for (i = 0; i < excluded.length; i++) {
@@ -457,7 +480,8 @@ var Search = {
    * words. the first one is used to find the occurrence, the
    * latter for highlighting it.
    */
-  makeSearchSummary : function(text, keywords, hlwords) {
+  makeSearchSummary : function(htmlText, keywords, hlwords) {
+    var text = Search.htmlToText(htmlText);
     var textLower = text.toLowerCase();
     var start = 0;
     $.each(keywords, function() {
diff --git a/doc/_build/html/genindex.html b/doc/_build/html/genindex.html
index aa1da30..7ec4d12 100644
--- a/doc/_build/html/genindex.html
+++ b/doc/_build/html/genindex.html
@@ -18,32 +18,34 @@
   
 
   
-
-  
+  <script type="text/javascript" src="_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script type="text/javascript" src="_static/jquery.js"></script>
+        <script type="text/javascript" src="_static/underscore.js"></script>
+        <script type="text/javascript" src="_static/doctools.js"></script>
+        <script type="text/javascript" src="_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="_static/js/theme.js"></script>
 
-  
+    
 
+  
   <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="#" />
     <link rel="search" title="Search" href="search.html" /> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -146,7 +148,6 @@
  <a href="#C"><strong>C</strong></a>
  | <a href="#D"><strong>D</strong></a>
  | <a href="#G"><strong>G</strong></a>
- | <a href="#I"><strong>I</strong></a>
  | <a href="#J"><strong>J</strong></a>
  | <a href="#M"><strong>M</strong></a>
  | <a href="#R"><strong>R</strong></a>
@@ -194,14 +195,6 @@
   </ul></td>
 </tr></table>
 
-<h2 id="I">I</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="index.html#module-impute_jass">impute_jass (module)</a>
-</li>
-  </ul></td>
-</tr></table>
-
 <h2 id="J">J</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
@@ -295,25 +288,16 @@
   
 
 
-  
-
-    
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
-        <script type="text/javascript" src="_static/jquery.js"></script>
-        <script type="text/javascript" src="_static/underscore.js"></script>
-        <script type="text/javascript" src="_static/doctools.js"></script>
-    
-
-  
-
-  <script type="text/javascript" src="_static/js/theme.js"></script>
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
-  </script> 
+  </script>
+
+  
+  
+    
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/doc/_build/html/index.html b/doc/_build/html/index.html
index d124afb..0e893ca 100644
--- a/doc/_build/html/index.html
+++ b/doc/_build/html/index.html
@@ -17,32 +17,34 @@
   
 
   
-
-  
+  <script type="text/javascript" src="_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script type="text/javascript" src="_static/jquery.js"></script>
+        <script type="text/javascript" src="_static/underscore.js"></script>
+        <script type="text/javascript" src="_static/doctools.js"></script>
+        <script type="text/javascript" src="_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="_static/js/theme.js"></script>
 
-  
+    
 
+  
   <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" /> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -166,41 +168,41 @@ heterogeneous GWAS summary statistics and performs standardization and quality c
 <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>map column from of a specific GWAS to standardize names</li>
-<li>Select GWAS SNPs that are in the input reference panel</li>
-<li>Align coded allele of the GWAS with the reference panel</li>
-<li>Infer Number of sample by SNPs if not present in input data</li>
-<li>Filter SNPs with a small sample size</li>
-<li>Normalize the effect size by sample size to have Z-scores</li>
-<li>Save the output by chromosome as the following example:</li>
+<li><p>map column from of a specific GWAS 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>Save the output by chromosome as the following example:</p></li>
 </ul>
-<table border="1" class="docutils">
+<table class="docutils align-default">
 <colgroup>
-<col width="28%" />
-<col width="19%" />
-<col width="17%" />
-<col width="14%" />
-<col width="22%" />
+<col style="width: 28%" />
+<col style="width: 19%" />
+<col style="width: 17%" />
+<col style="width: 14%" />
+<col style="width: 22%" />
 </colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">rsID</th>
-<th class="head">pos</th>
-<th class="head">A0</th>
-<th class="head">A1</th>
-<th class="head">Z</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>rsID</p></th>
+<th class="head"><p>pos</p></th>
+<th class="head"><p>A0</p></th>
+<th class="head"><p>A1</p></th>
+<th class="head"><p>Z</p></th>
 </tr>
 </thead>
-<tbody valign="top">
-<tr class="row-even"><td>rs6548219</td>
-<td>30762</td>
-<td>A</td>
-<td>G</td>
-<td>-1.133</td>
+<tbody>
+<tr class="row-even"><td><p>rs6548219</p></td>
+<td><p>30762</p></td>
+<td><p>A</p></td>
+<td><p>G</p></td>
+<td><p>-1.133</p></td>
 </tr>
 </tbody>
 </table>
 <ul class="simple">
-<li>(Optional) Save the output to one file with a chromosome column</li>
+<li><p>(Optional) Save the output to one file with a chromosome column</p></li>
 </ul>
 <p>(input format needed to perform LD-score)</p>
 </div>
@@ -214,170 +216,147 @@ heterogeneous GWAS summary statistics and performs standardization and quality c
 <div class="section" id="input">
 <h1>Input<a class="headerlink" href="#input" title="Permalink to this headline">¶</a></h1>
 <ul class="simple">
-<li>A reference panel (1000 genome format). The user is expected to provide a reference panel in tsv format with the following columns in that order, without header:</li>
+<li><p>A reference panel (1000 genome format). The user is expected to provide a reference panel in tsv format with the following columns in that order, without header:</p></li>
 </ul>
-<table border="1" class="docutils">
+<table class="docutils align-default">
 <colgroup>
-<col width="12%" />
-<col width="12%" />
-<col width="29%" />
-<col width="12%" />
-<col width="12%" />
-<col width="22%" />
+<col style="width: 12%" />
+<col style="width: 12%" />
+<col style="width: 29%" />
+<col style="width: 12%" />
+<col style="width: 12%" />
+<col style="width: 22%" />
 </colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">chr</th>
-<th class="head">pos</th>
-<th class="head">snp_id</th>
-<th class="head">ref</th>
-<th class="head">alt</th>
-<th class="head">MAF</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>chr</p></th>
+<th class="head"><p>pos</p></th>
+<th class="head"><p>snp_id</p></th>
+<th class="head"><p>ref</p></th>
+<th class="head"><p>alt</p></th>
+<th class="head"><p>MAF</p></th>
 </tr>
 </thead>
-<tbody valign="top">
-<tr class="row-even"><td>1</td>
-<td>13116</td>
-<td>rs62635286</td>
-<td>T</td>
-<td>G</td>
-<td>0.0970447</td>
+<tbody>
+<tr class="row-even"><td><p>1</p></td>
+<td><p>13116</p></td>
+<td><p>rs62635286</p></td>
+<td><p>T</p></td>
+<td><p>G</p></td>
+<td><p>0.0970447</p></td>
 </tr>
-<tr class="row-odd"><td>1</td>
-<td>13118</td>
-<td>rs200579949</td>
-<td>A</td>
-<td>G</td>
-<td>0.0970447</td>
+<tr class="row-odd"><td><p>1</p></td>
+<td><p>13118</p></td>
+<td><p>rs200579949</p></td>
+<td><p>A</p></td>
+<td><p>G</p></td>
+<td><p>0.0970447</p></td>
 </tr>
-<tr class="row-even"><td>1</td>
-<td>14604</td>
-<td>rs541940975</td>
-<td>A</td>
-<td>G</td>
-<td>0.147564</td>
+<tr class="row-even"><td><p>1</p></td>
+<td><p>14604</p></td>
+<td><p>rs541940975</p></td>
+<td><p>A</p></td>
+<td><p>G</p></td>
+<td><p>0.147564</p></td>
 </tr>
-<tr class="row-odd"><td>1</td>
-<td>14930</td>
-<td>rs75454623</td>
-<td>A</td>
-<td>G</td>
-<td>0.482228</td>
+<tr class="row-odd"><td><p>1</p></td>
+<td><p>14930</p></td>
+<td><p>rs75454623</p></td>
+<td><p>A</p></td>
+<td><p>G</p></td>
+<td><p>0.482228</p></td>
 </tr>
 </tbody>
 </table>
 <ul class="simple">
-<li>Folder containing all raw gwas data (all chromosomes in one file) (minimal conditions?? tab separated?)</li>
-<li>a list containing the name of GWAS file to the string format.</li>
-<li>A descriptor csv files that will described each GWAS summary statistic files:<ul>
-<li>a header</li>
-<li>1 line per study</li>
-<li>the fields are:</li>
+<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>
 </ul>
-<table border="1" class="docutils">
-<colgroup>
-<col width="42%" />
-<col width="58%" />
-</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">category</th>
-<th class="head">field name</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr class="row-even"><td>path to the data</td>
-<td>filename</td>
-</tr>
-<tr class="row-odd"><td>study info fields</td>
-<td>consortia,outcome,fullName,type,Nsample,Ncase,Ncontrol,Nsnp</td>
-</tr>
-<tr class="row-even"><td>names of the header in the GWAS file</td>
-<td>snpid,a1,a2,freq,pval,n,z,OR,se,code,imp,ncas,ncont</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>
-<table border="1" class="docutils" id="id1">
+<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>
 <colgroup>
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
-<col width="5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
+<col style="width: 5%" />
 </colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><table class="first last docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">header:</th><td class="field-body">“filename”</td>
-</tr>
-</tbody>
-</table>
+<tbody>
+<tr class="row-odd"><td><dl class="field-list simple">
+<dt class="field-odd">header</dt>
+<dd class="field-odd"><p>“filename”</p>
+</dd>
+</dl>
 </td>
-<td>consortia</td>
-<td>outcome</td>
-<td>fullName</td>
-<td>type</td>
-<td>Nsample</td>
-<td>Ncase</td>
-<td>Ncontrol</td>
-<td>Nsnp</td>
-<td>snpid</td>
-<td>a1</td>
-<td>a2</td>
-<td>freq</td>
-<td>pval</td>
-<td>n</td>
-<td>z</td>
-<td>OR</td>
-<td>se</td>
-<td>code</td>
-<td>imp</td>
-<td>ncas</td>
-<td>ncont</td>
+<td><p>consortia</p></td>
+<td><p>outcome</p></td>
+<td><p>fullName</p></td>
+<td><p>type</p></td>
+<td><p>Nsample</p></td>
+<td><p>Ncase</p></td>
+<td><p>Ncontrol</p></td>
+<td><p>Nsnp</p></td>
+<td><p>snpid</p></td>
+<td><p>a1</p></td>
+<td><p>a2</p></td>
+<td><p>freq</p></td>
+<td><p>pval</p></td>
+<td><p>n</p></td>
+<td><p>z</p></td>
+<td><p>OR</p></td>
+<td><p>se</p></td>
+<td><p>code</p></td>
+<td><p>imp</p></td>
+<td><p>ncas</p></td>
+<td><p>ncont</p></td>
 </tr>
-<tr class="row-even"><td>GIANT_HEIGHT_Wood_et_al.txt</td>
-<td>GIANT</td>
-<td>HEIGHT</td>
-<td>Height</td>
-<td>Anthropometry</td>
-<td>253288</td>
-<td>na</td>
-<td>na</td>
-<td>2550858</td>
-<td>MarkerName</td>
-<td>Allele1</td>
-<td>Allele2</td>
-<td>Freq.Allele1.HapMapCEU</td>
-<td>p</td>
-<td>N</td>
-<td>b</td>
-<td>na</td>
-<td>SE</td>
-<td>na</td>
-<td>na</td>
-<td>na</td>
-<td>na</td>
+<tr class="row-even"><td><p>GIANT_HEIGHT_Wood_et_al.txt</p></td>
+<td><p>GIANT</p></td>
+<td><p>HEIGHT</p></td>
+<td><p>Height</p></td>
+<td><p>Anthropometry</p></td>
+<td><p>253288</p></td>
+<td><p>na</p></td>
+<td><p>na</p></td>
+<td><p>2550858</p></td>
+<td><p>MarkerName</p></td>
+<td><p>Allele1</p></td>
+<td><p>Allele2</p></td>
+<td><p>Freq.Allele1.HapMapCEU</p></td>
+<td><p>p</p></td>
+<td><p>N</p></td>
+<td><p>b</p></td>
+<td><p>na</p></td>
+<td><p>SE</p></td>
+<td><p>na</p></td>
+<td><p>na</p></td>
+<td><p>na</p></td>
+<td><p>na</p></td>
 </tr>
 </tbody>
 </table>
@@ -385,74 +364,62 @@ heterogeneous GWAS summary statistics and performs standardization and quality c
 <div class="section" id="command-line-usage-example">
 <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">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="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">folder</span> <span class="n">REF_FOLDER</span>
-                          <span class="o">--</span><span class="n">gwas</span><span class="o">-</span><span class="n">folder</span> <span class="n">GWAS_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>
+<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>
 </pre></div>
 </div>
 <div class="section" id="Named Arguments">
 <h2>Named Arguments<a class="headerlink" href="#Named Arguments" title="Permalink to this headline">¶</a></h2>
-<table class="docutils option-list" frame="void" rules="none">
-<col class="option" />
-<col class="description" />
-<tbody valign="top">
-<tr><td class="option-group" colspan="2">
-<kbd>--percent-sample-size</kbd></td>
-</tr>
-<tr><td>&#160;</td><td>the proportion of the 90th percentile of the sample size used to filter the SNPs</td></tr>
-<tr><td class="option-group">
-<kbd>--gwas-info</kbd></td>
-<td>Path to the file describing the format of the individual GWASs files</td></tr>
-<tr><td class="option-group">
-<kbd>--ref-folder</kbd></td>
-<td>reference panel location (used to determine which snp to impute)</td></tr>
-<tr><td class="option-group">
-<kbd>--gwas-folder</kbd></td>
-<td><blockquote class="first last">
-<div>Path to the folder containing the GWASs summ stat files, must end by ‘/’</div></blockquote>
-</td></tr>
-<tr><td class="option-group" colspan="2">
-<kbd>--output-folder</kbd></td>
-</tr>
-<tr><td>&#160;</td><td>Location of main ouput folder for preprocessed GWAS files (splitted by chromosome)</td></tr>
-<tr><td class="option-group" colspan="2">
-<kbd>--output-folder-1-file</kbd></td>
-</tr>
-<tr><td>&#160;</td><td>optional location to store the preprocessing in one tabular file with one chromosome columns</td></tr>
-</tbody>
-</table>
+<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>
+</dd>
+<dt><kbd>--ref-path</kbd></dt>
+<dd><p>reference panel location (used to determine which snp to impute)</p>
+</dd>
+<dt><kbd>--input-folder</kbd></dt>
+<dd><p>Path to the folder containing the Raw GWASs summary statistic files, must end by ‘/’</p>
+</dd>
+<dt><kbd>--diagnostic-folder</kbd></dt>
+<dd><p>Path to the reporting information on the PreProcessing such as the SNPs sample size distribution</p>
+</dd>
+<dt><kbd>--output-folder</kbd></dt>
+<dd><p>Location of main ouput folder for preprocessed GWAS files (splitted by chromosome)</p>
+</dd>
+<dt><kbd>--output-folder-1-file</kbd></dt>
+<dd><p>optional location to store the preprocessing in one tabular file with one chromosome columns (useful to compute LDSC correlation for instance)</p>
+</dd>
+<dt><kbd>--percent-sample-size</kbd></dt>
+<dd><p>the proportion (between 0 and 1) of the 90th percentile of the sample size used to filter the SNPs</p>
+<p>Default: 0.7</p>
+</dd>
+<dt><kbd>--minimum-MAF</kbd></dt>
+<dd><p>Filter the reference panel by  minimum allele frequency</p>
+<p>Default: 0.01</p>
+</dd>
+<dt><kbd>--mask-MHC</kbd></dt>
+<dd><p>Whether the MHC region should be masked or not. default is False</p>
+<p>Default: False</p>
+</dd>
+<dt><kbd>--additional-masked-region</kbd></dt>
+<dd><p>List of dictionary containing coordinate of region to mask. For example :[{‘chr’:6, ‘start’:50000000, ‘end’: 70000000}, {‘chr’:6, ‘start’:100000000, ‘end’: 120000000}]</p>
+</dd>
+</dl>
 </div>
 </div>
 <div class="section" id="indices-and-tables">
 <h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline">¶</a></h1>
 <ul class="simple">
-<li><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></li>
-<li><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></li>
+<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-impute_jass"></span><table border="1" class="longtable docutils">
-<colgroup>
-<col width="10%" />
-<col width="90%" />
-</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">imputation_launcher</span></code></td>
-<td>Imputation launcher</td>
-</tr>
-<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">ld_matrix</span></code></td>
-<td>Function set to compute LD correlation from a reference panel in predefined Region</td>
-</tr>
-<tr class="row-odd"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">stat_models</span></code></td>
-<td>This module contain the statistical library for imputation.</td>
-</tr>
-<tr class="row-even"><td><code class="xref py py-obj docutils literal notranslate"><span class="pre">windows</span></code></td>
-<td>implement the imputation window is sliding along the genome:</td>
-</tr>
-</tbody>
-</table>
 <ul class="simple">
-<li><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></li>
+<li><p><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></p></li>
 </ul>
 </div>
 
@@ -484,25 +451,16 @@ heterogeneous GWAS summary statistics and performs standardization and quality c
   
 
 
-  
-
-    
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
-        <script type="text/javascript" src="_static/jquery.js"></script>
-        <script type="text/javascript" src="_static/underscore.js"></script>
-        <script type="text/javascript" src="_static/doctools.js"></script>
-    
-
-  
-
-  <script type="text/javascript" src="_static/js/theme.js"></script>
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
-  </script> 
+  </script>
+
+  
+  
+    
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/doc/_build/html/objects.inv b/doc/_build/html/objects.inv
index f516960de89418426bd3e9053677ae0cb36091f7..82a46b99e139cbf660b44a2c0de0fb5639805a65 100644
GIT binary patch
delta 426
zcmV;b0agC21fc|wfq#@sPQx$|hW9;%5p2t2%MDl{A+ca-O`U0KYL6|C-BMOugX?h;
z;<!&J;vt7k;>Y;^X8uh42+Yz4^uZ})*3=5Wy0)%K2F0b2kfP&cEriv@<EPm3S+wS~
zM32wJcyuI0IqOqI$;t&BRD3rB>rMC4&pmLONJZ^PT>T9BD}UDWuCPj+hCrsM4c9hn
zE8LHA0R}Bn93uA*2sr_+>5&C5+a*-DXrtSGURq#?(&~OgF2E$@0V+7p52-0)ATZKs
znh!zA1LaJz)P*?Kz4ic{fY5BeOl|QcnEAA}a=<ADB!xrt(pG$XUuc$KbW7L_RmVPR
zYP9$NfMW9NvVSUHD2KQ_bCegP2SPI#sBhzg&ZvZ8SfF$%cCOX#w>{~PnEJ`@kL6?~
z)hsyc*x5gu^-ZAQ*jzVGiSf@g#SsY)Y7Q+PqKc{frT%*VE74Jlq^ZHDUckVl>&i}I
zvs#Yb<l$%+w&v_bJfKn8yy%WF-d<i=bZ1ijxgZ;RG9&8JI)e49@n)mw-j)U{2{1xX
Uv%?c*tpwkf{k!bZJ4Dmn(bQYoy8r+H

delta 437
zcmV;m0ZRU%1gr#*fq#}ujvFBmhW9=N(PV2U+4=@qj5JafvqWXO+$M$sQQ#SSm22dB
zIZ2wvueNN(j_BER^C-Tb`l&{(txpl<Phb{)JGZV$2E|vQsloTzDq8bY#-^XebdtlQ
z59ota$gHWIDOU)rT)+WBLW+))wGg&nuB?0%e(HhsrhDmKFMqg9q@s2tzTGGJkk;;$
zSS6i?K&Ge-*EZ`2?prwlgBB@{vG)rJxd5)|kp(Z?H>hsWf!iG~Z7@V>bw43DU=s2O
z8O-uSYKj;Lj5M0oW2oeYawb{oLLBR!J%Ua^XpSdS8~z4ny{t_RxWs^@aEw|y!jJcb
zW(h{Ogw0raoPSF#jrRTnq?r6Zt;!e5P%ifz<pJq|(2OS3m+_!7D#<WxP`VU5*J{_>
z8TwMD{^rlya<P?a6`XbK?0=i}k3hk(nKw>}>3vLb1>r%hp~az8F_mxf_w%=)lNPD}
z7wQ297F|_#h{I@E_B}Tzr?9=wS;Q+EmCcLpipHN`zb;vHYf}EWARGH>(rxRCtlv%#
f6NUR+3ao5^5rSF`SCp|5{G-gjWRLy=Q}WOd1{~U*

diff --git a/doc/_build/html/py-modindex.html b/doc/_build/html/py-modindex.html
index 06b433b..ecef577 100644
--- a/doc/_build/html/py-modindex.html
+++ b/doc/_build/html/py-modindex.html
@@ -17,13 +17,20 @@
   
 
   
-
-  
+  <script type="text/javascript" src="_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script type="text/javascript" src="_static/jquery.js"></script>
+        <script type="text/javascript" src="_static/underscore.js"></script>
+        <script type="text/javascript" src="_static/doctools.js"></script>
+        <script type="text/javascript" src="_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="_static/js/theme.js"></script>
 
-  
+    
 
+  
   <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="genindex.html" />
@@ -31,21 +38,16 @@
  
 
 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -143,27 +145,18 @@
    <h1>Python Module Index</h1>
 
    <div class="modindex-jumpbox">
-   <a href="#cap-i"><strong>i</strong></a> | 
    <a href="#cap-j"><strong>j</strong></a>
    </div>
 
    <table class="indextable modindextable">
      <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
-     <tr class="cap" id="cap-i"><td></td><td>
-       <strong>i</strong></td><td></td></tr>
-     <tr>
-       <td></td>
-       <td>
-       <a href="index.html#module-impute_jass"><code class="xref">impute_jass</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
      <tr class="cap" id="cap-j"><td></td><td>
        <strong>j</strong></td><td></td></tr>
      <tr>
        <td><img src="_static/minus.png" class="toggler"
               id="toggle-1" style="display: none" alt="-" /></td>
        <td>
-       <code class="xref">jass_preprocessing</code></td><td>
+       <a href="_autosummary/jass_preprocessing.html#module-jass_preprocessing"><code class="xref">jass_preprocessing</code></a></td><td>
        <em></em></td></tr>
      <tr class="cg-1">
        <td></td>
@@ -220,25 +213,16 @@
   
 
 
-  
-
-    
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
-        <script type="text/javascript" src="_static/jquery.js"></script>
-        <script type="text/javascript" src="_static/underscore.js"></script>
-        <script type="text/javascript" src="_static/doctools.js"></script>
-    
-
-  
-
-  <script type="text/javascript" src="_static/js/theme.js"></script>
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
-  </script> 
+  </script>
+
+  
+  
+    
+   
 
 </body>
 </html>
\ No newline at end of file
diff --git a/doc/_build/html/search.html b/doc/_build/html/search.html
index 62ecb37..b5326cc 100644
--- a/doc/_build/html/search.html
+++ b/doc/_build/html/search.html
@@ -17,32 +17,35 @@
   
 
   
-
-  
+  <script type="text/javascript" src="_static/js/modernizr.min.js"></script>
   
     
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script type="text/javascript" src="_static/jquery.js"></script>
+        <script type="text/javascript" src="_static/underscore.js"></script>
+        <script type="text/javascript" src="_static/doctools.js"></script>
+        <script type="text/javascript" src="_static/language_data.js"></script>
+        <script type="text/javascript" src="_static/searchtools.js"></script>
+    
+    <script type="text/javascript" src="_static/js/theme.js"></script>
 
-  
+    
 
+  
   <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
   <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="#" /> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
 </head>
 
 <body class="wy-body-for-nav">
 
    
   <div class="wy-grid-for-nav">
-
     
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
+        <div class="wy-side-nav-search" >
           
 
           
@@ -179,26 +182,16 @@
   
 
 
-  
-
-    
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
-        <script type="text/javascript" src="_static/jquery.js"></script>
-        <script type="text/javascript" src="_static/underscore.js"></script>
-        <script type="text/javascript" src="_static/doctools.js"></script>
-        <script type="text/javascript" src="_static/searchtools.js"></script>
-    
-
-  
-
-  <script type="text/javascript" src="_static/js/theme.js"></script>
-
   <script type="text/javascript">
       jQuery(function () {
           SphinxRtdTheme.Navigation.enable(true);
       });
   </script>
+
+  
+  
+    
+  
   <script type="text/javascript">
     jQuery(function() { Search.loadIndex("searchindex.js"); });
   </script>
diff --git a/doc/_build/html/searchindex.js b/doc/_build/html/searchindex.js
index 93bbf73..aeb01f7 100644
--- a/doc/_build/html/searchindex.js
+++ b/doc/_build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["_autosummary/jass_preprocessing","_autosummary/modules","index"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.todo":1,"sphinx.ext.viewcode":1,sphinx:55},filenames:["_autosummary/jass_preprocessing.rst","_autosummary/modules.rst","index.rst"],objects:{"":{impute_jass:[2,0,0,"-"]},"jass_preprocessing.compute_score":{compute_sample_size:[0,1,1,""],compute_z_score:[0,1,1,""]},"jass_preprocessing.dna_utils":{dna_complement:[0,1,1,""],dna_complement_base:[0,1,1,""]},"jass_preprocessing.map_gwas":{convert_missing_values:[0,1,1,""],gwas_internal_link:[0,1,1,""],map_columns_position:[0,1,1,""],read_gwas:[0,1,1,""],walkfs:[0,1,1,""]},"jass_preprocessing.map_reference":{compute_is_aligned:[0,1,1,""],compute_is_flipped:[0,1,1,""],compute_snp_alignement:[0,1,1,""],map_on_ref_panel:[0,1,1,""],read_reference:[0,1,1,""]},"jass_preprocessing.save_output":{save_output:[0,1,1,""],save_output_by_chromosome:[0,1,1,""]},jass_preprocessing:{compute_score:[0,0,0,"-"],dna_utils:[0,0,0,"-"],map_gwas:[0,0,0,"-"],map_reference:[0,0,0,"-"],save_output:[0,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:function"},terms:{"90th":2,"boolean":0,"case":0,"function":0,"return":0,The:[0,2],accord:0,add:0,align:2,all:[0,2],allel:[0,2],allele1:2,allele2:2,alt:2,analysi:0,anthropometri:2,build:[],can:2,categori:2,check:[0,2],chr:2,chromosom:2,code:[0,2],column:[0,2],column_map:0,compar:0,complement:0,complet:[0,2],comput:0,compute_is_align:0,compute_is_flip:0,compute_sample_s:0,compute_scor:1,compute_snp_align:0,compute_z_scor:0,condit:2,consortia:2,contain:[0,2],content:1,continu:2,convert:0,convert_missing_valu:0,correctli:0,correspond:0,csv:[0,2],data:[0,2],datafram:0,describ:2,descriptor:2,detect:0,determin:2,diagnostic_fold:0,dna:0,dna_compl:0,dna_complement_bas:0,dna_util:1,each:[0,2],effect:2,end:2,equal:0,eventu:0,execut:2,expect:2,explor:0,fetch:0,few:0,field:2,file:[0,2],filenam:[0,2],fill:2,filter:2,find:0,findfil:0,flip:0,folder:[0,2],follow:2,fonction:0,format:2,freq:2,from:2,fullnam:2,genet:2,genom:2,giant:2,giant_height_wood_et_:2,git:2,gitlab:2,give:[],goe:2,gw_df:0,gwa:0,gwas_fold:2,gwas_info:2,gwas_internal_link:0,gwas_label:0,gwas_path:0,gwas_reference_panel:0,gwas_tabl:0,gwass:2,hapmapceu:2,hard:[],have:[0,2],header:2,height:2,helper:0,here:2,heterogen:2,how:[],http:2,imp:2,impg_output_fold:0,imput:[0,2],index:[0,2],indic:0,individu:2,infer:2,info:2,inform:0,input:0,inputbas:0,instanc:0,irrelev:2,is_flip:0,jass_pr:2,launch:2,ldscore:0,list:2,locat:2,maf:2,main:2,main_preprocess:[],make:0,map:[0,2],map_columns_posit:0,map_gwa:1,map_on_ref_panel:0,map_refer:1,markernam:2,merg:0,merge_gwa:0,mgwa:0,minim:2,miss:0,modul:[1,2],more:0,must:[0,2],my_studi:0,name:0,nan:0,nca:2,ncase:2,ncont:2,ncontrol:2,need:2,normal:2,nsampl:2,nsnp:2,number:2,odd:2,one:[0,2],option:2,order:2,ouput:2,outcom:2,output:2,output_fold:2,output_folder_1_fil:2,packag:[1,2],page:2,panda:0,panel:[0,2],param:0,paramet:0,pasteur:2,path:[0,2],per:2,percent:2,percent_sample_s:2,percentil:2,perform:2,pip3:2,pos:2,posit:0,possibl:2,preprocess:0,present:2,process:2,proport:2,provid:2,pval:2,python:2,qualiti:2,raiss:2,ratio:2,raw:[0,2],read:0,read_gwa:0,read_refer:0,ref:2,ref_fold:2,ref_panel:0,refer:[0,2],reference_panel:0,renam:0,repositori:[],rs200579949:2,rs541940975:2,rs62635286:2,rs6548219:2,rs75454623:2,rsid:2,same:0,sampl:2,save:2,save_output:1,save_output_by_chromosom:0,score:2,search:2,section:2,select:2,separ:2,seri:0,set:0,should:0,sign1:0,sign:0,size:2,small:2,snp:[0,2],snp_id:2,snpid:2,sourc:0,specif:[0,2],specifi:0,sphinx:[],split:2,standard:2,standart:0,startdir:0,stat:2,statist:[0,2],step:2,still:0,store:[0,2],str:0,string:[0,2],studi:[0,2],subfold:0,submodul:1,summ:2,summari:2,sure:0,tab:2,tabl:0,tabular:2,take:2,termin:2,than:0,thank:0,thi:[],through:0,tool:2,trait:[0,2],tsv:2,two:0,txt:2,type:[0,2],use:[],used:2,user:2,valu:0,vector:0,walk:0,walkf:0,weird:0,which:2,without:2,write:0,zscore:0},titles:["jass_preprocessing package","jass_preprocessing","Welcome to jass_preprocessing\u2019s documentation!"],titleterms:{argument:2,command:2,compute_scor:0,content:0,dna_util:0,document:2,exampl:2,gwa:2,indic:2,inform:2,input:2,instal:2,jass:2,jass_preprocess:[0,1,2],line:2,map_gwa:0,map_refer:0,modul:0,name:2,overview:2,packag:0,preprocess:2,save_output:0,submodul:0,tabl:2,usag:2,welcom:2,what:2}})
\ No newline at end of file
+Search.setIndex({docnames:["_autosummary/jass_preprocessing","_autosummary/modules","index"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["_autosummary/jass_preprocessing.rst","_autosummary/modules.rst","index.rst"],objects:{"":{jass_preprocessing:[0,0,0,"-"]},"jass_preprocessing.compute_score":{compute_sample_size:[0,1,1,""],compute_z_score:[0,1,1,""]},"jass_preprocessing.dna_utils":{dna_complement:[0,1,1,""],dna_complement_base:[0,1,1,""]},"jass_preprocessing.map_gwas":{convert_missing_values:[0,1,1,""],gwas_internal_link:[0,1,1,""],map_columns_position:[0,1,1,""],read_gwas:[0,1,1,""],walkfs:[0,1,1,""]},"jass_preprocessing.map_reference":{compute_is_aligned:[0,1,1,""],compute_is_flipped:[0,1,1,""],compute_snp_alignement:[0,1,1,""],map_on_ref_panel:[0,1,1,""],read_reference:[0,1,1,""]},"jass_preprocessing.save_output":{save_output:[0,1,1,""],save_output_by_chromosome:[0,1,1,""]},jass_preprocessing:{compute_score:[0,0,0,"-"],dna_utils:[0,0,0,"-"],map_gwas:[0,0,0,"-"],map_reference:[0,0,0,"-"],save_output:[0,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:function"},terms:{"90th":2,"boolean":0,"case":0,"default":[0,2],"float":0,"function":0,"return":0,For:2,The:[0,2],accord:0,add:0,addit:[0,2],additional_masked_region:2,align:2,all:[0,2],allel:[0,2],allele1:2,allele2:2,alt:2,analysi:0,anthropometri:2,appli:0,becaus:2,between:2,bool:0,can:2,check:[0,2],chr:2,chromosom:2,clean:2,code:[0,2],column:[0,2],column_dict:0,column_map:0,combin:2,compar:0,complement:0,complet:[0,2],comput:[0,2],compute_is_align:0,compute_is_flip:0,compute_sample_s:0,compute_scor:1,compute_snp_align:0,compute_z_scor:0,condit:2,consortia:2,consortium:2,contain:[0,2],content:1,continu:2,convert:0,convert_missing_valu:0,coordin:[0,2],correct:2,correctli:0,correl:2,correspond:0,csv:2,data:[0,2],datafram:0,describ:2,descriptor:2,detect:0,determin:2,diagnost:2,diagnostic_fold:[0,2],dict:0,dictionari:2,distribut:2,dna:0,dna_compl:0,dna_complement_bas:0,dna_util:1,each:[0,2],effect:2,end:2,equal:0,eventu:0,execut:2,expect:2,explor:0,fals:[0,2],fetch:0,few:0,field:2,file:[0,2],filenam:[0,2],fill:2,filter:[0,2],find:0,findfil:0,flip:0,folder:[0,2],follow:2,fonction:0,format:2,freq:2,frequenc:[0,2],from:2,fullnam:2,genet:2,genom:2,giant:2,giant_height_wood_et_:2,git:2,gitlab:2,goe:2,gw_df:0,gwa:0,gwas_info:2,gwas_internal_link:0,gwas_label:0,gwas_path:0,gwas_reference_panel:0,gwas_tabl:0,gwass:2,hapmapceu:2,have:[0,2],header:2,height:2,helper:0,here:2,heterogen:2,hg19:0,http:2,imp:2,impg_output_fold:0,imput:[0,2],index:[0,2],indic:0,individu:2,infer:2,info:2,inform:0,input:0,input_fold:2,inputbas:0,instanc:[0,2],irrelev:2,is_flip:0,jass_pr:2,launch:2,ldsc:2,ldscore:0,list:[0,2],locat:2,maf:2,main:2,make:0,map:[0,2],map_columns_posit:0,map_gwa:1,map_on_ref_panel:0,map_refer:1,markernam:2,mask:[0,2],mask_mhc:[0,2],merg:0,merge_gwa:0,mgwa:0,mhc:[0,2],minim:2,minimum:[0,2],minimum_maf:[0,2],miss:0,modul:[1,2],more:0,must:[0,2],my_studi:0,name:0,nan:0,nca:2,ncase:2,ncont:2,ncontrol:2,need:2,none:0,normal:2,note:2,nsampl:2,nsnp:2,number:2,odd:2,one:[0,2],option:2,order:2,ouput:2,outcom:2,output:2,output_fold:2,output_folder_1_fil:2,packag:[1,2],page:2,panda:0,panel:[0,2],param:0,paramet:0,pasteur:2,path:[0,2],per:2,percent:2,percent_sample_s:2,percentil:2,perform:2,perss:0,pip3:2,pos:2,posit:0,possibl:2,preprocess:0,present:2,process:2,proport:2,provid:2,pval:2,python:2,qualiti:2,raiss:2,ratio:2,raw:[0,2],read:0,read_gwa:0,read_refer:0,ref:[0,2],ref_panel:0,ref_path:2,refer:[0,2],reference_panel:0,region:[0,2],region_to_mask:0,renam:0,report:2,retain:0,row:0,rs200579949:2,rs541940975:2,rs62635286:2,rs6548219:2,rs75454623:2,rsid:2,same:0,sampl:2,save:2,save_output:1,save_output_by_chromosom:0,score:2,search:2,section:2,select:2,separ:2,seri:0,set:0,should:[0,2],sign1:0,sign:0,size:2,small:2,snp:[0,2],snp_id:2,snpid:2,sourc:0,specif:[0,2],specifi:0,split:2,standard:2,standart:0,start:2,startdir:0,statist:[0,2],step:2,still:0,store:[0,2],str:0,string:[0,2],studi:[0,2],subfold:0,submodul:1,summari:2,sure:0,tab:2,tabl:0,tabular:2,take:2,termin:2,than:0,thank:0,through:0,tool:2,toward:0,trait:[0,2],tsv:2,two:0,txt:2,type:[0,2],uniqu:2,used:2,useful:2,user:2,valu:0,vector:0,walk:0,walkf:0,weird:0,whether:[0,2],which:2,without:2,write:0,zscore:0},titles:["jass_preprocessing package","jass_preprocessing","Welcome to jass_preprocessing\u2019s documentation!"],titleterms:{argument:2,command:2,compute_scor:0,content:0,dna_util:0,document:2,exampl:2,gwa:2,indic:2,inform:2,input:2,instal:2,jass:2,jass_preprocess:[0,1,2],line:2,map_gwa:0,map_refer:0,modul:0,name:2,overview:2,packag:0,preprocess:2,save_output:0,submodul:0,tabl:2,usag:2,welcom:2,what:2}})
\ No newline at end of file
diff --git a/doc/source/reference.bib b/doc/source/reference.bib
new file mode 100644
index 0000000..83b447b
--- /dev/null
+++ b/doc/source/reference.bib
@@ -0,0 +1,48 @@
+@article{Pasaniuc2014,
+abstract = {MOTIVATION Imputation using external reference panels (e.g. 1000 Genomes) is a widely used approach for increasing power in genome-wide association studies and meta-analysis. Existing hidden Markov models (HMM)-based imputation approaches require individual-level genotypes. Here, we develop a new method for Gaussian imputation from summary association statistics, a type of data that is becoming widely available. RESULTS In simulations using 1000 Genomes (1000G) data, this method recovers 84{\%} (54{\%}) of the effective sample size for common ({\textgreater}5{\%}) and low-frequency (1-5{\%}) variants [increasing to 87{\%} (60{\%}) when summary linkage disequilibrium information is available from target samples] versus the gold standard of 89{\%} (67{\%}) for HMM-based imputation, which cannot be applied to summary statistics. Our approach accounts for the limited sample size of the reference panel, a crucial step to eliminate false-positive associations, and it is computationally very fast. As an empirical demonstration, we apply our method to seven case-control phenotypes from the Wellcome Trust Case Control Consortium (WTCCC) data and a study of height in the British 1958 birth cohort (1958BC). Gaussian imputation from summary statistics recovers 95{\%} (105{\%}) of the effective sample size (as quantified by the ratio of [Formula: see text] association statistics) compared with HMM-based imputation from individual-level genotypes at the 227 (176) published single nucleotide polymorphisms (SNPs) in the WTCCC (1958BC height) data. In addition, for publicly available summary statistics from large meta-analyses of four lipid traits, we publicly release imputed summary statistics at 1000G SNPs, which could not have been obtained using previously published methods, and demonstrate their accuracy by masking subsets of the data. We show that 1000G imputation using our approach increases the magnitude and statistical evidence of enrichment at genic versus non-genic loci for these traits, as compared with an analysis without 1000G imputation. Thus, imputation of summary statistics will be a valuable tool in future functional enrichment analyses. AVAILABILITY AND IMPLEMENTATION Publicly available software package available at http://bogdan.bioinformatics.ucla.edu/software/. CONTACT bpasaniuc@mednet.ucla.edu or aprice@hsph.harvard.edu SUPPLEMENTARY INFORMATION Supplementary materials are available at Bioinformatics online.},
+archivePrefix = {arXiv},
+arxivId = {arXiv:1309.3258v1},
+author = {Pasaniuc, Bogdan and Zaitlen, Noah and Shi, Huwenbo and Bhatia, Gaurav and Gusev, Alexander and Pickrell, Joseph and Hirschhorn, Joel and Strachan, David P. and Patterson, Nick and Price, Alkes L.},
+doi = {10.1093/bioinformatics/btu416},
+eprint = {arXiv:1309.3258v1},
+file = {:home/hjulienn/.local/share/data/Mendeley Ltd./Mendeley Desktop/Downloaded/Pasaniuc et al. - 2014 - Fast and accurate imputation of summary statistics enhances evidence of functional enrichment.pdf:pdf},
+issn = {13674811},
+journal = {Bioinformatics (Oxford, England)},
+keywords = {Hughes},
+mendeley-tags = {Hughes},
+number = {20},
+pages = {2906--2914},
+pmid = {24990607},
+title = {{Fast and accurate imputation of summary statistics enhances evidence of functional enrichment}},
+volume = {30},
+year = {2014}
+}
+
+@article{Berisa2015,
+abstract = {We present a method to identify approximately independent blocks of linkage disequilibrium (LD) in the human genome. These blocks enable automated analysis of multiple genome-wide association studies.},
+author = {Berisa, Tomaz and Pickrell, Joseph K.},
+doi = {10.1093/bioinformatics/btv546},
+file = {:home/hjulienn/.local/share/data/Mendeley Ltd./Mendeley Desktop/Downloaded/Berisa, Pickrell - 2015 - Approximately independent linkage disequilibrium blocks in human populations.pdf:pdf},
+isbn = {1367-4811 (Electronic) 1367-4803 (Linking)},
+issn = {14602059},
+journal = {Bioinformatics},
+mendeley-groups = {Genetics},
+number = {2},
+pages = {283--285},
+pmid = {26395773},
+title = {{Approximately independent linkage disequilibrium blocks in human populations}},
+volume = {32},
+year = {2015}
+}
+
+
+@article{lee2013dist,
+  title={DIST: direct imputation of summary statistics for unmeasured SNPs},
+  author={Lee, Donghyung and Bigdeli, T Bernard and Riley, Brien P and Fanous, Ayman H and Bacanu, Silviu-Alin},
+  journal={Bioinformatics},
+  volume={29},
+  number={22},
+  pages={2925--2927},
+  year={2013},
+  publisher={Oxford University Press}
+}
diff --git a/jass_preprocessing/__main__.py b/jass_preprocessing/__main__.py
index 6c989c0..b9ca5f3 100644
--- a/jass_preprocessing/__main__.py
+++ b/jass_preprocessing/__main__.py
@@ -48,7 +48,7 @@ def launch_preprocessing(args):
         GWAS_link = jp.map_gwas.walkfs(args.input_folder, gwas_filename)[2]
         mapgw = jp.map_gwas.map_columns_position(GWAS_link, gwas_map.loc[tag])
 
-        gw_df = jp.map_gwas.read_gwas(GWAS_link, mapgw)
+        gw_df = jp.map_gwas.read_gwas(GWAS_link, mapgw, imputation_treshold=eval(args.imputation_quality_treshold))
 
         if args.additional_masked_region is None:
             ref = jp.map_reference.read_reference(args.ref_path, bool(args.mask_MHC), float(args.minimum_MAF))
@@ -85,6 +85,8 @@ def add_preprocessing_argument():
     parser.add_argument('--mask-MHC', required=False, help= "Whether the MHC region should be masked or not. default is False", default=False)
     parser.add_argument('--additional-masked-region', required=False, help= "List of dictionary containing coordinate of region to mask. For example :[{'chr':6, 'start':50000000, 'end': 70000000}, {'chr':6, 'start':100000000, 'end': 120000000}]", default=None)
 
+    parser.add_argument('--imputation-quality-treshold', required=False, help= "minimum imputation quality in summary statistics", default=None)
+
     parser.set_defaults(func=launch_preprocessing)
 
     return parser
diff --git a/jass_preprocessing/__pycache__/compute_score.cpython-35.pyc b/jass_preprocessing/__pycache__/compute_score.cpython-35.pyc
index b2269fda3bde8364ba13e9146007998e0f9aa6cb..f309bb5578658c372a0bb4aeeb4dcf60206238ee 100644
GIT binary patch
delta 652
zcmYjOTWi!%5T42HWH;HG?4^5?B5qL^rIbbRrC6n2pr|POwxF=xvsJ@hLXtidvxVCF
z1LQpDyT3pMeeci6gD8UFpActag`P0q%zXL2nM3l&KP-2aOQqu1(W|HT3jjai%+aa7
zMG>cOJEK*p!!f|X18IOXL0WK(Fz`Vl^t<9W`yPG#@(eLkHSG|6^-eojtq}WsH$T5N
zM+S@NI22rOQN$Z+U2meHw)M4+2`NCJL25#KVR1?=sM118jq1XH*?aXvud7e`RdRgO
z?`{+2LLxxgaD?z0A+aGSKx%Ls6yXRUdVowiOmg9#zHO4?lwyOL8qJOYfyW+6P7M|U
z5+72XXQcwF3!8NxjP(*33J^3v(lA?nH){1_&a@zCLrP`@OwNN`Qjg7s9jx#o5?(W(
zp!j@Xwy{ee8=@*hjbWLg!B8j2^oO_aMJ~5Rbz<EycPH~<q8!n}wz?!Xbtm%F3$bFE
z;W+B|)f>@sd{*aBRwrVs=V6ha3+Q1PJ*|ZmtP@5(l6A|O6%J=|7-w22Gjp~#4fko&
z4f{G?R1>=qFOg~>;_+~29?haF)Mfs3n1qvgGI_bP7VdLJL-HJ5=GFYG^XdOCappSg
Zwl}78xi=Z#MCxLXz(p6&{SU*f`~_%!ej5M)

delta 652
zcmYjOO=}ZT6g_X=d}fm7vq_VHQi9PSwid)yXf5?)Qw7N`f{^A#akOcenJx+wOQ<_H
z%G<c{54aI=?Xo+6!3b^y!N1@_ymze72lw3j?z#7z$IPPgr`)L*3c2p-??;;+@B`<L
zLG>+)==g1Ce0^Agl29gI0mCws1!ZS-1xjGhbAIvagQrij^K<LdhsQz;wP!3uNxwE;
zwkt%BB@fZbQJ54v6wyt6O*Vzp_vBi~L;?f`5)<vY#VN5+BU?%<wYkLfo&GKx`lGx`
z8{gy|!d0_zEO8<b<ZuFnyCQZG_(&wU$a6t#lj5x9owfRL0l^ZK$9%R`WF{!Fjv_S!
za~p9PiH+LaVUC`seDvcAf+|mmxQ1X^e=(cuE)ud^fg(qTI3X0tH<6I9k!g`HO|%fS
zk$Bp&x+V!adfj>`?9U6UEqX3}kg&>7V_0TrFw_ZBd4KzE==0Unr}k}YHVFp<z2vk+
zOZS{DnG1{hxpP6kaW?!Ck7ZESU!5J1(<Qgw-k@%;n%c9`RE?t4n5op79`4VMNO9Y}
zab=Zl{Am1acC;47qc}>fEQJLkhE6mY?Hz>E@UnjIUfk`n#U%#*xgl%+b3Erwz0~dR
YAE?6@lTAUlh-dR6FN*)eu#J56FLYab2mk;8

diff --git a/jass_preprocessing/__pycache__/map_gwas.cpython-35.pyc b/jass_preprocessing/__pycache__/map_gwas.cpython-35.pyc
index c7ec3b42eabafcaddf309b681081255d9931337e..33f12606fa632933c72b40bde5f16c076d365a8b 100644
GIT binary patch
delta 1665
zcmZvc&u`pB6vy9qZSStv`y<&jznX?klcw3Cv}yqrqEZ#LASzKn4O}dt#oF;EUN*Kn
zo-`0;wTGaf3JD1ri3=Al9Fb6N@LzDl>Wvd;E+|64cV?F#2OQ7K^UQnCGtZyz{&w+X
zeRZ~4b$(rW`rh|VqMzwMmjV9{M*7+3t6L8laf1d$@`}XAeu=yi@d9y^J|^<Y#4X~s
z_8sB~D`~$%97~S&UE+9jwO{@2%PoW5&wey+XRC!Kn>xK&_}XBXPJgm)8thg!RazTW
z@Ol%Yptf<F5lNyWqGLu3|N7VmQxCjK3qymB81)V67wDL1SkSTX5i3pVTYA}^EMs<P
zk}OhRA3@bLXowh#L`JeqeFrZZsqCRmM@Xyaszo|N4vt~!r6NW1Bvt7DM4}zT5>4KX
zENoSWJ;8=;)gW~33DGCG8TAa+FLdezCp77vdU5$(on56P-M}Mt7&gS)9O~D!t*est
zg?@wNl-|L3aeC6`V`5D0y{W<&(ze?*e<OQT{_1kVuio>e|C;dkg7#Lc8w(MnNgVMo
z+G&aSpcVI8ayQ7<o!z-Jc1<W44$Z4Ohiiw{zU*zjC|LG`^99?>-mZMg*0ZOT6_#dy
zR9+h8#V|?+em8jMmp^f}XL2hMVI*@aO$MP97Aoboj0a&V#jJX;?ngZMFt;E3gZ&`Q
z4H4va8u+5So0~g_VUnA15=41P1U?^x5mtH7jd|eN+kps?Q5eKs&kWPZ&+Y6Rx3ydm
zb13Xpy76FtFY55HE4}j0fuDAI;ULI<cbAu(Fzu+~Nx*Z~%S~0-bGq?<Bs<xa>gs46
z6+~N^n%d;do}YBa_0mofr=bkv=q;?IS74~(ux6po9AlnMGn>_!%ccz%);7*D*It6X
zz#4|b#2rL;RXf$Cn$g0zi;=!Q27Ju)i2cjD)L=t@6Heh6BwkSB1LqN7GXDl1krU>@
z5gs(BOj^_j#x#*A*i&neZizq@s2hhurDJ_UP$OO=b=QeEh))p*R88VD#Lp3*)$?=2
z=ZP;6UnG8>_!998w1b#s;?F2;@s_qL+Fm3HzE`zf)Ao|GVG-OGl@>Mk{qjU4>@HLQ
z5uy@bS9$^Zx+9qVCk7!Z3O9aLE)(BCGOI738m70~?bA1EC+z*h>O+8|xK<y3YfQ0t
z9vy$vYw%zY?sX1!Lkav9v|e#P1zm$Q2R(ZURFUFC=T-!vq+=fNnecNL`JFMaS-H_2
zow3c_;_{;;@T@dSLhc#<b&MOi*%QH|oE_#y8hB=c9Pum)<mLxKkmOb`6sc^xViR-X
zhBD77b6pulhn9$^+3$4I$9Vy&LDnGlWp3``U|u;5<h4$yG~_vaA0q4eGT?1%ECMjC
zMF4)q%c|fjFxj__wJq>4q1Sboqq!{`wozqO_+^k=X6He2nZ3#ytckH$5D$>ku4QM9
tjkQ%(Oto>m?Yi=m>_khMJIXxBZcVK(Dv{e-3`!9AE4VZ6oZECa{{r<KY5V{H

delta 1217
zcmYjQPj4GV6o0epU3>q<_PTN6&=$7|Y27M<OI0;OEwo4oi33t9AuW}x#WN=BuGg!X
zb=o3ZIRph&s0Xwhx%3ktl<&Zm`yRM(f>RG1P%rS_I2Fv!ynXM@oA=(l_nXt*zprk0
zgTTGD_tzI^ZGhk5f5Slj16=Cp`|bUG6L<~20f_3rE#S818^BR)Xx;&i)788S+ym}w
z-uwBdeS<wJ|1|EF>*g+7JA2=JX|Stjzgf2pcBkw%c8+}v)4*j?xN8ic0GKdXFyJ^1
z;5zy$?g=xO1}xA3^>sKwgBJ9bCM*n?AT?2_X`u!a3r+x*miA}E0yXt>C7xT_P&CNX
zF$s7P8<r@eg`<x-P`I!_o&lqT(1Aly(Iu*$W8gOzeh%<0P6lJlN#FbwU}3{Y<k;2G
zJy>8>0$5;5j4e_0bh=3WyX3Ojn*>m-k?Zr_Ch#@jP26ORGVydKlwXSuFjO22+VNKT
z!uheM3OU&CkCRkn@l^C@<9=}{`XhBze&!zTRi+a8Yvxo=77vf&bS{*<gvG9$B;(@g
za5PILmK|QRccoGO>i)nEOYVKgZj`UQD{NYZ{+;8fo@99%kHo`2{=qS5%Px6nND=cP
z2C6KTr%6$n>1-rBv}G5wG*LxmeL_Jhdlk5<&2o{g&ZS8vDl3;sRz&uJkcm)HEm2uq
z*|92~<)Sia%TqI1R(`AF%MElKc^`lN;lVJCzZ9t|U-_F}<V>HvksHC~78^(IXg1G^
zp^i{1?+4rV4LmCM%E!Uw<4=)QJ4nF0VswnaY#N(}&ur#1m#rJVb<tdBmskrWm&to*
zH=^f2!^HJAt_Qf(3nb@Qh5xXMxFv8R3XwtR>i0q~#iqxCsCk6%gr<fHf@0NY#4&FJ
z54FAn`~vWG;9cMwz&GKm5ZiAP^z}r)lN#_I@GSyJv$xtg7`%1%PV<!Aj#^x#$#nSS
zFe!w}sclhxt^{^kRTg1HNh*MDyWAsg8%gQ4NB67RV<Ga&8YfZ}155W=zDFjvh*(G>
zm(Q`=qqq=!V6M7?6;J2WY&ebc@?yAi{R!HsO(YP6%)!rQ^f$4{4hxMfQ&J5Fe))BH
med`*svPpzGEc-;L?(#wTOSsz&k+rcy`ZN3s{)XT2Z~hCsNC4pg

diff --git a/jass_preprocessing/__pycache__/map_reference.cpython-35.pyc b/jass_preprocessing/__pycache__/map_reference.cpython-35.pyc
index e0226d72d0a5b90b2e537f6dd35d4fdb9a64b645..d03d20df9c848f4a7b393963c7ac3aa0c54e76a8 100644
GIT binary patch
delta 1737
zcmZ`(O>7%Q6n?w@iT~{+b&@JlJ0Voqh_p=uDG89~r%e!53L+JeEQQU)Gj=vv?`~(;
zq>)lAm2%*Os=Xjo34xFh9Lb$42M&nqsy75u#gQ8a;Jvk*7z8Wt=b72>eeZj3X7~Gv
zN0rHud_MF0#N(~P2*A(KcO`JVh_`qD;pF0)4g!C15D9n?gIXFy62t&J0H|d^q(G#j
zaTWwlv(Y#Q0)P2voTu=OYT@DM&rGh?<GnOV{LkaPLTSb|03TpagCltO%cV{nj^ePV
zM;MDR4x@VsQWOOcMGz%u#^D1Eif8X3Sp)T`F9huk!hSb!0K^dN11yswPKIGW4$Dzg
zRM&nQ)OUTcDLB$C;zX1fc_+%KcJ~c9iox}*Ww@8<<0s(=eI?=SNj{pN!TCu}S}5Z}
zFYle7U=z)3R7d!%4iKEvW`kezh3A?F+%uGHNG0vMG+b^=i&Z>dRp*(@{axle2V99@
zdZ65Dn3l}2-qqsXzOnxL3ajimj)m;aUFq*i#Sj>+E7>$1n|ZrV+Y)R?GK!FbIf~hi
ze~}5<;BCuirpH#f<((?8nwBpWW$f%6GS)I}v(;`fZduZjtfAzcHhMi|mEGp_9IHEy
z5~j_4Sv~dE4Kdc2R#~NCIowBo|EtqLN1SckddtIN$*7V(H*IFxov4_oCnwt7vJBrb
zs2)}kW}VbIvrNxtPJ?kFOdl)fR<8w-ERiFPx24}!_I#gSgH<qv;2sm)=MBYM5(TM^
z)BoO>1Cw?HpLnjUn++4&iJOAmV%&8toCa@dbDc1Tg@<X=7V@r9cdSrfx?R(6FV*yw
zwVJ-R@`PRkQ-1WVW`4o{)WU@4bLEFIX^Uz))Ljv#l;pywd+&uY%c-k0@>K>QjGLZm
zD~eYG1X+Y?vUaBb7%e|NN43<`LsHB3x=&kDEBv#Ek$f1##jio(M*;r06+G4!f+?L%
zlD;>F0J$-3OiSxidQ!Wr=d=;L^V*`O#*Vl3XJgu6@L}SU35t#+)F_U^Qj5EWW7GNW
zp6us?h2(^G<#;<er(?*csmp5@kywp~i58WhW=P;Aip`jw(XdR{m7=Q{X-Bd{b*JUF
zeQBIhZU%$tGJ4)lZXUm%{zmJ(NE$=jGMl!<PGW#1ThjKc88t{bW(lIczDy%(uDVJv
zPcTRD3PIPNdX>i42o@0{b3N_<HWz%A&5yo|R4<1BsTplXFH-|GwS4?T_P$<<()MKx
zwhAAgBiB#<!mC<V5#a?~2or7Wf>Kw5OmV!kj4Nt^;Is}h8K&?%VVic-3*$6WRpMNr
zCqvhzt7M(iTd~<CsbP9b6^5C2xYd?7lyX$4+in=Mxm`_kD_$bjYY4R={AL(fa`0u5
zW&5@{_^~*y*}-qcOBdFWS1p7Ch9R7~VT8%<TNU{X6L!1h9;%zcwbIng4U%0WprfU(
d5JV+K#gR^5SG)Tjd{#Q2*30K}6S?7B>2LKlxS#+4

delta 923
zcmZ8g&u`N(6t>f5B$>OGcE1Dyt=j~2Y;@33*aX`UTMtNZ0K}y35JibM1tm`8w2YyO
zNr*d|%z*>{0350K8~7i515TWFLxKzVC7U*I<S);D?|uG0IeCBSOLc0rP_P!i{@ffc
zBlI1e7@CS#)l7Exr&gEq=ruxZ6L~uF2GZC<-YMi6X*`HLm9o;9AWtnx8W)hKp+~jC
z{>RBl7ax)XaY4<yKz>_62cf4Jb+rA1x`j~>L&uAzFtw&w$uB%^=kDKWNz-Q@eQvu^
zP|Haz_N2k7<JoTVtW6%Sx9lxHpv(zrO=}Nt?>LFg=@#XbxzvswMgwlDlRh9mq+Y)r
zv7j#tTW?edh%gkO{5T%RCg!F7XMH+{iIB#-DpaQ}yr?2s3Z2-F7;tB-qe7TfJR^E!
zqfe}FShXDt&et!f;#ywnAt>ROfn*N)EkCih0zZzam$9b&Me%@)jonZM3CKZ%4cyR1
zGBwS9k6;bYikCxY_8`lz0Du`j4`2b*0j>dD1!w?d8u$Xlz|C(eNEJANzs>$t0I9MY
zg>kn-Z6)%s<eu8kG#N^hc_eD7KT&+8mD2N194$Vbesg|Swfy*_Mr|Y$I1Su-S9#{V
zF6{Ezy(P87n*hg#K&>=(9L{{Uoya^yyb3kvAX8qWF{iH6@gug870Fx>xv5oYJ#m6A
zUFSUFQe&~qF^ARk%=#j5TvyO8v#0~c#IN$i#s4mL^vHX{;zRQxWu3NIt<-T##FeoE
zXq7tahVd?66K^YXoAB-O6@U`J3_xltHQ0jX@iEy=t37Gl3L~!@&}Ch%67}1m0Zi0W
N#3V;7QY95q`U^=T&3^y@

diff --git a/jass_preprocessing/map_gwas.py b/jass_preprocessing/map_gwas.py
index 0f5c35b..19a0d3c 100644
--- a/jass_preprocessing/map_gwas.py
+++ b/jass_preprocessing/map_gwas.py
@@ -121,7 +121,7 @@ def map_columns_position(gwas_internal_link,  column_dict):
     f.close()
     return mapgw
 
-def read_gwas( gwas_internal_link, column_map):
+def read_gwas( gwas_internal_link, column_map, imputation_treshold=None):
     """
     Read gwas raw data, fetch columns thanks to position stored in
     column_map and rename columns according to column_map.index
@@ -155,6 +155,8 @@ def read_gwas( gwas_internal_link, column_map):
     print(fullGWAS.head())
     fullGWAS.set_index("snpid", inplace=True)
     print(fullGWAS.head())
+    if imputation_treshold:
+        fullGWAS = fullGWAS.loc[fullName.imputation_quality > imputation_treshold]
     fullGWAS = fullGWAS[~fullGWAS.index.duplicated(keep='first')]
     #fullGWAS = convert_missing_values(fullGWAS)
 
-- 
GitLab